Date: Wed, 29 Jun 2022 02:06:14 -0700 From: Bradley Proffit <bproffit@amaranth.digital> To: freebsd-arm@freebsd.org Subject: U-Boot fails to load from SD when a USB dual HDD device is attached Message-ID: <12609da5-c560-f336-762f-32fc5fa71d48@amaranth.digital>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------c268bajFDQH6Lt4n6MzfzKaV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 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> Thanks! Bradley --------------c268bajFDQH6Lt4n6MzfzKaV Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <p>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:</p> <ol> <li>the device is not attached;</li> <li>the device is attached but only has one hard drive in it, presenting one USB storage device to U-Boot;</li> <li>when the device with one hard drive in it, and another USB storage device, such as a flash drive, are plugged in.</li> </ol> <p>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.</p> <p>I've included what errors I collected through the serial interface.<br> </p> <blockquote> <p><br> </p> <p>U-Boot 2021.07 (May 12 2022 - 07:00:33 +0000)<br> <br> DRAM: 3.9 GiB<br> RPI 4 Model B (0xc03112)<br> MMC:  mmc@7e300000: 3, emmc2@7e340000: 0<br> Loading Environment from FAT... In:   serial<br> Out:  vidconsole<br> Err:  vidconsole<br> Net:  eth0: ethernet@7d580000<br> PCIe BRCM: link up, 5.0 Gbps x1 (SSC)<br> starting USB...<br> Bus xhci_pci: Register 5000420 NbrPorts 5<br> Starting the controller<br> USB XHCI 1.00<br> scanning bus xhci_pci for devices... 3 USB Device(s) found<br>       scanning usb for storage devices... 2 Storage Device(s) found<br> Hit any key to stop autoboot: 0 <br> U-Boot> boot<br> switch to partitions #0, OK<br> mmc0 is current device<br> Scanning mmc 0:1...<br> libfdt fdt_check_header(): FDT_ERR_BADMAGIC<br> Scanning disk <a class="moz-txt-link-abbreviated" href="mailto:mmc@7e300000.blk">mmc@7e300000.blk</a>...<br> Disk <a class="moz-txt-link-abbreviated" href="mailto:mmc@7e300000.blk">mmc@7e300000.blk</a> not ready<br> Scanning disk <a class="moz-txt-link-abbreviated" href="mailto:emmc2@7e340000.blk">emmc2@7e340000.blk</a>...<br> ** Unrecognized filesystem type **<br> <br> ...<br> <br> run bootcmd<br> switch to partitions #0, OK<br> mmc0 is current device<br> Couldn't find partition dhcp 0:1<br> MMC Device 1 not found<br> no mmc device at slot 1<br> MMC Device 2 not found<br> no mmc device at slot 2<br> <br> Device 0: Vendor: ASMT    Rev: 0   Prod: ASM1156-PM     <br>            Type: Hard Disk<br>            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)<br> ... is now current device<br> Couldn't find partition dhcp 0:1<br> BOOTP broadcast 1<br> BOOTP broadcast 2<br> DHCP client bound to address 192.168.1.33 (1246 ms)<br> *** ERROR: `serverip' not set<br> Cannot autoload with TFTPGET<br> missing environment variable: pxeuuid<br> Retrieving file: pxelinux.cfg/01-dc-a6-32-90-1f-1e<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A80121<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A8012<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A801<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A80<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A8<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0A<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C0<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/C<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/default-arm-bcm283x-rpi<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/default-arm-bcm283x<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/default-arm<br> *** ERROR: `serverip' not set<br> Retrieving file: pxelinux.cfg/default<br> *** ERROR: `serverip' not set<br> Config file not found<br> BOOTP broadcast 1<br> BOOTP broadcast 2<br> DHCP client bound to address 192.168.1.33 (907 ms)<br> *** ERROR: `serverip' not set<br> Cannot autoload with TFTPGET<br> BOOTP broadcast 1<br> BOOTP broadcast 2<br> DHCP client bound to address 192.168.1.33 (1312 ms)<br> *** ERROR: `serverip' not set<br> Cannot autoload with TFTPGET<br> U-Boot> </p> <p><br> </p> </blockquote> <p>Thanks!<br> </p> <p>Bradley<br> </p> </body> </html> --------------c268bajFDQH6Lt4n6MzfzKaV--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?12609da5-c560-f336-762f-32fc5fa71d48>