Re: U-Boot fails to load from SD when a USB dual HDD device is attached
Date: Wed, 29 Jun 2022 14:09:34 UTC
On 2022-Jun-29, at 02:06, Bradley Proffit <bproffit@amaranth.digital> 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 mmc@7e300000.blk... > Disk mmc@7e300000.blk not ready > Scanning disk emmc2@7e340000.blk... > ** 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