U-Boot fails to load from SD when a USB dual HDD device is attached

Bradley Proffit <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
I'm running FreeBSD 13.1 on the Raspberry Pi 4B, with a new dual 
SATA-to-USB hard drive docking station, and I've noticed a peculiar 
situation: U-Boot fails to load FreeBSD from the SD card when the 
docking station is plugged in and has two hard drives in it (presenting 
two USB storage devices to U-Boot), but still succeeds when:

 1. the device is not attached;
 2. the device is attached but only has one hard drive in it, presenting
    one USB storage device to U-Boot;
 3. when the device with one hard drive in it, and another USB storage
    device, such as a flash drive, are plugged in.

Any clue what might be causing this problem? I wonder if this might be 
an issue with voltage sag/over-voltage on the USB interface causing the 
SD card not to select, or something similar, although the docking 
station has its own power supply and so should not be drawing a 
substantial current from the pi.

I've included what errors I collected through the serial interface.


    U-Boot 2021.07 (May 12 2022 - 07:00:33 +0000)

    DRAM:  3.9 GiB
    RPI 4 Model B (0xc03112)
    MMC:   mmc@7e300000: 3, emmc2@7e340000: 0
    Loading Environment from FAT... In:    serial
    Out:   vidconsole
    Err:   vidconsole
    Net:   eth0: ethernet@7d580000
    PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
    starting USB...
    Bus xhci_pci: Register 5000420 NbrPorts 5
    Starting the controller
    USB XHCI 1.00
    scanning bus xhci_pci for devices... 3 USB Device(s) found
            scanning usb for storage devices... 2 Storage Device(s) found
    Hit any key to stop autoboot:  0
    U-Boot> boot
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    Scanning disk [email protected]...
    Disk [email protected] not ready
    Scanning disk [email protected]...
    ** Unrecognized filesystem type **

    ...

    run bootcmd
    switch to partitions #0, OK
    mmc0 is current device
    Couldn't find partition dhcp 0:1
    MMC Device 1 not found
    no mmc device at slot 1
    MMC Device 2 not found
    no mmc device at slot 2

    Device 0: Vendor: ASMT     Rev: 0    Prod: ASM1156-PM
                 Type: Hard Disk
                 Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)
    ... is now current device
    Couldn't find partition dhcp 0:1
    BOOTP broadcast 1
    BOOTP broadcast 2
    DHCP client bound to address 192.168.1.33 (1246 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET
    missing environment variable: pxeuuid
    Retrieving file: pxelinux.cfg/01-dc-a6-32-90-1f-1e
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A80121
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A8012
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A801
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A80
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A8
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0A
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C0
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/C
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm-bcm283x-rpi
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm-bcm283x
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default-arm
    *** ERROR: `serverip' not set
    Retrieving file: pxelinux.cfg/default
    *** ERROR: `serverip' not set
    Config file not found
    BOOTP broadcast 1
    BOOTP broadcast 2
    DHCP client bound to address 192.168.1.33 (907 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET
    BOOTP broadcast 1
    BOOTP broadcast 2
    DHCP client bound to address 192.168.1.33 (1312 ms)
    *** ERROR: `serverip' not set
    Cannot autoload with TFTPGET
    U-Boot>


Thanks!

Bradley
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.