njheb wrote: ↑Sat Jun 27, 2020 1:54 pm
If your enclosure is like mine then on the underside of the circuit board it has the revision code "2139U3_R2.0" and from my notes its stock firmware causes lsusb to report
VID:PID=152d:0578 which is for a Jmicron usb/sata bridge chip. It did not support trouble free uas or trim out of the box for me with a crucial BX500 120GB SSD, so I moved on to using a cable mentioned by timg236
This one:
£7.49 - USB 3.0 to SATA Adapter Cable
https://www.amazon.co.uk/USB-SATA-Adapt ... B01N2JIQR7
Sorry I don't know how to find the post_id that the details came from as this is my second ever post.
The original source was "Sticky: USB-MSD boot EEPROM third update - 2020-06-12", third post, page one.
As to a possible way forward if you want to persist with this enclosure. I have seen people talk about replacing the firmware for other adapters/enclosures. I have not tried this and do not know of a source for the firmware one could try. I suspect you would be tied to using windows software to attempt a firmware upgrade if you can find a trustworthy source to download it from. Maybe someone else could help identify a source of firmware and comment on the reasonableness of trying a firmware upgrade.
Another thing to note about Crucial 500BX120GB is that msecli on x86 Linux reports that it does not support adjusting the overprovisioning amount. I'm completely new to SATA and SSD btw so I'm not sure how important increasing the reserved space is to extend the life of a drive; if any one wants to enlighten me and others I'd be pleased to hear.
In case this is useful to anyone else and to show I was wrong about being tied to windows software:
After finding a tool to make the firmware upgrade natively [
https://wiki.odroid.com/odroid-xu4/soft ... _fw_update] I dug out my enclosure and had a go at a firmware update.
Code: Select all
sudo ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./v0_2_0_4_backup.bin
Output:
"Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin"
"Backup Firmware file name: ./v0_2_0_4_backup.bin"
"Backup the ROM code sucessfully."
"Programming & Compare Success!!"
Post cold boot.
Code: Select all
sudo ./JMS578FwUpdate -d /dev/sda -v
Returns "Bridge Firmware Version: v173.1.0.2"
The tool works perfectly on the pi2b rev1.1 I tested it on, but it has not helped. Reviewing the output from dmesg there is an explanation by means of a warning from the device driver. If I had looked at this first I might never have bothered.
[ 3.840349] usb 1-1.3: New USB device found, idVendor=152d, idProduct=0578, bcdDevice=31.02
[ 3.855779] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.869996] usb 1-1.3: Product: USB to ATA/ATAPI Bridge
[ 3.882233] usb 1-1.3: Manufacturer: JMicron
[ 3.893259] usb 1-1.3: SerialNumber: 0123456789ABCDEF
[ 3.906138] usb 1-1.3: The driver for the USB controller dwc_otg_hcd does not support scatter-gather which is
[ 3.923135] usb 1-1.3: required by the UAS driver. Please try an other USB controller if you wish to use UAS.
[ 3.940152] usb-storage 1-1.3:1.0: USB Mass Storage device detected
[ 3.955106] usb-storage 1-1.3:1.0: Quirks match for vid 152d pid 0578: 1000000
[ 3.969862] scsi host0: usb-storage 1-1.3:1.0
I suspect that Jmicron bridge enclosures and adapters like this orico one will all fail without
usb-storage.quirks=152d:0578:u added to /boot/cmdline.txt, unless the problem happens to stem from a partial implementation of the necessary protocols on the firmware side.
I looked into this because I had seen people saying that their adapter could be fixed with a firmware upgrade.
So you can see this is not helping the SSD situation because of the lack of
trim, but the ability to upgrade might be useful with a HDD if your stock firmware is buggy. I am by no means recommending this particular firmware but the tool could be handy if you need to upgrade a Jmicron bridge with pid=0578 and have a reliable source for firmware.
Use at your own risk.
I have no 2.5" HDD to test with and did not try quirks after the upgrade.
For completeness a partial quote from HawaiianPi shows how to use usb-storage.quirks
HawaiianPi wrote: ↑Wed Jun 24, 2020 10:41 am
usb-storage.quirks=152d:0578:u,152d:1561:u
$ cat /boot/cmdline.txt
usb-storage.quirks=152d:0578:u,152d:1561:u console=tty1 console=serial0,115200 root=PARTUUID=b79f160c-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
The second quirk (152d:1561:u) is specifically for that Sabrent adapter cable. The 1st one should handle many other common JMicron based adapters or enclosures. Hopefully all of your adapters will work with those. If not, we'll need to see the output of
lsusb for them.
Since you are using SSD, be aware that disabling UAS will also disable TRIM, which is important for SSD. So while quirks will get your adapters working, it's not ideal for SSD (fine for HDD). The
Eluteng USB 3.0 to SATA-III adapter cable works with UAS and TRIM.