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

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>

On 2022-Jun-29, at 02:06, Bradley Proffit <[email protected]> wrote:

> 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:
> 
> 	• the device is not attached;
> 	• the device is attached but only has one hard drive in it, presenting one USB storage device to U-Boot;
> 	• 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> 
> 

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256441

The problem is not limited or specific to FreeBSD's use of
U-Boot. For example, demonstrated with Fedora 33 and some
openbsd version as well. The problem is not new.

===
Mark Millard
marklmi at yahoo.com
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.