Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jun 2022 07:09:34 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Bradley Proffit <bproffit@amaranth.digital>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: U-Boot fails to load from SD when a USB dual HDD device is attached
Message-ID:  <CE9BEAB7-4BD0-4F41-8FF5-C8171B414A13@yahoo.com>
In-Reply-To: <12609da5-c560-f336-762f-32fc5fa71d48@amaranth.digital>
References:  <12609da5-c560-f336-762f-32fc5fa71d48@amaranth.digital>

next in thread | previous in thread | raw e-mail | index | archive | help


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:
>=20
> 	=E2=80=A2 the device is not attached;
> 	=E2=80=A2 the device is attached but only has one hard drive in =
it, presenting one USB storage device to U-Boot;
> 	=E2=80=A2 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.
>=20
> I've included what errors I collected through the serial interface.
>=20
>=20
>=20
> U-Boot 2021.07 (May 12 2022 - 07:00:33 +0000)
>=20
> 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=20
> 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 **
>=20
> ...
>=20
> 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
>=20
> Device 0: Vendor: ASMT     Rev: 0    Prod: ASM1156-PM     =20
>             Type: Hard Disk
>             Capacity: 305245.3 MB =3D 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>=20
>=20

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

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.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CE9BEAB7-4BD0-4F41-8FF5-C8171B414A13>