regression on Odroid U2: can't read from SD card

Joost van Zwieten joost at diskos.nl
Mon Jan 9 13:02:52 CET 2023


Dear maintainers,

As of commit 4a3ea75de4c5b3053eac326bf1c753ed65df8cb9 (somewhere 
between v2021.07 and v2021.10) U-Boot on my Odroid U2 can't read files 
from an SD card (despite being loaded from the SD card itself). During 
initialization loading the environment from the SD card fails (NOTE: 
the environment is zeroed):

    U-Boot 2021.10-rc3-00055-g4a3ea75de4 (Jan 09 2023 - 10:29:52 +0100)

    CPU: Exynos4412 @ 1 GHz
    Model: Odroid based on Exynos4412
    Type: u3
    DRAM: 2 GiB
    LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
    LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
    LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
    MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
    Loading Environment from MMC... sdhci_send_command: Timeout for 
status update!
    mmc fail to send stop cmd
    *** Warning - !read failed, using default environment

    Boot device: MMC(2)
    Net: No ethernet found.
    Hit any key to stop autoboot: 0

In the U-Boot shell, running `ls mmc` and `load mmc` fails:

    Odroid # mmc list
    SAMSUNG SDHCI: 2 (SD)
    EXYNOS DWMMC: 0
    Odroid # ls mmc 2:1 /boot
    sdhci_send_command: Timeout for status update!
    mmc fail to send stop cmd
     ** fs_devread read error - block
    Failed to mount ext2 filesystem...
    ** Unrecognized filesystem type **
    Odroid # load mmc 2:1 0x41000000 /boot/vmlinuz-5.10.0-20-armmp
    sdhci_send_command: Timeout for status update!
    mmc fail to send stop cmd
     ** fs_devread read error - block
    Failed to mount ext2 filesystem...
    ** Unrecognized filesystem type **
    Can't set block device

For reference, running the same commands using the parent of commit 
4a3ea75d gives

    U-Boot 2021.10-rc3-00054-g4412fd8ba2 (Jan 09 2023 - 12:22:54 +0100)

    CPU: Exynos4412 @ 1 GHz
    Model: Odroid based on Exynos4412
    Type: u3
    DRAM: 2 GiB
    LDO20 at VDDQ_EMMC_1.8V: set 1800000 uV; enabling
    LDO22 at VDDQ_EMMC_2.8V: set 2800000 uV; enabling
    LDO21 at TFLASH_2.8V: set 2800000 uV; enabling
    MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
    Loading Environment from MMC... *** Warning - bad CRC, using 
default environment

    Boot device: MMC(2)
    Net: No ethernet found.
    Hit any key to stop autoboot: 0
    Odroid # mmc list
    SAMSUNG SDHCI: 2 (SD)
    EXYNOS DWMMC: 0
    Odroid # ls mmc 2:1 /boot
    <DIR> 4096 .
    <DIR> 4096 ..
              250461 config-5.10.0-20-armmp
             4973056 vmlinuz-5.10.0-20-armmp
    <DIR> 4096 dtbs
                  83 System.map-5.10.0-20-armmp
            22231585 initrd.img-5.10.0-20-armmp
    <SYM> 46 dtb-5.10.0-20-armmp
    <SYM> 46 dtb
                3491 boot.scr
    Odroid # load mmc 2:1 0x41000000 /boot/vmlinuz-5.10.0-20-armmp
    4973056 bytes read in 181 ms (26.2 MiB/s)

I'm building U-Boot using the default config for board `odroid` and 
boot the Odroid from an SD card with firmware (`bl1`, `bl2` and `tzsw`) 
from Hardkernel's clone of the u-boot repository [1]. There are no 
peripherals connected apart from the SD card and the serial console. 
Please let me know if you need more information.

Best, Joost

[1]: 
https://github.com/hardkernel/u-boot/tree/33e05ffb159141b640571e91470172d83a2a1273/sd_fuse




More information about the U-Boot mailing list