I've recently started seeing similar issues on my orange pi 5 plus and have narrowed it down to uboot spl not detecting the sd cards on initial cold boot.
The reason I started noticing this is because I have long overlay path names that are fine with the version of uboot proper that I have on my sd card but does not work with the uboot proper that is on the onboard eeprom.
I only started noticing this when getting a new batch of sd cards.
this is a "good boot"
uboot spl detects the sd card and boots from it:
DDR 9fffbe1e78 cym 24/02/04-10:09:20,fwver: v1.16
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
Manufacturer ID:0xff
CH0 RX Vref:29.3%, TX Vref:21.8%,21.8%
CH1 RX Vref:28.9%, TX Vref:23.8%,22.8%
CH2 RX Vref:30.1%, TX Vref:21.8%,20.8%
CH3 RX Vref:30.5%, TX Vref:21.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-orangepi (Aug 30 2024 - 22:09:16)
Trying to boot from MMC1
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(d37470e935...) + OK
## Checking u-boot 0x00a00000 ... sha256(249bd3a5c2...) + OK
## Checking fdt-1 0x00acd498 ... sha256(537243530a...) + OK
## Checking atf-2 0xff100000 ... sha256(394f39cea2...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 840.114 ms
NOTICE: BL31: v2.12.1(release):
NOTICE: BL31: Built : 00:00:00, Jan 1 1980
At this point uboot proper which lives on my sd card and remaps the debug uart to one of the 40 pin header runs.
in a bad boot I am seeing this:
DDR 9fffbe1e78 cym 24/02/04-10:09:20,fwver: v1.16
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=16 Size=4096MB
Manufacturer ID:0xff
CH0 RX Vref:29.3%, TX Vref:21.8%,21.8%
CH1 RX Vref:29.3%, TX Vref:23.8%,22.8%
CH2 RX Vref:30.5%, TX Vref:21.8%,20.8%
CH3 RX Vref:30.5%, TX Vref:21.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-orangepi (Aug 30 2024 - 22:09:16)
Trying to boot from MMC1
spl: mmc init failed with error: -95
Trying to boot from MMC2
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from MTD2
Trying fit image at 0x400 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(6dbe36e3e6...) + OK
## Checking uboot 0x00200000 ... sha256(152eb1bd26...) + OK
## Checking fdt 0x00325f70 ... sha256(16188a5876...) + OK
## Checking atf-2 0xff100000 ... sha256(40e9180d15...) + OK
## Checking atf-3 0x000f0000 ... sha256(d189664c33...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 2706.733 ms
INFO: Preloader serial: 2
NOTICE: BL31: v2.3():v2.3-754-g371ede2b2:cym, fwver:
NOTICE: BL31: Built : 19:36:27, Apr 22 2024
INFO: spec: 0x1
INFO: code: 0x88
INFO: ext 32k is valid
INFO: ddr: stride-en 4CH
INFO: GICv3 without legacy support detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
INFO: l3 cache partition cfg-0
INFO: system boots from cpu-hwid-0
INFO: bypass memory repair
INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO: dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO: dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO: dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO: dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO: BL31: Initialising Exception Handling Framework
INFO: BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR: Error initializing runtime service opteed_fast
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
here uboot spl does not detect my sd card and continues to boot from uboot proper that lives on the eeprom. it then at that point detects the sd card and boots linux from there.
but as I mentioned above other things fail because my device tree overlay file name lengths. I was able to get around this by sym linking and shortening the dtbs.
either way I suspect that there is an issue with newer versions of sd cards or older versions of uboot spl that these orange pis are being shipped with preventing it from detecting the sd cards.
this is an sd card that works fine:
Card Reader:
Built in SD Card Reader:
Vendor ID: 0x17a0
Device ID: 0x9755
Subsystem Vendor ID: 0x17a0
Subsystem ID: 0x9755
Revision: 0x0002
Link Width: x1
Link Speed: 5.0 GT/s
SDXC Card (Class 10):
Product Name: SDSN128
Manufacturer ID: 0x03
Revision: 8.6
Serial Number: 0x22b7de5b
Manufacturing Date: 2025-04
Specification Version: 3.0
Capacity: 127.87 GB (127,865,454,592 bytes)
Removable Media: Yes
BSD Name: disk4
Partition Map Type: MBR (Master Boot Record)
S.M.A.R.T. status: Verified
Volumes:
FIRMWARE:
Free: 7.3 MB (7,288,832 bytes)
Capacity: 31.5 MB (31,457,280 bytes)
Writable: Yes
File System: MS-DOS FAT16
BSD Name: disk4s1
Mount Point: /Volumes/FIRMWARE
Content: DOS_FAT_32
Volume UUID: 7CB50D4B-9DF9-3646-8316-CB3C06C369BB
disk4s2:
Capacity: 127.82 GB (127,817,220,096 bytes)
BSD Name: disk4s2
Content: Linux
this is an sd card that does not work:
Card Reader:
Built in SD Card Reader:
Vendor ID: 0x17a0
Device ID: 0x9755
Subsystem Vendor ID: 0x17a0
Subsystem ID: 0x9755
Revision: 0x0002
Link Width: x1
Link Speed: 5.0 GT/s
SDXC Card (Class 10):
Product Name: SDSM128
Manufacturer ID: 0x03
Revision: 8.7
Serial Number: 0xb26e2098
Manufacturing Date: 2025-10
Specification Version: 3.0
Capacity: 128 GB (127,999,672,320 bytes)
Removable Media: Yes
BSD Name: disk4
Partition Map Type: MBR (Master Boot Record)
S.M.A.R.T. status: Verified
Volumes:
FIRMWARE:
Free: 7.3 MB (7,288,832 bytes)
Capacity: 31.5 MB (31,457,280 bytes)
Writable: Yes
File System: MS-DOS FAT16
BSD Name: disk4s1
Mount Point: /Volumes/FIRMWARE
Content: DOS_FAT_32
Volume UUID: 7CB50D4B-9DF9-3646-8316-CB3C06C369BB
disk4s2:
Capacity: 127.95 GB (127,951,437,824 bytes)
BSD Name: disk4s2
Content: Linux
take note here of the difference in product name and revision.