Re: SD card timeouts on older Raspberry Pi 4 models on 14.1-BETA

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Tue, 07 May 2024 16:57:46 UTC
 Hi Mike,

On Tue, 07 May 2024 11:50:38 -0500
Mike Karels <mike@karels.net> wrote:

> I tried to install 14.1-BETA1 on one of the first-generation Raspberry Pi 4
> systems.  The kernel loads and starts, but is unable to mount the root file
> system due to timeout errors like this:
> 
> sdhci_bcm1-slot0: Controller timeout
> [register dump]
> mmcsd0: Error indicated: 1 Timeout
> [several timeouts later]
> Mounting from ufs:/dev/ufs/rootfs failed with error 19.
> 
> Mark Millard also saw the error on a similar-vintage RPi4, but not on a newer
> model (C0T).  The EEPROM had been updated on his older RPi4 recently; my
> EEPROM was updated a year or so ago.  My RPi3 boots also; it seems to use
> the same driver for the sdhci.   I have used the same SD card for both BETA1
> and a recent snapshot of -current, with only BETA1 failing.  If I recall
> correctly, 14.0 worked on the SD card too.
> 
> I tested several recent snapshots of -current, and they seemed to work without
> problems.  I haven't noticed relevant differences between 14.1 and -current,
> e.g. the sdhci controller driver, but something must be different.  Anyone have
> an idea, or suggestion on where to look?  It would be nice to resolve this
> before 14.1-RELEASE.

 I don't think that kernel itself have some major diff in this area, so
it might be u-boot ? But iirc both main and 2024Q2 have the same u-boot
version, can you try swapping u-boot from a main image on the 14.1 just
to be sure ?

 Cheers,

> 		Mike
> 
> Excerpts from the boot log:
> 
> sdhci_bcm1: <Broadcom 2708 SDHCI controller> mem 0x7e340000-0x7e3400ff irq 79 on simplebus1
> mmc1: <MMC/SD bus> on sdhci_bcm1
> ...
> mmcsd0: 63GB <SDHC ASTC 0.0 SN 000002D9 MFG 09/2022 by 159 TI> at mmc1 50.0MHz/4bit/65535-block
> ...
> sdhci_bcm1-slot0: Controller timeout
> sdhci_bcm1-slot0: ============== REGISTER DUMP ==============
> sdhci_bcm1-slot0: Sys addr: 0x000000c8 | Version:  0x00001002
> sdhci_bcm1-slot0: Blk size: 0x00000200 | Blk cnt:  0x00000001
> sdhci_bcm1-slot0: Argument: 0x0747afff | Trn mode: 0x00000012
> sdhci_bcm1-slot0: Present:  0x1fff0a06 | Host ctl: 0x00000007
> sdhci_bcm1-slot0: Power:    0x0000000f | Blk gap:  0x00000080
> sdhci_bcm1-slot0: Wake-up:  0x00000000 | Clock:    0x00000107
> sdhci_bcm1-slot0: Timeout:  0x00000003 | Int stat: 0x00000021
> sdhci_bcm1-slot0: Int enab: 0x01ff003b | Sig enab: 0x01ff0008
> sdhci_bcm1-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
> sdhci_bcm1-slot0: Caps:     0x45ee6432 | Caps2:    0x0000a525
> sdhci_bcm1-slot0: Max curr: 0x00080008 | ADMA err: 0x00000000
> sdhci_bcm1-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
> sdhci_bcm1-slot0: ===========================================
> mmcsd0: Error indicated: 1 Timeout
> ...
> mmcsd0: Error indicated: 1 Timeout
> mountroot: waiting for device /dev/ufs/rootfs...
> Mounting from ufs:/dev/ufs/rootfs failed with error 19.
> 
> 
> 


-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>