[Bug 1891817] Re: Raspberry Pi: u-boot hangs when (non-boot-related) USB disks are attached during boot
Markus Dobel
1891817 at bugs.launchpad.net
Tue May 18 18:53:16 UTC 2021
Thanks for the update. This hint (about dropping U-Boot) is actually
something I found elsewhere as well, and I can confirm that it works.
And if that's the way how the problem goes away for Ubuntu installs, I
would not even call it "won't fix". I don't need U-Boot, I just need a
system that boots reliably :)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to u-boot in Ubuntu.
https://bugs.launchpad.net/bugs/1891817
Title:
Raspberry Pi: u-boot hangs when (non-boot-related) USB disks are
attached during boot
Status in u-boot package in Ubuntu:
Won't Fix
Bug description:
I set up Ubuntu 20.04.1 (64bit) on a Raspberry PI 3B (not 3+).
While having the complete OS on a SD card, I have two hard disks attached via USB. These disks are not bootable, and not required for booting, but somehow u-boot struggles to ignore them.
On first boot (powering disks and pi simultaneously), u-boot fails to
detect the disks in the first place, and boots straight from SD-card.
When re-booting, and the disks are still powered, u-boot detects the
disks and hangs directly after printing the following:
```
Bus usb at 7e980000: scanning bus usb at 7e980000 for devices... 5 USB Device(s) found
scanning usb for storage devices... 2 Storage Device(s) found
```
Sometimes it continues to boot from SD card after waiting for a long
time (multiple minutes), in these cases it prints (among other
messages that pass too fast to record)
```
*** Bad device size - usb 0 ***
```
before continuing to boot from SD. But often it does not, but hangs
forever after device detection. The only way to revive the system, is
to switch off power from both PI and disks and switch it back on.
While it "hangs", the activity LED of disk 1 flashes rapidly.
I can also reproduce this on first boot already by adding e.g.
```
boot_delay=10
```
to userfg.txt. This gives the USB disks enough time to initialize, so
u-boot detects them on first boot as well (and then fails to boot).
Once booted, the kernel has no issues identifying and using the disks
-- when the system is up, it runs stable, even under load, so I would
rule out defective hardware or bad power.
### System info
- Raspberry PI 3 (not 3+)
- All updates applied using `apt-get full-upgrade`, otherwise fresh install
- 2 WD RED disks in a USB dock (this one: https://www.amazon.de/gp/product/B075TZJMWW)
- Raspberry Pi powered using the front 2A USB PD port of the dock, so I can switch them on together
- The 2 disks are concatenated using LVM, having one VG with encrypted volumes (for data and swap) inside, so I would not expect u-boot to find anything useful on them.
Output from (possibly) relevant commands:
```
$ lsb_release -rd
Description: Ubuntu 20.04.1 LTS
Release: 20.04
```
```
$ lsusb -tv
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M
ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
|__ Port 3: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
ID 05e3:0610 Genesys Logic, Inc. 4-port hub
|__ Port 1: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M
ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
```
```
$ lsblk # without snap loop devices
sda 8:0 0 3.7T 0 disk
├─backup-backup 253:0 0 8.2T 0 lvm
│ └─backup-crypt 253:3 0 8.2T 0 crypt /mnt/backup
└─backup-swap 253:1 0 2G 0 lvm
└─swap-crypt 253:2 0 2G 0 crypt [SWAP]
sdb 8:16 0 4.6T 0 disk
├─backup-backup 253:0 0 8.2T 0 lvm
│ └─backup-crypt 253:3 0 8.2T 0 crypt /mnt/backup
└─backup-swap 253:1 0 2G 0 lvm
└─swap-crypt 253:2 0 2G 0 crypt [SWAP]
mmcblk0 179:0 0 7.4G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 7.2G 0 part /
```
### How to reproduce
Unclear. Since I do not want to delete the data on the disks, and do
not have other "free" disks at hand, I have little opportunity to
experiment. It might be the USB to SATA controller chipset, LVM or the
LUKS encrypted LVs that make u-boot fail, or something else.
### Expected behaviour
I expect u-boot to fail fast on unpartitioned/encrypted/otherwise
unreadable USB storage, and try the other boot sources immediately
(and reliably).
Guidance on how to make u-boot ignore any USB storage (as a
workaround) would also be helpful.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1891817/+subscriptions
More information about the foundations-bugs
mailing list