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

From: Mike Karels <mike_at_karels.net>
Date: Tue, 07 May 2024 17:16:17 UTC
On 7 May 2024, at 11:57, Emmanuel Vadot wrote:

>  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 ?

Sorry, I forgot to mention it, but I took the whole boot partition from last
week's main snapshot and put it on 14.1-BETA1.  Somewhat to my surprise, it
failed in the same way.  Is it worth swapping just u-boot?

		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>