Booting from SSD over USB

I’m not able to boot into DietPi from an SSD over USB.

Rasperry Pi 3b
Samsung 840 Pro SSD

I made sure that vcgencmd otp_dump returns 17:3020000a signifying that USB boot mode is enabled.

I tried using an SD card with only bootcode.bin on a FAT32 partition.

I tried the previous step with an empty file titled “timeout”.

I tried adding the vendor and product ID such that it used the “quirk” method of the driver.

What more can I try?

Hi,

Do you have a good power supply for your RPi 3B, and maybe use an own power supply for your external SSD, because often the usb does not deliver enough current to power the SSD and allow it to boot directly on it.

Can you boot with SD card and check if the option in dietpi-config advanced-options the line : USB boot support is set to ON ?

Is it an headless install ? perhaps you can connect a screen to find whats the issue is …

1 Like

This is not needed; you should be able to boot from SSD without a SD card connected.

Try to boot of an SD card and check if your SSD is detected correctly.

Specifications indicate this drive as using no more than about .07W during use. I wouldn’t suspect power to be an issue.

USB boot support is set to on.

I did have a screen connected and there was no output to determine a cause.

I was able to mount a partition of the drive, touch a file, unmount, remount, and the touched file was still present.

The numbers from Samsung are clearly not true, even in idle it needs more then 0.3W!
It can need up to 3.5W (Samsung SSD 840 Pro Review - StorageReview.com).

Your RPi 3b has 4 USB 2.0 ports, which are specified for 500mA per Port, which is only 2,5W on one port.
(In Fact the RPi 3b is limited to a total of 1200mA for all 4 ports. So you can get the 2,5W per port for only 2 devices, if you connect more it will get reduced, depending on the power consumption of the connected devices).

At first I also thought there wouldn’t be a problem connecting a SSD directly, without an extra power supply. But then I had random system freezes from time to time and the powered USB adapter was the solution to get rid of this.

What I’ve been doing is soldering a USB 3.0 boards power connections onto the 5v and ground GPIO pins in order to create a more secure jack (fuck micro USB). Based on what your saying even if I supply like 3A, the USB ports can not take advantage of the extra current?

It is as I said, the RPi3b uses USB 2.0 ports, which can deliver 500mA per Port, but overall only 1200mA for all 4 ports in total despite how much amps your power supply can deliver.

Edit: I found info about this here: Raspberry Pi Documentation - Raspberry Pi hardware

Even on the RPi 4 it’s limited to 1.2A for all 4 ports, but there you even have 2 USB 3.0 ports which can draw up to 900mA per port.

Jap RPi ports are not designed to power HDD/SSD. Especially on boot process, this could lead to issues. From our side we always recommend to use own PSU or powered USB hub.

With current firmware, it’s 1.2A overall on all USB ports by default on all RPi models. But even this is inefficient in many cases, also since power draw of the drive can peak much above of what vendors state during boot and I/O peaks. USB-only powered 2.5" drives (inclusind SSDs) are the #1 reason for failing USB boot and data loss.

OK but with 1.2A, that’d still be 5.7-6.3W being supplied. Unless the Raspberry Pi itself is taking up >1.8A ?

As said, peak power draw can be obviously higher. And yes, the amount of power the RPi itself consumes during boot and peak situations, in combination with the used RPi PSU, can be another limiting aspect.

It’s hard to tell exactly if/why/when USB power isn’t sufficient, but our experience with a lot of such cases show it isn’t reliable. And besides, also RPi engineers tell the same. It might work in some cases, it also might have worked with one kernel version or system config, and then fails after a kernel upgrade or config change. Since it can lead to data loss, I’d simply not risk it :slightly_smiling_face:.

1 Like

hii,
…seeing this: Screenshot by Lightshot (prnt.sc) ,
and knowing that the power is distributed on the 4 USB ports but also on the ethernet port I think that given the consumption at the startup of SAMSUNG Screenshot by Lightshot (prnt.sc) …there is not enough amperage to run everything properly - you should be able to manage the power supply of the other USB ports, but then you won’t be able to power other devices - see here :
Raspberry Pi B+ turn usb power off - Raspberry Pi Forums
and here:
GitHub - codazoda/hub-ctrl.c: Control USB power on a port by port basis on some USB hubs. .

(sorry for my english, translate by deepl)

2 Likes

nothing to be sorry about. Much appreciate your support on our forum :slight_smile:

1 Like