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

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 07 May 2024 19:51:31 UTC
On May 7, 2024, at 11:58, Mike Karels <mike@karels.net> wrote:

> On 7 May 2024, at 13:17, HP van Braam wrote:
> > I'll note that my testing that Mike mentioned was without any USB devices
> > being plugged into any USB port: Just Serial console, Ethernet connection,
> > power supply, and the fan's power-pin connections. Nothing else connected.
> 
> Thanks for confirming! It just *looks* like the bug I'm chasing then!
> 
> > Only the old 4 GiByte Rev 1.1 RPi4B's failed to boot 14.1.
> 
> I'll test this locally as well, I think I still have one kicking around.
> 
> One thing I'd like you to check is to see if the "mmc" overlay is enabled in
> config.txt. If it is can you try commenting it out? If that does work problems
> are probably related after all.
> 
> 
> I also tried commenting out the mmc overlay, with the same result as Mark.
> Two other tests: I added 15-current and 14.0 kernels to the BETA1 image, and 
> booted each of them. Both worked. So the difference must be in the kernel.

boot -v extractions for the 4 GiByte Rev 1.1 RPi4B:

Processing 1 pin-config node(s) in pinctrl-0 for mmcnr@7e300000
. . .
simplebus0: <mmc@7e202000> mem 0x7e202000-0x7e2020ff irq 17 disabled compat brcm,bcm2835-sdhost (no driver attached)
. . .
simplebus0: <mmc@7e300000> mem 0x7e300000-0x7e3000ff irq 24 disabled compat brcm,bcm2835-mmc (no driver attached)
. . .
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x7e300000-0x7e3000ff irq 73 on simplebus0
sdhci_bcm0: SDHCI frequency: 250MHz
sdhci_bcm0-slot0: 250MHz HS 4bits VDD: 3.3V VCCQ: 3.3V DRV: B PIO removable
sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version:  0x00009902
sdhci_bcm0-slot0: Blk size: 0x00000000 | Blk cnt:  0x00000000
sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_bcm0-slot0: Present:  0x01ff0000 | Host ctl: 0x00000000
sdhci_bcm0-slot0: Power:    0x0000000f | Blk gap:  0x00000000
sdhci_bcm0-slot0: Wake-up:  0x00000000 | Clock:    0x00003947
sdhci_bcm0-slot0: Timeout:  0x00000000 | Int stat: 0x00000000
sdhci_bcm0-slot0: Int enab: 0x027f003b | Sig enab: 0x00000000
sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
sdhci_bcm0-slot0: Caps:     0x00000000 | Caps2:    0x00000000
sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
sdhci_bcm0-slot0: ===========================================
sdhci_bcm0-slot0: Card inserted
mmc0: <MMC/SD bus> on sdhci_bcm0
. . .
sdhci_bcm1: <Broadcom 2708 SDHCI controller> mem 0x7e340000-0x7e3400ff irq 79 on simplebus1
sdhci_bcm1: SDHCI frequency: 100MHz
sdhci_bcm1-slot0: 100MHz HS 8bits VDD: 3.3V 1.8V VCCQ: 3.3V DRV: BC PIO embedded
sdhci_bcm1-slot0: ============== REGISTER DUMP ==============
sdhci_bcm1-slot0: Sys addr: 0xf811e600 | Version:  0x00001002
sdhci_bcm1-slot0: Blk size: 0x00007200 | Blk cnt:  0x00000000
sdhci_bcm1-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_bcm1-slot0: Present:  0x1fff0000 | Host ctl: 0x00000002
sdhci_bcm1-slot0: Power:    0x0000000f | Blk gap:  0x00000080
sdhci_bcm1-slot0: Wake-up:  0x00000000 | Clock:    0x00000107
sdhci_bcm1-slot0: Timeout:  0x0000000e | Int stat: 0x00000003
sdhci_bcm1-slot0: Int enab: 0x027f003b | Sig enab: 0x00000000
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: ===========================================
sdhci_bcm1: vqmmc-supply regulator found
sdhci_bcm1-slot0: Card inserted
mmc1: <MMC/SD bus> on sdhci_bcm1
. . .
sdhci_bcm0-slot0: Divider 313 for freq 399361 (base 250000000)
mmc0: Probing bus
. . .
sdhci_bcm0-slot0: Divider 313 for freq 399361 (base 250000000)
mmc0: Probing bus
usbus0: 5.0Gbps Super Speed USB v3.0
mmc0: SD probe: failed
mmc0: MMC probe: failed
mmc0: Current OCR: 0x00000000
mmc0: No compatible cards found on bus
sdhci_bcm1-slot0: Divider 125 for freq 400000 (base 100000000)
mmc1: Probing bus
ugen0.1: <(0x1106) XHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <(0x1106) XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
mmc1: SD 2.0 interface conditions: OK
mmc1: SD probe: OK (OCR: 0x40ff8000)
mmc1: Current OCR: 0x00ff8000
mmc1: Probing cards
mmc1: New card detected (CID 03534453453332478080fba7d2011700)
mmc1: New card detected (CSD 400e00325b590000edc87f800a404000)
mmc1: Card at relative address 0xe624 added:
mmc1:  card: SDHC SE32G 8.0 SN 80FBA7D2 MFG 07/2017 by 3 SD
mmc1:  quirks: 0
mmc1:  bus: 4bit, 50MHz (high speed timing)
mmc1:  memory: 62333952 blocks, erase sector 8192 blocks
mmc1: setting transfer rate to 50.000MHz (high speed timing)
sdhci_bcm1-slot0: Divider 1 for freq 50000000 (base 100000000)
mmcsd0: 32GB <SDHC SE32G 8.0 SN 80FBA7D2 MFG 07/2017 by 3 SD> at mmc1 50.0MHz/4bit/65535-block
GEOM: new disk mmcsd0
mmc1: setting bus width to 4 bits high speed timing
. . .
Release APs...done
TCP_ratelimit: Is now initialized
regulator: shutting down unused regulators
regulator: shutting down cam-dummy-reg... ok
uhub0: 5 ports with 4 removable, self powered
ugen0.2: <vendor 0x2109 USB2.0 Hub> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x2109 USB2.0 Hub, class 9/0, rev 2.10/4.21, addr 1> on usbus0
uhub1: 4 ports with 4 removable, self powered
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: 0x03b723ff | 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: 0x00000000
sdhci_bcm1-slot0: Int enab: 0x01ff003b | Sig enab: 0x01ff0009
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
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: 0x03b723ff | 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
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:  0x00000004
sdhci_bcm1-slot0: Argument: 0x03b723c1 | Trn mode: 0x00000036
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
mmcsd0: Error indicated: 1 Timeout
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.

Loader variables:
  vfs.root.mountfrom=ufs:/dev/ufs/rootfs
  vfs.root.mountfrom.options=rw

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:zroot/ROOT/default
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot> 




I wonder about unintended consequence related to the
notices:

regulator: shutting down unused regulators
regulator: shutting down cam-dummy-reg... ok

Also I wonder about use of uninitialized memory that might be
sensitive to very detailed build differences for what is seen
for the uninitialized value(s).

Not that I have any specific evidence of either.


===
Mark Millard
marklmi at yahoo.com