[PINE64] mmcsd0: aw_mmc0: Error indicated

Mark Millard marklmi26-fbsd at yahoo.com
Sun Aug 19 13:25:25 UTC 2018


On 2018-Aug-19, at 5:15 AM, O. Hartmann <ohartmann at walstatt.org> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> Running 12-CURRENT for a while now on a PINE64+, 2GB RAM from SD, I face since months
> those errors regarding the aw_mmc controller:
> 
> [...]
> 
> aw_mmc0: controller timeout
> aw_mmc0: timeout updating clock
> mmcsd0: Error indicated: 1 Timeout
> g_vfs_done():ufs/rootfs[WRITE(offset=3281551360, length=4096)]error = 5
> aw_mmc0: controller timeout
> aw_mmc0: timeout updating clock
> mmcsd0: Error indicated: 1 Timeout
> g_vfs_done():ufs/rootfs[WRITE(offset=3282788352, length=4096)]error = 5
> aw_mmc0: controller timeout
> aw_mmc0: timeout updating clock
> mmcsd0: Error indicated: 1 Timeout
> g_vfs_done():ufs/rootfs[WRITE(offset=3283681280, length=32768)]error = 5
> 
> [...]
> 
> ... and a while, the system ic completely stuck and needs hard reset.
> 
> I can remember this error since I played around with 12-CURRENT on the PINE64 and that is
> on various revisions since December 2017.
> 
> Is this related to some known issues or could this be related to my hardware?
> 
> System is:
> 
> FreeBSD 12.0-CURRENT #13 r336753: Fri Jul 27 06:02:30 CEST 2018 arm64
> 
> I have a custom-built kernel with some add-ons like IPFW.
> 

[These notes are based on a normal sdcard, not my historical
e.MCC on an adapter. The e.MMC context no longer directly
boots.]

I've been running head -r337400 with then-modern:

A) /boot/efi/dtb/
   (/boot/efi being a mount of the msdosfs,
    dtb/ being copy of target media's UFS /boot/dtb/ )
B) /boot/efi/EFI/BOOT/bootaa64.efi
   (copy of . . ./stand/efi/loader/loader.efi from the build tree)
and with -r476715 /usr/port 's:
C) sysutils/u-boot-pine64
  (via /usr/local/share/u-boot/u-boot-pine64/u-boot-sunxi-with-spl.bin dd'd)

My boot sdcard has a full installworld installkernel but I normally have
its /etc/fstab edited to redirect the root file system (and swap partition)
to a USB drive.

But I've had no operational troubles so far when booted to the sdcard (via
an edit if its /etc.fstab file to self-reference the root file system).

For reference:

mmcsd0: 32GB <SDHC SE32G 8.0 SN <replaced> MFG 07/2017 by 3 SD> at mmc0 50.0MHz/4bit/32768-block

The kernel is from:

# more /usr/src/sys/arm64/conf/GENERIC-NODBG 
#
# GENERIC -- Custom configuration for the arm64/aarch64
#

include "GENERIC"

ident   GENERIC-NODBG

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         ALT_BREAK_TO_DEBUGGER

options         KDB                     # Enable kernel debugger support

# For minimum debugger support (stable branch) use:
#options        KDB_TRACE               # Print a stack trace for a panic
options         DDB                     # Enable the kernel debugger

# Extra stuff:
#options        VERBOSE_SYSINIT         # Enable verbose sysinit messages
#options        BOOTVERBOSE=1
#options        BOOTHOWTO=RB_VERBOSE
#options        KTR
#options        KTR_MASK=KTR_TRAP
##options       KTR_CPUMASK=0xF
#options        KTR_VERBOSE

# Disable any extra checking for. . .
nooptions       DEADLKRES               # Enable the deadlock resolver
nooptions       INVARIANTS              # Enable calls of extra sanity checking
nooptions       INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
nooptions       WITNESS                 # Enable checks to detect deadlocks and cycles
nooptions       WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
nooptions       DIAGNOSTIC
nooptions       MALLOC_DEBUG_MAXZONES   # Separate malloc(9) zones
nooptions       BUF_TRACKING
nooptions       FULL_BUF_TRACKING



Notes:

I do get the two messages during boot:

mmc0: ACMD42 failed, RESULT: 4
mmc0: Card at relative address 43690 failed to set bus width

but things seem to be operating fine.

Because of my use of WITHOUT_BINTUTILS for buildworld buildkernel
I added:

BUILD_DEPENDS+=	objdump:devel/binutils

to:

/usr/ports/sysutils/u-boot-master/Makefile

in order for sysutils/u-boot-pine64 to build under
poudriere-devel .


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list