I am trying to boot my Raspberry Pi 4 from SSD attached to USB3.0 port via USB-SATA cable. The disk works fine under Linux (I am running Ubuntu 22 LTS) when Pi is booted from SD, but I can't boot from the USB.
I have the latest bootloader configured to boot from SSD:
vcgencmd bootloader_config
[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf14
XHCI_DEBUG=0x1
DISABLE_HDMI=0
vcgencmd bootloader_version
2023/01/11 17:40:52
version 8ba17717fbcedd4c3b6d4bce7e50c7af4155cba9 (release)
timestamp 1673458852
update-time 1676496457
capabilities 0x0000007f
When I boot without the SD card and with my SSD disk connected (using Sabrent SSD to USB 3.1 adapter) I am greeted with:
Net: eth0: ethernet@7d580000
starting USB...
No working controllers found
Hit any key to stop autoboot: 0
Card did not respond to voltage select! : -110
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_set_clock: Timeout to wait cmd & data inhibit
sdhci_send_command: MMC: 1 busy timeout increasing to: 200 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 400 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 800 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 1600 ms.
sdhci_send_command: MMC: 1 busy timeout increasing to: 3200 ms.
sdhci_send_command: MMC: 1 busy timeout.
MMC Device 2 not found
no mmc device at slot 2
starting USB...
No working controllers found
USB is stopped. Please issue 'usb start' first.
starting USB...
No working controllers found
BOOTP broadcast 1
... (more messages trying to boot from network)
Note that altough I have the latest bootloader I don't have the "Boot diagnostics" screen and it seems that my bootloader doesn't recognize USB at all (although it works fine if I boot Linux from SD).
What am I doing wrong?
vcgencmd bootloader_config
shows that theBOOT_ORDER
is fine.