New Raspberry Pi 4 Bootloader USB / Network Boot Guide

Raspberry Pi 4 with Samsung 950 Pro NVME SSD
Raspberry Pi 4 with Samsung 950 Pro NVMe SSD

The new Raspberry Pi 4 bootloader has finally come out of beta and made it’s way into the official latest Raspbian! This has been long awaited since when the Raspberry Pi 4 was released it had no native support for booting from USB / Network but it was promised right from the start it would get it through a later update.

This guide will show how to configure the new bootloader and set up your Pi to boot from USB devices as well as the other boot options now available within the Raspberry Pi 4 bootloader.

If you are looking to boot Ubuntu 20.04 or Ubuntu 20.10 you should check out my guide specifically for Ubuntu here.

Equipment Used

Raspberry Pi 4
Raspberry Pi 4

The Raspberry Pi 4 is available in different memory configurations all the way up to 8 GB. It’s about the size of a credit card and uses an extremely low amount of power making it ideal for all sorts of projects and ideas!


NVMe (High Performance) Option:

Samsung 970 EVO Plus NVMe SSD

The Samsung 970 EVO Plus is a fantastic drive and has fallen in price substantially. It’s widely available around the world. The smaller capacities (such as the 250GB version) of this drive are perfect for the Pi! This is the top performance option without going into the “Pro” series of the lineup which are much more expensive.


ICY BOX M.2 NVMe Enclosure

The ICY BOX is basically a giant heatsink that you mount a high performance M.2 NVMe drive inside of. This enclosure is really fast but requires a powered USB hub. Not even the 3.5A adapter can reliably power it! The enclosure works well and will physically feel warm to the touch as it is pulling the heat off your NVMe drive!


2.5″ SATA Option:

Kingston A400 2.5″ SATA SSD

The Kingston A400 has been a great drive to use with the Pi for years. It’s reliable, widely available around the world, has low power requirements and performs very well. It’s also very affordable. This drive has been benchmarked over 1000 times at and is the #1 most popular SSD among the Pi community!


StarTech 2.5" SATA to USB 3.0/3.1 Adapter
StarTech 2.5″ SATA to USB 3.0/3.1 Adapter

Both the USB 3.0 and USB 3.1 variants of the StarTech 2.5″ SATA adapter work well with the Pi 4. I’ve used the 3.0 variant with my Pi 4 since launch and it has always worked well. I later bought the 3.1 variant and had the same positive experience. These two adapter variants are my go to adapters for all my Pi related projects that need a fast and easy 2.5″ SATA SSD!


Compact Option:

SanDisk Extreme Pro SSD

The SanDisk Extreme Pro USB SSD is a true solid state drive. This is different than a typical “flash drive” which uses extremely cheap memory and has very low random I/O performance/throughput compared to a real solid state drive. I’ve used both the USB 3.1 and USB 3.2 variants with the Pi successfully and they benchmark very well!


SD card option:

SanDisk Extreme A1 SD Card

The SanDisk Extreme A1-A2 SD card has the best scoring SD card on for years and is second in popularity only to the SanDisk Ultra (often included in combo kits). The application class (A1) means random I/O speeds (very important when running an OS) have to meet a higher standard. There’s no benefit on the Pi for A2 right now so get whichever is cheaper/available.


You may use other types of drives with the Pi such as M.2 SATA to USB 3.0 and m-SATA to USB 3.0. Here’s some adapters I’ve used for those types of drives:

UGREEN M+B Key M.2 Enclosure

The UGREEN M+B enclosure is a great enclosure for the Pi for M.2 SATA 2280 NGFF drives. It supports both B-key and M-key drives. Does not support newer NVMe drives. As with other types of enclosures it requires more power than other options!


VL716 mSATA Enclosure

The VL716 mSATA enclosure lets you connect micro SATA drives to the Pi. These drives are an older type of SSD (usually seen in laptops) predating the M.2 slot but are still widely available and perform extremely well!


Another option for M.2 SATA (not NVMe) is to use the Argon One Pi case:

Argon ONE Pi 4 Case
Argon ONE Pi 4 M.2 Case

The Argon ONE M.2 is a M.2 SATA Pi 4 case / storage solution. With the case and M.2 SATA expansion board you can completely enclosure your Pi 4 and have a built in M.2 slot! The M.2 SATA board is sometimes sold separately from the case itself and can be used as well. Does not support NVMe, this is for SATA M.2 drives only!


Power Requirements

Power can be a serious problem with these drives. We are learning from the comments that you are especially likely to run into power issues with NVMe enclosures. A powered USB hub or a power adapter that puts out 3.5A comes not only just strongly recommended, it may actually be required that you choose one option or the other for your drive to function.

The specific requirements of how much power you’ll need depend on the adapter/enclosure and the model of your drive itself. As a very rough guideline, older models of drives tend to use more power than newer models of drives. 3.5″ form factor drives also use more power than 2.5″ drives. The earliest SSD models like first and second generation models are also well understood to use significantly more power than newer models. This is due to changes and improvements in technology over the years and even using different more efficient memory like 3D NAND. Some super high end performance drives will consume more power as well.

Here’s the current recommendations based on everyone’s comments combined with stuff I’ve personally used with the Pi:

CanaKit 3.5A Power Adapter

The CanaKit 3.5A adapter has an extra half an amp (500 mA) of capacity to give some breathing room to your accessories. This is bigger than the official Pi power supply which provides 3.0A.


Sabrent Powered USB 3.0 Hub

The Sabrent powered USB hub delivers a whopping 2.5A of dedicated power for your USB attached devices. This is almost as much as the Pi adapter itself is rated for (3.0A). It will easily power the most thirsty of setups such as NVMe enclosures.


Note: Make sure Amazon doesn’t try to take you to the non-powered version and that it’s the one with the AC adapter that plugs in to provide extra power

Known Working Adapters

This is a compiled list of known working adapters built by myself from adapters I’ve purchased and commenters from ones they have purchased in this article and my older guide that utilized a SD card for USB booting.

StarTech 2.5″ SATA to USB 3.1 Adapter*2.5″ SATA to USB 3.0Verified working in comments (thanks Fredrick)
StarTech 2.5″ SATA to USB 3.0 Adapter*2.5″ SATA to USB 3.1Verified working great by myself and others on Pi 4
Inateck FE2004 2.5″ SATA to USB 3.0 Hard Drive Enclosure*2.5″ SATA to USB 3.0Mirco reports that this enclosure is working but trim is not supported
Samsung 2.5″ SATA to USB 850 EVO Kit /w Adapter* (Alternate link*)2.5″ SATA to USB 3.0 KitThis is a kit that comes with a drive and adapter. Rene confirms the adapter works including with non-Samsung drives.
CSL 2.5″ SATA to USB 3.0 Adapter*2.5″ SATA to USB 3.0The CSL SL adapter is confirmed to be working by Krikitt in the comments. Available in Europe. Not available in US.
UGREEN 2.5″ SATA to USB-C 3.1 Enclosure Drive Caddy*2.5″ SATA to USB-C 3.1Confirmed to be working by CAProjects in the comments. Available in both Europe and US
UGREEN 2.5″ SATA to USB-C 3.1 “Protect What You Love” Case* (AliExpress Listing* – Make sure to select USB-C 3.1)2.5″ SATA to USB-C 3.1Reported working by Michal in the comments, thanks!
UGREEN 2.5″ to USB 3.0 “SATA USB Converter” Adapter* (AliExpress Listing*)2.5″ SATA to USB 3.0Also reported by Michal as working in the comments, thanks again!
UGREEN 2.5″ SATA to USB 3.0 Adapter Cable with UASP Converter*2.5″ SATA to USB 3.0This adapter is reported to be working by Mirco in the comments
SABRENT 2.5″ SATA to USB-C 3.1 Type A Adapter*2.5″ SATA to USB-C 3.1 Type AThe new USB-C 3.1 Type A version of the Sabrent adapter is reported as working in the comments by UEF. DO NOT get the USB 3.0 version as that one is below on the naughty list and won’t work!
AliExpress Generic 2.5″ SATA to USB 3.0 3 colors Hard Disk Case*2.5″ SATA to USB 3.0Reported as working with UASP support by pierro78 in the comments
AUKEY 2.5″ SATA to USB 3.0 Rigid Case*2.5″ SATA to USB 3.0Confirmed as working well in the comments by Alex
ASUS ROG STRIX Arion Aluminum Alloy M.2 NVMe SSD External Portable Enclosure Case Adapter* – (AliExpress Listing*)M.2 NVMe (B+M Key) to USB/USB-C 3.2 Gen 2It’s bold. It’s beautiful. It’s also confirmed working by TADRACKET and Steve B.
However, be warned, it takes a *lot* of power!
Steve B. reports that even with the oversized 3.5A CanaKit adapter* it does not work. If you have the standard 3.0 adapter you can be practically certain it won’t power this enclosure.
Does work with a powered USB hub*.
ICY BOX M.2 NVMe (M Key) to USB-C 3.1 Gen 2 Enclosure* (Alternate listing*)M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2Returning legendary commentary Frank Meyer reports:
Does not work with a 3.0A power adapter (also reported by TTE). It’s not enough power for this enclosure.
Does work with a powered USB hub*.
TDBT M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2 Enclosure*M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2Confirmed to be working well by WorkHard in the comments
AliExpress Generic M.2 NVMe (B+M Key) to USB 3.1 “M2 SSD Case NVME Enclosure”*M.2 NVMe (B+M Key) to USB 3.1 Type AConfirmed working by Jens Haase, thanks Jen!
SSK Aluminum M.2 NVMe (M Key) to USB 3.1 Gen 2 SSD Enclosure*M.2 NVMe (M Key) to USB 3.1 Gen 2Brian L reports this is working well with beta firmware upgrades, but that it did not work at all without them!
ORICO M.2 NVMe SSD Enclosure, USB 3.1 Gen 2 (10 Gbps)* (AliExpress Listing*)M.2 NVME to USB 3.1 Gen 2M.Yusuf has given the first ever report of a working Orico adapter! Make sure it’s the USB 3.1 Gen 2 version that says “Support UASP for NVMe SSD”. This is the way.
DELOCK 42570 M.2 SATA (B Key) to USB Micro-B 3.1 Gen 2 SSD Enclosure*M.2 SATA (B Key) to USB Micro-B 3.1 Gen 2Andreas Franek reports that the enclosure works with a 3.0A power adapter (gets a little warm)
Shinestar M.2 NVMe (M Key) to USB 3.0 Adapter*M.2 NVMe (M Key) to USB 3.0This is the adapter I’m using in the picture at the top of the article. It is for NVMe M.2 drives only and is getting hard to find
UGREEN M.2 NVMe (B+M Key to USB-C 3.1 Gen 2 SSD Enclosure*M.2 NVMe (B+M Key) to USB-C 3.1 Gen 2Confirmed working in comments by Chad D
UGREEN M.2 SATA (B+M Key) to USB 3.1 Enclosure*M.2 SATA (B+M Key) to USB 3.1 EnclosureReported as working well in the comments by John H. Reinhardt with a ASM1051E chipset
QNINE M.2 SATA (B Key) to USB 3.0 Enclosure*M.2 SATA (B Key) to USB 3.0I used this enclosure to benchmark M.2 SATA Lite-On and SanDisk drives β€” working great in 3.0 ports
ArgonOne M.2 SATA (B+M Key) Pi 4 Case*M.2 SATA (B+M Key) Pi 4 CaseThis case gives you a M.2 SATA port for your Raspberry Pi and is also a case! Confirmed working by Frank.
Tanbin mSATA to USB Adapter*mSATA to USB 3.0I used this mSATA to USB adapter for my Crucial M550 benchmark — working in 3.0 ports
Generic mSATA to USB 3.0 Adapter (fe2008)*mSATA to USB 3.1Confirmed working in comments by Nico
Canakit Raspberry Pi 4 Power Supply (USB-C)*3.5A USB-C Power SupplyCanakit has been making very reliable power supplies for several Pi generations now. Using a 3.5A power supply will give enough extra power for your Pi to power the drive without causing instability
Known Working Adapters

Known Problematic Adapters (Naughty List)

Here is a list of common USB adapters that are known to have problems with the Raspberry Pi 4. You can get some of these adapters working by using quirks mode (see the “Fix (some) USB Adapter Problems Using Quirks” section below).

FIDECO M207CPS USB3.2 to M2 NVME/SATA SSD Enclosure*M.2 NVME to USB 3.2 Gen 2Lee Myring reports that the FIDECO M207CPS has issues working with the Pi
UGREEN 30848 2.5″ SATA to USB 3.0 Hard Drive Enclosure*2.5″ SATA to USB 3.0Reporting as not working properly and disconnecting often by Mirco, thanks!
Sabrent USB 3.0 to 2.5″ SATA adapter*2.5″ SATA to USB 3.0Only works in the USB 2.0 ports. Will not boot in a USB 3.0 port. I have two of these and can confirm they don’t work. RIP to Sabrent, our previous king of the Pi 3 era of adapters.
Sabrent USB 3.0 to 2.5″ SATA Tool-Free External Hard Drive Enclosure*2.5″ SATA to USB 3.0Another nonworking Sabrent adapter reported by Alex, thanks Alex!
ELUTENG 2.5″ SATA to USB 3.0 Adapter*2.5″ SATA to USB 3.0Despite earlier reports as working Ryan and one other have reported this adapter does not work unless you enable quirks mode! Don’t make Ryan’s sacrifice in vain and avoid this one.
USB 3.0 to 2.5″ SATA III Hard Drive Adapter UASP Support-20cm, Black*2.5″ SATA to USB 3.0reported by dzm in the comments as having very poor I/O performance
ORICO 2.5″ SATA to USB C 3.0 Enclosure (Transparent)*2.5″ SATA to USB 3.0Several commenters have stated the transparent ORICO is not working. Avoid!
ORICO 2.5″ SATA to USB 3.0 Enclosure (Black) 2588US3-BKT*2.5″ SATA to USB 3.0Commenters report that the USB-C variant of the transparent ORICO enclosure also does not work
ORICO 2.5″ SATA to USB-C 3.1 Gen 1 Enclosure (Transparent)*2.5″ SATA to USB-C 3.1 Gen 1Confirmed as not working by Andrea De Lunardi in the comments (thanks!)
Vantec 2.5″ SATA to USB 3.0 USB Adapter with Case*2.5″ SATA to USB 3.0Does not work after hours of testing and frustration by Moshe Katz in the comments!
AliExpress Generic 2.5″ SATA to USB 3.0 “New USB 3.0 To 2.5in SATA 7+15Pin Hard Drive Adapter”*2.5″ SATA to USB 3.0Extremely cheap adapter from AliExpress — MADATALIEXPRESS bought 5 of them and none worked, PPCM had one working, very unreliable and slow when it does work, not recommended even if you get lucky!

So far we have not found a single ORICO adapter that has worked correctly so I would avoid that brand completely for the Raspberry Pi.


Get Latest Raspbian & Updates

To edit the bootloader configuration you should have a copy of Raspbian on a SD card. Right now support in third party operating systems to do anything with the new Raspberry Pi 4’s firmware or bootloader is very limited / nonexistent. You can use a third party operating system later once you set the boot mode, but to actually make these changes we will use official Raspbian.

First make sure that you have the absolute latest updates and firmware for the Pi. To upgrade all your packages and firmware to the latest version use the following command:

sudo apt update && sudo apt full-upgrade -y

Once the update has completed restart your Pi with a sudo reboot command to apply the latest firmware / kernel updates.

Verify EEPROM Bootloader is up to date

We can check if your Pi’s bootloader firmware is up to date with the following command:

sudo rpi-eeprom-update

If your Raspbian is *very* out of date you may not have this utility and can install it using:

sudo apt install rpi-eeprom

The output from rpi-eeprom-update will look like this if you are not up to date:

BCM2711 detected
VL805 firmware in bootloader EEPROM
BOOTLOADER: update available
CURRENT: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)
LATEST: Tue 24 Nov 15:08:04 UTC 2020 (1606230484)
FW DIR: /lib/firmware/raspberrypi/bootloader/beta
VL805: up-to-date
CURRENT: 000138a1
LATEST: 000138a1

If it says any updates are available they be installed manually by adding ‘-a’ to the end of our previous command like this:

sudo rpi-eeprom-update -a

After the updates finish installing restart your Pi as firmware updates will not be applied until after a reboot. Now if you run rpi-eeprom-update to check for updates again it should say you are on the latest and up to date!

Verify Power Supply Size (3.5A strongly recommended)

Check your Raspberry Pi’s power supply size and make sure it is delivering at least 3.5A. There are a lot of USB C adapters for the Raspberry Pi that are only 3.0A. These will typically work fine, until you plug in something like a SSD which draws power from the Pi and there is nothing left to give.

Most SSDs are quite power efficient but HDDs draw significantly more. Older generations of SSDs used quite a bit more power than newer ones as well. If you are using an older drive or a drive that you know is power hungry you need to pay extra attention to having a quality power source with plenty of capacity.

A good alternative option to relying on the Pi to power the drive is using a powered USB hub* so your drive doesn’t need to draw power from the Pi’s limited power budget. Make sure you get one that is compatible with the Pi as some powered USB hubs won’t work properly with it so check the reviews and do your research to make sure people are using it successfully with the Pi.

Using a 3.5A power supply* or powered USB hub* will ensure your drive is getting enough power without impacting the Pi’s stability.

Prepare Bootable Drive

Image your bootable drive (your SSD / HDD / USB Flash Drive / etc.) the same way you imaged your micro SD card. You write the image of the operating system you want to run to the disk with Etcher / Win32DiskImager / however you normally would write one.

Once this is finished we are ready to edit the bootloader configuration to tell it to boot to our drive instead of the built in microSD slot.

If you are wanting to do a USB mass storage device boot with Ubuntu 20.04 or 20.10 check out my specific USB booting guide for Ubuntu 20.04 / 20.10 here.

Editing Bootloader Configuration

If you’ve completed the prerequisites you are now ready to edit your Raspberry Pi’s bootloader configuration to tell the Pi to boot from a specified device instead of the built in microSD slot. To edit the bootloader configuration use the following command:

sudo -E rpi-eeprom-config --edit

The default configuration will look like this:


Our target is the BOOT_ORDER parameter in bold above. It is 0x1 in firmware versions up until 2020-05-150 and was changed to 0xf41 in newer versions after that. Here are the different configuration options for the BOOT_ORDER parameter (from Raspberry Pi documentation):

0x1SD CARDSD card (or eMMC on Compute Module 4)
0x2NETWORKNetwork boot
0x3USB DEVUSB device boot – See usbboot (since 2020-09-03)
0x4USB MSDUSB mass storage boot (since 2020-09-03)
0xeSTOPStop and display error pattern (since 2020-09-03). A power cycle is required to exit this state.
0xfRESTARTStart again with the first boot order field. (since 2020-09-03)
Raspberry Pi 4 USB BOOT_ORDER Options

The configuration option we want is USB mass storage device boot or option 0x4. We can use this option by itself or combine it with other options in the table placed in the order we want the Pi to try to boot from. To understand how to do this, let’s look as Raspbian’s default value of 0xf41:

If you want to leave the SD card and the “restart on failure” fallback options in place you can leave/change it to 0xf41. Go ahead and use your arrow keys to navigate to the BOOT_ORDER line and change it 0x4 or 0xf41 so it reads:



BOOT_ORDER=0xf41 (to enable falling back to SD card if USB boot fails)

This translates to attempt to boot from USB mass storage first. If that fails, try to boot from SD card. If that fails, start over from step 1 and try again (back to USB mass storage). As another example, if you wanted to add booting from the network you could add the 0x2 value from the table for the “NETWORK” option and make it the final BOOT_ORDER value 0xf412. If you wanted to change the order so that the network boots first instead you could reorder it to 0xf241.

Choose the appropriate BOOT_ORDER you would like and use your arrow keys to move down to the BOOT_ORDER line. Change the line and press Control+X and then ‘y’ to save your changes. Make sure you have your boot device we set up in the prerequisites section plugged into one of the blue USB ports as these ports are USB 3.0 and the black USB ports are USB 2.0 (slower). Now restart the Pi.

If all went well the Pi will immediately boot up from your boot device instead of the SD card!

Help, something went wrong!

Try Booting from SD card

Generally if the Pi fails to boot from the USB device it will fall back to booting from the SD card. If the Pi didn’t boot after making the change try unplugging your USB device and just booting from the SD card again by removing power from the Pi and plugging it back in again.

If the device is booting fine from the SD card but not from the external drive double check that you have a compatible adapter and that the drive was imaged correctly. Plug it into a PC and make sure it has the files on it and perhaps try giving it a clean image again just in case something went wrong with imaging the first time.

Verify rpi-eeprom-config configuration

Make sure your changes that we made earlier actually stuck by verifying the configuration using the command:

sudo -E rpi-eeprom-config --edit

and verify that the BOOT_ORDER=0x1 line is changed to BOOT_ORDER=0x4.

Restore Bootloader to Defaults

If things are *really* broken and the Pi will not boot at all with your SD card or otherwise then you may need to restore the bootloader back to defaults.

To do this we need to prepare a SD card with the Raspberry Pi 4 EEPROM boot recovery tool. The easiest way to do this is to use the official Raspberry Pi Imager tool from the Raspberry Pi foundation to prepare the recovery image.

Here is how we create the recovery image inside the utility. Choose the “Misc utility images” category as shown below:

Raspberry Pi Imager Step #1
Raspberry Pi Imager Step #1

Next choose the “Raspberry Pi 4 EEPROM boot recovery” option:

Raspberry Pi Imager Step #2
Raspberry Pi Imager Step #2

Next choose your SD card and then choose “Write”. Now unplug your Pi and put in the newly prepared SD card. Connect the power and let it boot. This will restore your bootloader to defaults. You should see a continuous rapid green blinking light. You may now disconnect the power and put your original SD card back / reinstall Raspbian and boot the Pi normally!

For a more detailed step by step guide on this check out my Bootloader Recovery Guide

Try Beta Firmware

The beta firmware released since the original USB mass storage device support launched contains a bunch of fixes related to USB mass storage devices and USB booting. The downside is the beta firmware is not as well tested so you shouldn’t install it unless you are doing it to fix a specific issue addressed in those updates.

If your drive / USB storage adapter isn’t working then it is worth considering trying the beta firmware to see if the fixes in the versions released not on stable yet will help with your device.

To switch to the beta channel edit the configuration file with the following command:

sudo nano /etc/default/rpi-eeprom-update

Change the line FIRMWARE_RELEASE_STATUS=”critical” (sometimes it can be “stable”) to:


Now press Ctrl+X and then ‘y’ to save our changes in nano. Now execute a Pi firmware update using:

sudo rpi-eeprom-update -a

The updater will tell you whether updates were applied or not. Now do a full reboot of your Pi as the firmware updates won’t be applied until you do! If you want to switch back to normal firmware simply change the configuration back to “stable” or “critical”.

Verify Drive Performance

You can make sure everything is running correctly (and as fast as it should be) by running my quick storage benchmark. You can run the benchmark with the following one-liner:

sudo curl | sudo bash

This will give you a score you can compare to the other Raspberry Pi Storage Benchmark results and make sure that you are getting an equivalent speed to your peers with the same device!

Fix (some) USB Adapter Problems Using Quirks

Some of the very common adapters on the naughty list above (such as the Sabrent) can be made to work by using USB quirks to disable UAS mode on the drive. This lowers performance, but it’s still much faster than a SD card and your adapter won’t go to waste.

To find out the quirks we need to find the device ID string for your adapter and then add an entry to cmdline.txt telling the kernel to apply them on boot.

Find Your Adapter

To apply the quirks we first need to get the adapter id. We will use the sudo lsusb command:

$ sudo lsusb
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 002: 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
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

On line 2 we can see my ASM1051E SATA 6Gb/s bridge adapter (it’s the known working 2.5″ SATA to USB 3.0* adapter). You will see something very similar to mine when you run the command and it shouldn’t be too hard to figure out which device it is. If you need more information add a -v switch to make the command sudo lsusb -v. This can sometimes add some additional details to make it easier to figure out which one is your adapter.

If you’re still not sure, we have another command that between the two that can narrow things down. Type / paste the following:

sudo dmesg | grep usb

 [0.828535] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
 [0.828568] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
 [0.828597] usb usb3: Product: DWC OTG Controller
 [0.828620] usb usb3: Manufacturer: Linux 4.19.75-v7l+ dwc_otg_hcd
 [0.828644] usb usb3: SerialNumber: fe980000.usb
 [0.830051] usbcore: registered new interface driver uas
 [0.830182] usbcore: registered new interface driver usb-storage
 [0.836488] usbcore: registered new interface driver usbhid
 [0.836511] usbhid: USB HID core driver
 [0.971598] usb 1-1: new high-speed USB device number 2 using xhci_hcd
 [1.154217] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.20
 [1.154254] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
 [1.154281] usb 1-1: Product: USB2.0 Hub
 [1.301989] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
 [1.332965] usb 2-1: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
 [1.332999] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
 [1.333026] usb 2-1: Product: ASM105x
 [1.333048] usb 2-1: Manufacturer: ASMT
 [1.333071] usb 2-1: SerialNumber: 123456789B79F

This is the dmesg log showing the hardware detection as hardware is activated on the Pi. If your log is really long you can generate fresh entries by just unplugging a device and plugging it back in and running the command again. Here we can clearly see that the ASM105x is what our StarTech adapter is being detected as.

Now we can go back to our first lsusb command and we want the 8 characters from the ID field that comes right after the Device:

Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge

Our adapter’s ID is: 174c:55aa

Applying Quirks

To apply the quirks to our USB adapter we are going to edit /boot/cmdline.txt. Type:

sudo nano /boot/cmdline.txt

We are going to add the following entry into the very front of cmdline.txt:


In place of the X’s above you will put in your adapter’s ID that we got before. With the example commands I gave above mine would look like this: usb-storage.quirks=174c:55aa:u. After this my cmdline.txt looks like this (everything should be one continuous line, no line breaks!):

usb-storage.quirks=174c:55aa:u console=serial0,115200 console=tty1 root=PARTUUID=d34db33f-02 rootfstype=ext4 elevator=deadline rootwait

Now reboot the Pi. If the Pi fails to boot you can plug the SD card into the computer and go to /boot/cmdline.txt and undo the change we did so you can boot back in with your SD card.

Verifying Quirks

Once you have rebooted after changing cmdline.txt we can verify the quirks have been applied by doing another dmesg | grep usb command:

sudo dmesg | grep usb
 [1.332924] usb 2-1: New USB device found, idVendor=174c, idProduct=55aa, bcdDevice= 1.00
 [1.332957] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
 [1.332983] usb 2-1: Product: ASM105x
 [1.333006] usb 2-1: Manufacturer: ASMT
 [1.333028] usb 2-1: SerialNumber: 123456789B79F
 [1.335967] usb 2-1: UAS is blacklisted for this device, using usb-storage instead
 [1.336071] usb 2-1: UAS is blacklisted for this device, using usb-storage instead
 [1.336103] usb-storage 2-1:1.0: USB Mass Storage device detected
 [1.336479] usb-storage 2-1:1.0: Quirks match for vid 174c pid 55aa: c00000
 [1.336611] scsi host0: usb-storage 2-1:1.0

This time we can see in dmesg that UAS was blacklisted for the device and it has loaded with the usb-storage driver instead. This driver tends to be more compatible with the “problematic adapters” but the performance is usually significantly lower. It’s definitely worth a try though as some adapters do better with the quirks performance-wise. The only way to know for sure is to run a benchmark (see “Verify Drive Performance” section).

Other Resources

If you want to see which Pi storage performs the fastest and get an idea of what kind of drives to look for check out my 2020’s Fastest Raspberry Pi 4 Storage Benchmarks

If you have one of the new Raspberry Pi 400 kits *then don’t miss my Pi 400 Overclocking and SSD Setup Guide

183 thoughts on “New Raspberry Pi 4 Bootloader USB / Network Boot Guide”

  1. Avatar for Steve

    Great write up and very helpful info. I’m using the startech 2.5 to usb 3.0 adapter and Kingston a400 120gb ssd,at first everything booted up and worked fine….so I thought. I installed home assistant and the supervisor wouldn’t update. I figured no big deal it was a fresh install. So I flashed a new image and double checked on my pc that the files flashed and they did. Plugged it back into the pi4 and after the initial pi boot screen, instead of setting the mile long HA check list all I saw was a small area on the screen where a few pixels would appear then nothing. Like nothing to the point where my monitor would go into power save mode. When booting from SD everything is fine. Went back and checked all the settings on the pi and that end is exactly how it should be. Also I am using a new canakit 3.5 amp power supply. My initial thoughts are that the adapter I have is faulty. I ordered another startech adapter except this one is 3.1. Fingers crossed! Any thoughts on this?

    1. Avatar for jamesachambers

      Hey Steve,

      Both the StarTech 3.0 and 3.1 adapters are 100% compatible with the Pi and should work. The CanaKit 3.5A power adapter should have *plenty* of power for a 2.5″ SSD.

      Have you checked your bootloader firmware version? This may require installing Raspbian temporarily to update the firmware (instructions in the guide for a reference). Unless you got your Pi very recently it almost certainly doesn’t have the proper firmware to USB boot on there. In some extreme cases people have needed to use the “recovery image” available on the Raspberry Pi imaging tool to get their bootloader updated enough to USB boot and that has got them going here before in the comments in tough cases like this.

      Another good test would be if you can get it to work with Raspbian doing USB booting. I know you want to do HA but this would just be a test to narrow things down. Hopefully that helps!

  2. Avatar for streetchat

    Hi there. Great works here.

    I can confirm that a very cheap GeekerChip usb3.0 to 2.5 sata/ssd from amazon to not work well. sometime it boot, sometime not.
    i do not tried the quirck mode yet.
    So i went to an external hdd/sata usb2 powered enclosure from freecom that works.

    May i ask how you can boot from netwok ?
    I im very interested in booting hassio on raspbery 4 from an iscsi drive on a synology.

  3. Avatar for yay

    ORICO M2PAC3-G20 (ASM2364) with Samsung 980 Pro 250GB working on Pi 4 8GB wit Canakit 3.5A

    first results between 8300-9300, which is somewhat les sigh. RTL92100 could be the breadwinner here.
    maybe with dedicated cooler, overclock, non-essentials disabled, and some special sauce, it could do better.

  4. Avatar for Ian

    For the record, using your quirks line I was able to make the ORICO 2.5β€³ SATA to USB C 3.0 Enclosure (Transparent) work successfully. I don’t know for sure it was that which fixed the problem, or the fact I used SD card copier again and left the New Partition UUIDs box alone so the same name was used on the SSD. Either way it boots fine, thanks.

    1. Avatar for Ian

      Tested both ways now – quirks definitely required for this enclosure. Benchmark score 5 times that of the UHS-1 card which is fine for me.

  5. Avatar for misco

    I bought the “Extremely cheap adapter from AliExpress” and i think it’s unreliable for whatever reason itΒ΄is slow for booting. I just have one unit so maybe mine its faulty

    1. Avatar for jamesachambers

      Hey misco,

      It could be power related as well. Do you have a powered USB hub by chance? Is it slower to boot sometimes than others? Usually with slow boots/sometimes won’t even boot it has been power related. Just something to test if you can!

    2. Avatar for DontBuy


      I had 5 of them, all failed miserably. I also dont think its power related because once I switched to startech everything booted quickly and normally.

  6. Avatar for jonathan Turner

    I have followed your guide with the following hardware:

    raspberry PI 4 8BG
    Raspbee II
    M.2 NVMe SSD Enclosure, Aluminum USB C 3.1 Gen 2 to M-Key M&B-Key NVMe PCIe 10Gbps External
    Samsung 970 EVO Plus 1 TB PCIe NVMe M.2 (2280) Internal Solid State Drive (SSD) (MZ-V7S1T0)

    Upon removing the SD card the drive sometimes boots, sometimes not. It runs very very hot. When it does boot it is so slow that its to usable. For example it takes about 30 min to create an account in homes assistant.

    My goal would be to run home assistant, phoscon and Pi-hole. I suppose the best route would be docker?

    Should I be using a 32 bit pi image or a 64 bit?

    Please can you advise where I may be going wrong as your guide seemed so clear. thanks

    1. Avatar for jamesachambers

      Hey Jonathan,

      Great questions! That’s a very high quality NVMe drive you have in there too with it!

      What does your power setup look like? Are you using a stock 3.0A USB-C power adapter? The issue we’ve been seeing with NVMe enclosures in particular is power issues.

      People have been taking two different approaches. Some have been getting a powered USB hub like this Sabrent one or to use a higher output power adapter like the CanaKit 3.5A power adapter which gives the Pi an extra 500 mA of power to pass along to the drive.

      I’m not sure if the heat is too unusual yet. Some of the higher performance NVMe drives run very hot these days. The reason I believe it’s power is the very low performance and sometimes being able to boot and sometimes not. That definitely points toward power which fluctuates constantly depending on what the Pi is doing and even external/environmental factors!

      Many drive enclosures like the ICY BOX are coming up with different ways to deal with the heat. In this case, the ICY BOX is literally a giant heatsink. There is a thermal pad that makes contact with your drive and the heat is dissipated through the enclosure’s heatsink-inspired design.

      The Samsung 970 EVO Plus is one of the fastest drives there is. I am using a 970 EVO 1TB (not the Plus unfortunately) as my “gaming” drive in my main rig even! It’s going to be crazy fast setup.

      Fixing the power will fix the performance/unreliable boot issues but you may still have heat to deal with with such a class of drive! I just wanted to throw a couple options out there that commenters have personally vouched for as working.

  7. Avatar for Winston

    Thank you for the guide – I was able to get my RPi 4 to boot and work, however, I run into a problem with the file system dropping out after some time. I’ve also experienced an ext4 error inode … I’m not new to the Pi, but I’m not a programmer – I’ve been digging for a while and sill haven’t found an answer to what the issue is.

    I’m using the UGreen NVMe M.2 USB-C enclosure and crucial P1 1TB.

    The speed test is 300mb/s rw, and I can boot from the SSD.

    Perhaps part of the issue is Ubuntu Server 20.04?


    1. Avatar for jamesachambers

      Hey Winston,

      I can definitely tell you what that is, it is power! Depending on the activity of the CPU and other Pi onboard peripherals it probably usually has enough.

      What is happening though is there will be a big spike or a “perfect storm” of everything needing power at the same time and the drive will not get enough power to continue operating. If it is in the middle of a write when this happens that is when you will see problems. The UGREEN and other NVMe enclosures have come up here a bunch of times in the comments from my other USB booting guides so you’re in good company!

      Do you have a powered USB hub available you could test with? How about any USB-C power adapters that carry more capacity? So far the solutions have been a powered USB hub like this Sabrent one or to use a higher output power adapter like the CanaKit 3.5A power adapter (normal Pi ones are only rated for 3.0, so gives another 500mA of headroom for the drive).

      The NVMe ones have proven to be particularly power hungry as well. Make sure you check out my full list of adapters at New Raspberry Pi 4 Bootloader USB / Network Boot Guide where I go really into depth on these and share a lot of what we’ve learned that isn’t in this article!

      1. Avatar for Winston

        Thanks James. I ordered a powered hub earlier, should be here next week. Other than the drive, I have a USB Ethernet and a basic keyboard plugged.

  8. Avatar for bibisvals

    Hey there,

    I bought
    UGREEN M.2 NVMe SSD Enclosure :

    And Samsung SSD Interne 970 EVO NVMe M.2 (500 Go).

    My PI 4 4Gb eeprom is up-to-date : eeprom version 2021-01-14 (stable) (from labists)
    It take’s many many times to boot (about 2 or 3 minutes). Just a simple ssh can take more than one minute (with the enclosure’s ligth flashing).
    Globally, all comands take long time to execute.

    I don’t know what can I do to have better performance…

  9. Avatar for Jeff

    I just bought and received my new RaspPi4 this week as well as the parts you recommended in this guide. It’s still pretty fresh, but everything seems to be working without any issue. I ejected the SD card and it appears to be working perfectly. Thanks for doing this!

  10. Avatar for Patrick

    In your chart above, I think you have the wrong USB (3.0 vs 3.1) listed for the StarTech adapters in the second column. Thanks!

      1. Avatar for JoFie

        Thanks for what you are doing, it is really helpful.
        Do you maintain your list based on user feedback like this? How did you verify that this adapter is indeed working, and is not just a vendor promoting his own product?

        1. Avatar for jamesachambers

          Hey JoFie,

          Thanks for the kind words! When I originally wrote the list I personally had all of the adapters on it but it was only 5 adapters. You’re absolutely correct that everything since then over the past year or so has been added based on user feedback. I definitely do not have all 30 of these different storage adapters in the house!

          This has worked well so far. There has only been one instance where an adapter reported as working seems to not be working now (conflicting reports, early on someone said yes then later on several others confirmed no) and that is the ELUTENG adapter. It’s definitely a valid concern though so everyone should understand that since it is based on user feedback this leaves open the possibility for manipulation. The longer this post continues to get traffic or continues to grow in popularity the more likely it is that this will happen eventually.

          I have pretty strict spam filtering on the blog. When you post a comment and it asks you for your email address it actually doesn’t really matter what you put in there. I don’t collect your email addresses or use them in any way. They are just a field in the comment submission form used for anti-spam verification. I’ve seen people put in “” and things like that. I love that because the only thing they are used for is to verify that it’s a real person and not a spammer. Spammers try to make them look real in ways that are predictable enough that systems like Akismet can instantly recognize 99% of it. I think the “Akismet” antispam plugin definitely deserves a lot of credit for this list not getting spammed to oblivion yet.

          Still, that is only because it hasn’t been big enough to be a target for anything more than automated bots. If some spammer personally is targeting the blog they are going to get through that defense layer because at that point they *are* a real human and are actively opening the site and posting a comment to misrepresent their product. It may only be a matter of time as there are a multitude of issues with Pi storage adapters that may take several more generations of adapters or even Pis themselves before 100% of everything is plug and play and fully compatible to the point where you can buy any adapter without checking anymore.

          If this were to start happening I would have to start being more “strict” and only put them on the list if there were like, 3 individual confirmations from different people for example to make it not worth their time to try to spam the blog with non-legit junk. If this still wasn’t enough I would potentially have to go as far as personally buy every single one of them and test them myself to really be sure and hope that the affiliate click earnings from Amazon and friends can pay for the cost of it eventually (the rates for electronics are the lowest paying category by far, less than 2% on $10-$20 items, so it takes a LOT of storage adapters to pay for one!).

          So far though the post seems to be helping people and I don’t think I’m big enough blog to have been personally targeted by anything more than an automated bot yet! I do appreciate the feedback though and I share these concerns with you and wanted to let you know I am watching for them and constantly reevaluating my approach based on if things are working or if people are trying to manipulate the process!

          1. Avatar for JoFie

            Appreciate your extensive and open reply, and your ownership and involvement to reply in the first place.
            This is surely useful for others who may have the same thoughts. Thanks!

  11. Avatar for Michal

    Hi, just wanted to let you know, that these 2 adapters work:

    Ugreen HDD Case 2.5 SATA to USB 3.0 Adapter Hard Drive Enclosure for SSD Disk HDD Box Type C 3.1 Case HD External HDD Enclosure
    * ASM235CM chipset
    * works smoothly for over a month RPi4B 4GB
    * eeprom version 2020-12-11 (stable)

    Ugreen SATA USB Converter USB 3.0 USB C to SATA Adapter For 2.5” HDD/SSD External Hard Drive Disk 5Gbps SATA to USB Cable
    * ASM1153E chipset
    * was using it with RPi3B+ for over a month and now for some time with RPi4B 2GB
    * eeprom version 2021-01-14 (stable)

    1. Avatar for Dan

      Hi, does trim work on the “Ugreen HDD Case 2.5 SATA to USB 3.0 Adapter Hard Drive Enclosure for SSD Disk HDD Box Type C 3.1 Case HD External HDD Enclosure”?

      Does it also work with UASP?

      Thanks in advance.

  12. Avatar for Harald Thomas

    Hello James,
    first of all many thanks for this guide how to use USB boot with RPI4.
    I followed your instructions, bought a UGREEN 2.5β€³ SATA to USB-C 3.1 Enclosure Drive Caddy and a 120GB Sandisk Plus SSD and installed the actual RPIOS in lite version on the SSD via Winimager. I have additionally installed OWFS and FHEM.
    On an SD card it works completely fine and also on the SSD it works identically but the difference is that when I boot from SSD the activity led is nearly on all the time. It seems that something is repeated all the time since the led is off for a moment and then again on for ~ 1 minute and this is repeated endlessly.
    I used the identical image for both, the SD card and the SSD so I have no glue, what makes the difference.
    I checked if a process consumes too much CPU time but there in only 1-3% cpu time indicated in the top tool.
    Do you have any idea, where this behaviour comes from and what I can do against?

    Thanks in advance

    Best Regards


    1. Avatar for jamesachambers

      Hey Harald,

      I actually have heard of this before but it has been a long time! I remember this issue from old USB booting pre-Pi4 days.

      Is your SD card still in the Pi or is it taken out? If my hunch is correct it is polling for the SD card to be inserted. If you put the SD card in after you boot up from the SSD does the CPU usage go away? If so the fix back then (and I think would still be now) is adding the following line to config.txt:


      This tells it to only check for the SD card once instead of continuously which is apparently continuous enough to register a couple % CPU usage! Can you give that a try and see what happens?

      1. Avatar for Harald Thomas

        Hi James,
        thanks a lot for your hint!
        The behaviour is definitely linked to the SD card inserted.
        I have an old SD card with 512 MB FAT32 formatted but no files on it and once this card is in the slot, the system boots correctly from SSD and no further activity can be seen.
        The link you provided and the measure with
        seems not to work on Pi4.
        I could not see a change in beaviour after I added this line to config.txt.
        So I can live with the solution to have an old SD card in the slot but nevertheless I think, that this is misbehaviour and should be fixed in a future release.
        Are there more people observing the same behaviour on RPI4?

        Nevertheless thanks again


          1. Avatar for Harald Thomas

            Hi James,
            thanks a lot for this hint!!!
            It solved my problem πŸ™‚
            The RPI now behaves exactly the same way as if I had booted from SD card.

            Once again thanks for your engagement!
            (A Linux beginner like me would be lost completely here)

            Best Regards


            1. Avatar for jamesachambers

              Hey Harald,

              Fantastic! Thanks for being the guinea pig to test these config.txt options.

              I honestly believe everyone is probably getting this that takes the SD card out. I’m sure I’m getting it too. I think you’re just the first one to notice that this is still happening on 4B (which up until recently couldn’t do true USB booting so it never came up) so kudos to you being such an astute observer of your system’s resources!

              It’s an ancient bug. I remembered it from the Pi 3B days. I have no idea why it would poll so fast that it would register as actual CPU usage instead of checking just like, once per second!

              This is probably article-worthy stuff here and I will add it into the guide as well!

  13. Avatar for Ryan

    I had the bad luck of not being thorough enough and ordered the Sabrent USB 3.0 to 2.5β€³ SATA adapter. When it didn’t work, that’s when I found this information here. Fortunately, I found this page to be helpful in deciding which ones actually work so I ordered a ELUTENG 2.5β€³ SATA to USB 3.0 Adapter from the Amazon link above. Checking out the reviews, seemed like a slam dunk so I bought it… BUT after failing to boot in 3.0 with updated EEPROM etc etc etc and checking via lsusb it does appear to have one of the JMicron chips in it, and thus doesn’t actually work. I haven’t gotten it working yet. You can see a review on Amazon where someone else had reported this as a possibility, and I am here to confirm that I am still trying to make something work for me. Maybe reconsider ELUTENG on your list, I had double bad luck.

    1. Avatar for jamesachambers

      Hey Ryan,

      That’s terrible, I’m sorry to hear it! I’ve immediately removed the ELUTENG adapter from the good list and alerted people to avoid it. I think someone else was having trouble with this one in another thread too so it’s time to move it.

      Thanks for letting us know, hopefully it spares others the same experience going forward!

      1. Avatar for Ryan

        No problem! For how bummed I am, I’m also pretty stoked to be able to contribute to others avoiding the same bad luck!
        Page is a great resource, good on you for keeping it up to date for people! Benchmark tool is pretty sweet too. Thanks

        1. Avatar for jamesachambers

          I appreciate it! I had the same experience when I wrote my very first USB booting guide and wanted to try to help steer others in the right direction and away from the really common bad drives.

          If the manufacturers change anything or new models come up people have left comments with them and so it keeps growing and getting revised. I’m also trying to learn more about them via the storage benchmark which has been getting a major overhaul. We’re looking at things like firmware versions, etc. which can apparently fix some adapters and improve performance on others!

          It’s definitely not a perfect system but over time it has become pretty comprehensive with adapters from all over the world thanks to everyone’s feedback!

    2. Avatar for Ryan

      Update: Used USB Quirks workaround shown above, and ELUTENG adapter is in fact booting from USB 3.0 port. It’s not ideal, but it is a work around.

      1. Avatar for jamesachambers

        Hey Ryan,

        Thanks for the update. I’ve added a note that it only works with quirks mode enabled, which as you stated is not ideal and will have a performance penalty. It’s better than nothing though for sure!

        Some other commenters have brought up firmware updates fixing these in some cases. It may be worth seeing if you can google your adapter’s (both the ELUTENG and the Sabrent) model and see if there’s any firmware updates available!

        1. Avatar for Ryan

          I did find the Sabrent firmware update, however installing it didn’t make a difference for me personally. I haven’t found anything at all for ELUTENG, but did discover an alternative work around some might find interesting to also get my Eluteng AND the Sabrent 3.0 to boot from USB 3.0 ports. Having done a firmware update recently on the adapter on a NesPi4 case (that originally came up on my Windows PC as a JMicron), I got brave and reversed the USB Quirks method I used earlier with the Eluteng and tried to use Retroflag’s firmware update using my drive and the adapter. Not sure of the pros and cons, but it did work! Then I followed up with the Sabrent, did the same thing and viola boot. I understand both methods disable UAS in some fashion, but I thought this was worth sharing. Both booted, and there was no need to edit the cmdline.txt. and no blacklisting text. Thoughts anyone?

            1. Avatar for Ryan

              Not yet, but I’ll definitely do it with both adapters on my Samsung 860 Evo with a note that is was using the Retroflag firmware.

              1. Avatar for jamesachambers

                Excellent, thanks Ryan! I’ve been adding new drives and models like crazy as well as working on making it display additional information. These kind of comments inside the tests help a lot with identification and all sorts of future stuff I haven’t even thought of yet!

                I’m working on some metadata pages like a “Brand” page that shows you an overview of a specific model or brand of a storage device and benchmarks for that model and a couple other cool exciting things. It should keep improving here!

  14. Avatar for M.Yusuf

    Hi, just to report that I purchased β€œORICO M.2 NVMe SSD Enclosure, USB 3.1 Gen 2 (10 Gbps)” and it is working out of the box. Raspberry Pi 4 8GB using Raspbian 64-bit.
    This is the cheapest enclosure with RTL9210 controller that I could find.

    1. Avatar for jamesachambers

      Hey M.Yusuf,

      Interesting! That one looks a *lot* like the Icy Box but I hadn’t seen it yet before.

      I think that would make it the first Orico brand enclosure that has worked!

      I’ve added it to the list. Thanks again!

    1. Avatar for jamesachambers

      Hey Lee,

      Thanks for letting us know! I don’t think I have seen that model before. I’ve added it to the list!

      I haven’t seen a lot of USB 3.2 results showing up on my storage benchmark web site yet and this is one of very few first adapters I’ve seen feedback for that has it. USB 3.1 started out that way but is now the norm and I expect that we’re seeing the first wave of 3.2 adapters. Hopefully they won’t be too problematic with the Pi!

      The Samsung T7 Portable drive currently is registering as USB 3.2 on the benchmarks and it’s one of the top drives out there so it seems like there is some benefit to these if the drive/chipset can take advantage of those speeds!

  15. Avatar for Cristian

    I couldn’t find if it has already been mentioned in the comments, but after following this guide I kept booting from my SD card when trying to setup the USB to boot first then the SD card if failure.
    After looking around the BOOT_ORDER section of the Raspberry Pi documentation:
    I believe that the boot order is decided from right to left. In trying to achieve booting from:

    1) USB
    2) SD card if USB failed
    3) restarting if both of those failed

    Setting BOOT_ORDER=0xf14 gives me the desired result. BOOT_ORDER=0xf41 does not.

    1. Avatar for jamesachambers

      Hey Cristian,

      That’s a good catch. I think you’re right. I have been just taking the SD card out of mine which makes it fall back in that mode. I will update the guide, thanks for pointing this out!

  16. Avatar for Juanjo

    Hey James,

    Another device working with the following configuration:

    cmdline.txt: usb-storage.quirks=152d:0578:u console=tty1 …..

    Benchmark: #37585

    Not the best performance results but acceptable for me using a 4€ USB case and reused SSD Samsung MZ7LN256HMJP-000H1

    USB 3.0 SATA HDD Case Enclosure:

    Thanks for all your work! πŸ™‚

    1. Avatar for jamesachambers

      Hey Juanjo,

      Thanks a ton for the results! I’ve been going through and finally updating the storage benchmark. It’s looking a lot better here but there’s still a lot I want to do like adding filtering options, more comparable menus like a “Brand” menu that shows all the drives from a company.

      I also want to do more rankings between the drives. I’m going to add your changes to the list here (I think there’s a couple other ones lower I need to get to to), but thanks again!

      1. Avatar for Juanjo

        Hey James,

        Your database is priceless! πŸ™‚ I hope it will help more people to find the right adapter for the RPi. I have a couple more of SSD drives and few no-brand-chinesse cables pending to test. Will update the results soon to the database.

        Can’t wait to see the new updates with the new menus and comparations between adapters and drives πŸ™‚

        Thanks πŸ˜‰

        1. Avatar for jamesachambers

          That’s awesome! The more I have the more it helps. I’m down to about 4000 unidentified tests out of 37000 so it’s identifying something like 89.2% of all the benchmarks people submit right now. If you’ve submitted ones that the site didn’t recognize they are among those 4000. They’re all still in there, it just doesn’t display them publicly on the site because it has no clue what those drives are yet!

          When I’m finding new models of drives that need to be added I usually sort the unidentified drives by how many benchmarks there are for them so having this additional data really helps. The site is just barely becoming even “browsable” in the barebones sense and was basically a giant list previously for the past year that was difficult to navigate and know what to even really do with. A lot of the work I’m doing is in the backend right now but definitely the frontend is getting redone completely as well!

          The ones that it isn’t identifying are either really new drives or drives exactly like you’re talking about. The Chinese drives are very tough to identify and I have to mostly rely on what you guys type in the “notes” field to figure out what these ones are. There’s actually some that I have quite a few benchmarks of that I can’t identify that I’m just waiting for the one or two submitters who comment and tell me what it is to crack the case!

          1. Avatar for Juanjo

            Sorry James, I haven’t had time yet to complete the test, one of my raspberrys is freezing randomly even after a clean install, another SD card, another SSD but I can’t find the reason why is freezing.
            I’ve ordered another RP4 this week, as soon as it get home i will do more test.

            Chinese boxes are identified by model number not by the SSD/HDD inside, maybe looking for the model will bring more details?
            My two Chinese-cases are recognize by model number.

            1. Avatar for jamesachambers

              Hey Juanjo,

              No rush at all! That’s a great tip about the Chinese drives being identified by model. I’m doing this type of model identification a little bit already with some of the brands I’m able to identify but I’m excited for whenever you get the chance to submit them! The notes field will help a lot!

              1. Avatar for jamesachambers

                That is fascinating! I actually ordered a Pi 400 here since the prices from the scalpers on eBay dropped to like $100 (still $30 over MSRP I believe, but still not as bad as before Christmas).
                I should have preordered two of the things and I would have saved a lot of money and had them much earlier!

                It looks like mine has shipped but isn’t coming until Monday because since it was a scalper they picked “USPS Retail Ground” as the delivery method to save themselves a few bucks on the shipping and have it take a week instead of 2-3 days!

                I am going to give this a try for sure and see if I can reproduce your results as soon as it comes!

                1. Avatar for Juanjo

                  Hey James, sorry for late answer, looks like my old Pi4 had an issue with the RAM and fail on every single memory test I did. I ordered a new one together with a new Startech USB – SATA adapter, performance is much better vs the Chinese-no-brand adapters, +7k points on the benchmark, no quircks added on the config file and boots without any issue.

                  I will send you in a separate email few pictures of two non-working adapters, neither adding quircks in the config file.

                  Luca, thanks for the tip, but I not running any of my raspberrys overclocked, stable OS vs unstable speed, I choose stable OS, I’m getting old πŸ˜›

                  1. Avatar for jamesachambers

                    Hey Juanjo,

                    Wow, that is an end to the story I did not expect! An actual hardware failure!

                    You may be able to warranty it through whoever you bought it from depending on how long ago it was. Some vendors cover it for up to a year, and my understanding is that if you are in the EU or somewhere with favorable consumer protections the vendor sometimes will warranty it for a second year after the first year. It may be worth reaching out to see if they’ll just give you another one. It really is handy to have more than 1 around!

                    I have owned every generation of Pi since my original two Pi 1 Model Bs. They all still work 100% except for one. One of my 2 RPI4 4GB launch models (very bad heat management and buggy firmware) is the only one that has ever been defective and the hardware failed. It was the SD card port that failed (probably from me testing/imaging cards and taking them in/out 100 times in a row sometimes, very hard on the SD slot).

                    You have joined an elite club of people with verified Raspberry Pi hardware failures! It happens, but it’s rare, and it happens much less than just about any consumer electronics product you’ll find. I work on hardware as a tech professionally and would rate the Pi as far more reliable than a lot of the enterprise level products I work with.

                    I look forward to getting your email, and I’m relieved you have figured this out and found success!

Leave a Comment

Your email address will not be published. Required fields are marked *

Type here..