JMicron external hard drive — works on Debian eventually

Got a cheap JMicron external HDD: Works on Win 10, but not on Linux. Is it a driver issue? It shows up, at least:

$ lsusb
Bus 001 Device 008: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge

Searching around:

Something about USB quirks: https://github.com/raspberrypi/linux/issues/3070

The bug is gone if I add an "usb-storage.quirks=152d:0578:u" entry to cmdline.txt but this actually disables the USB 3.0 mode (slower speed).

But I’ve got no idea how to implement that.

How about:

https://bbs.archlinux.org/viewtopic.php?id=183190

First, create a file named ignore_uas.conf in the /etc/modprobe.d directory containing the following*:

 options usb-storage quirks=Vendor_ID:Product_ID:u

*(substitute your actual Vendor_ID and Product_ID obtained from the lsusb -v command).

Next, regenerate your inital ramdisk:

# mkinitcpio -p linux Finally, reboot your computer.

OK, seems drastic to regenerate the ramdisk; maybe (this advice is a few years old? I can only hope…), what if I just try…

  1. Remove the device and reinsert… (hearing weird clunking noises… yet it works on Windows 10…?) … now it is working on a Win 7 VM on the Linux box. OK, turn off the passthrough to the Windows… nope, Linux cannot find it. OK, No.
  2. Reboot without remaking ramdisk… (Debian does not have the mkinitcpio command anyways), then replug device. Nope, though different error — sits there with dmesg saying ‘Spinning up disk…’

Nope, that was wishful thinking. I can prove it.

$ lsusb
Bus 003 Device 005: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge

Then:

$ lsusb -t
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
|__ Port 3: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
|__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=uas, 480M

So UAS is still doing its thing on Bus 003 Device 005. So, with my ignore_uas.conf file still in place, I run:

$ sudo update-initramfs -u

Then reboot. Then replug. (If this fails, I can perhaps set some boot paramters, https://forum.odroid.com/viewtopic.php?t=31232)

Well, the blacklist seems to work:

$ sudo dmesg | grep -i uas
[ 2.180050] usbcore: registered new interface driver uas
[ 234.631790] usb 3-1.1: UAS is blacklisted for this device, using usb-storage instead

But it’s still not working. What if we try a USB port with more power — a red one.

[ 332.103927] usb 4-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[ 332.131427] usb 4-2: New USB device found, idVendor=152d, idProduct=0578, bcdDevice= 2.09
[ 332.131433] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 332.131436] usb 4-2: Product: USB to ATA/ATAPI Bridge
[ 332.131438] usb 4-2: Manufacturer: JMicron
[ 332.131440] usb 4-2: SerialNumber: 0123456789ABCDEF
[ 332.132179] usb 4-2: UAS is blacklisted for this device, using usb-storage instead
[ 332.132185] usb-storage 4-2:1.0: USB Mass Storage device detected
[ 332.132415] usb-storage 4-2:1.0: Quirks match for vid 152d pid 0578: 1800000
[ 332.132655] scsi host5: usb-storage 4-2:1.0
[ 333.140281] scsi 5:0:0:0: Direct-Access JMicron Generic 0209 PQ: 0 ANSI: 6
[ 333.140764] sd 5:0:0:0: Attached scsi generic sg7 type 0

Looks promising. ‘Quirks match’ etc.

But has not mounted. Reboot with it plugged in.

Nope.

So it seems to kind of work but I cannot get at it. Does not mount. Maybe try a manual mount?

File system is exFAT. Now, the exFAT tools are installed, but why not reinstall them?

$ sudo apt reinstall exfat*

So … plug it into a red USB port and:

$ sudo mount -t exfat /dev/sdb1 /media/imgmount/

And there it is!

Which steps were crucial, I can’t say, but it’s working. So either the exfat tools installation was flaky or something about the automagical mounting was flaky. Either way, not complaining. Whether I can revert to using UAS, I suppose I could test — but right now I just want to use it.

 

Mine is red. Looks like a toy.

Turns out the disk was cactus. Delivered broken.

4 thoughts on “JMicron external hard drive — works on Debian eventually

  1. Had the same problem on Fedora and the firmware update fixed it. Is a different sublink now but easy to find. You will need a windows PC to install it though.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.