The Raspberry Pi 4B has known issues with certain USB storage controllers, particularly when it comes to rebooting. These issues can cause devices to fail detection after a reboot or lead to boot failures when using USB storage as the boot device. Here are the main culprits:
1. JMicron JMS578 & JMS583 Controllers
- Symptoms: USB drive fails to be detected after a warm reboot (sudo reboot), but works after a cold boot (power cycle).
- Cause: These controllers have issues handling UAS (USB Attached SCSI) mode on Raspberry Pi 4.
- Workarounds:
- Disable UAS by adding usb-storage.quirks=152d:0578:u(for JMS578) or152d:0583:u(for JMS583) to/boot/cmdline.txt.
- Use a different firmware: Some JMS583 adapters allow firmware updates that can improve compatibility.
- Switch to a different USB-to-SATA adapter.
 
- Disable UAS by adding 
2. ASMedia ASM1153 & ASM235CM Controllers
- Symptoms: Similar to JMicron, may disappear after a reboot, requiring a power cycle.
- Cause: UAS issues and power reset problems.
- Workarounds:
- Disable UAS with usb-storage.quirks=174c:1153:u(for ASM1153) or174c:235c:u(for ASM235CM).
- Try different firmware updates if available.
 
- Disable UAS with 
3. Realtek RTL9210 & RTL9210B
- Symptoms: Failure to reconnect after a soft reboot, and sometimes boot failure when used as a boot drive.
- Cause: Firmware bugs in early versions.
- Workaround:
- Update firmware to the latest version (use Realtek’s update tools).
- Disable UAS with usb-storage.quirks=0bda:9210:uif issues persist.
 
4. VIA VL715 & VL716
- Symptoms: May fail after reboot, especially when using NVMe enclosures.
- Cause: Power management issues with Raspberry Pi 4’s USB controller.
- Workaround: Use powered hubs or update firmware.
5. Generic USB-to-SATA Bridge Chips (Unknown Vendor)
- Symptoms: Some cheap adapters don’t work reliably and may disappear on reboot.
- Cause: Poor firmware or bad power handling.
- Workaround: Use a powered USB hub or a better-known controller.
General Recommendations
- 
Use Known Good Adapters: - StarTech USB3S2SAT3CB (works well with RPi 4).
- Sabrent EC-SS31 (compatible without quirks).
- UGREEN SATA to USB 3.0 adapter (some models are OK, but check the chipset).
 
- 
Disable UAS for Problematic Controllers: - Find the device ID with:lsusb
- Add the quirk to /boot/cmdline.txt:usb-storage.quirks=152d:0578:u
 
- Find the device ID with:
- 
Use a Powered USB Hub: 
 If power issues are suspected, a USB hub with external power can help stabilize certain drives.
- 
Update Raspberry Pi Firmware: - Ensure you’re running the latest firmware by updating EEPROM (as explained in the first section of this thread):sudo rpi-eeprom-update -a
 
- Ensure you’re running the latest firmware by updating EEPROM (as explained in the first section of this thread):
Would you like help checking your specific USB controller? Let me know what lsusb shows!
DISCLAIMER:
OTA upgrade will overwrite /boot/cmdline.txt and your changes will be lost.
Kind Regards,