operating-system: USB attached NVMe boot fails on RPi4
HassOS release with the issue: 5.0
Description of problem: Boot from USB 3.1 Gen 1 attached NVMe device fails (ICY BOX enclosure).
Most of the time it seems that the RPi 4 boot loader is not even able to load U-Boot from the USB drive. By replugging the device I was able to get into U-Boot, but then U-Boot failed to enumerate the device as a storage device:
U-Boo 2020.07 (Jul 25 2020 - 06:55:15 +0000)
DRAM: 1.9 GiB
RPI 4 Model B (0xb03112)
MMC: mmcnr@7e300000: 1, emmc2@7e340000: 0
In: serial
Out: serial
Err: serial
Net: eth0: genet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
startig USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devces... Device NOT ready
Request Sense returned 02 04 01
4 USB Device(s) found
scanning usb for storage devices... 0 Sorage Device(s) found
Card did not respond to voltage select!
Card did not respond to voltage select!
genet@7d580000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
...
Manually starting the reenumeration process did help in that case:
usb reset
...
run bootcmd
The device enumerates with PID/VID 0x152d/0x0580
[304049.433123] usb 4-1: USB disconnect, device number 4
[304051.116509] usb 4-1: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[304051.134414] usb 4-1: New USB device found, idVendor=152d, idProduct=0580, bcdDevice=31.03
[304051.134418] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[304051.134420] usb 4-1: Product: USB 3.1 Storage Device
[304051.134421] usb 4-1: Manufacturer: JMicron
RPi 4 bootloader version:
pi@raspberrypi:~$ sudo rpi-eeprom-update
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTLOADER: up-to-date
CURRENT: Mon 15 Jun 13:36:19 UTC 2020 (1592228179)
LATEST: Thu 16 Apr 17:11:26 UTC 2020 (1587057086)
FW DIR: /lib/firmware/raspberrypi/bootloader/critical
VL805: up-to-date
CURRENT: 000137ad
LATEST: 000137ad
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 22 (8 by maintainers)
I’m experiencing the same problem as @jumperalex. I have a Raspberry PI4 4GB, with a Kingston A2000 NVME and a NVME-to-USB3 adapter based on the JMicron JMS583 chipset connected to the USB3 (blue) port of my RPI4. I followed the How to Boot Raspberry Pi 4 From a USB SSD or Flash Drive to update my PI to the latest bootloader and tested booting from SSD with Raspbian Lite. After that I used BalenaEtcher to write
hassos_rpi4-64-5.1.img
to the SSD. During the power-up of the PI, the initial ‘bios’ from the PI is briefly visible, but after that the screen goes blank and there is no more activity on the SSD. I’ve tried waiting more then an hour, I’ve tried using the olderhassos_rpi4-64-5.0.img
image, but it won’t boot. The only thing that does work is moving the adapter to the USB2 ports of my PI4, after that everything works fine.I would love to help and diagnose this error, but I have no Linux experience and can’t seem to find any documentation on how to diagnose this problem.
I’m not sure if this helps differentiate at all (I can give more technical details if told how), but I have the SSK enclosure with a Transcend TS128GMTE110S NVME. When loaded with Raspian and plugged into either USB3 port with a USB3 cable it boots every time over many tries.
But when I put HassOS on there it won’t boot and just goes to a blank screen. If I use either the USB2 port, or a USB2 cable in the USB3 port it boots every time over many tries.
So the SSK and Transcend combo will boot on an RPi4; but there’s something with how HassOS is booting through USB3 that just doesn’t work. I tried going back and forth many times. I even copied over the relevant .dat and .elf files from the working Raspian load with no joy.
I tried adding quirks with no effect even though running the benchmark found at https://storage.jamesachambers.com/ showed a solid score (7850) indicting there were no UAS problems. I tried quirks first with a Raspian load so I could validate I knew how to apply it correctly, and then with HassOS but like I mentioned, it didn’t help.
PS: I’m running the 15 Jun EEPROM version. I’m willing to try upping to the July version if that’s really a possible fix.
@agners I’m 99% sure mine is using the JMS583 as well.
I’m a bit unsure that it is a power issue. It boots with Raspian with no problem and only HAOS is a problem.
I tried again with 5.2 and had the same issues.
Is this really closed? Needing to use a USB3 power hub seems pointless (yes I know, I can buy a new enclosure) especially given that the enclosure does work with Raspian and does quite well on a speed test.
EDIT: For fun I’ve just ordered a Realtek RTL9210 based enclosure (Plugable brand). Let’s see if that makes a difference.
EDIT2: Also the record, I tried quirks and it doesn’t make a difference on 5.1 and I didn’t need quirks on Raspian.