LexDexter
Posts: 10
Joined: Tue May 26, 2020 2:58 pm

SSD Over USB adapter not working (fully)

Sun Apr 04, 2021 3:25 pm

Raspberry Pi 4 4GB
Raspberry Pi OS 64bit (Beta) (but i did try with the 32bit version, same problem)
Using Official Raspberry Pi 4 Power Supply

Using a SATA SSD that has been formatted with the official Raspberry Pi SD card Imager.
The SSD is connected to a SATA-USB adapter, the adapter has 2 USB Cables, one USB1 and one USB3.
Im pretty sure that the USB1 is for power, and USB3 for data.

Problem:
When using just the USB3 cable plugged into a USB2 port on the pi, everything works exactly as expected.
When I try to plug in the power cable (USB1 cable), the pi doesn't boot.
When I try to plug in the USB3 cable to a USB3 port, the pi doesn't boot.

I don't really care about plugging in the USB1 cable, since the ssd works no problem off of the USB3 cable alone, but I do care about having a USB3-USB3 connection, which currently does not work.

The product page is in serbian, but does not provide any information I haven't listed here except a picture.
https://gigatron.rs/ostali-adapteri-i-k ... 460-175801

When running on a USB2 connection (i.e. SATA_SSD > Adapter_USB3_Cable > USB2_PORT) i can display this data with lsusb -v:

Code: Select all

Bus 001 Device 003: ID 152d:0562 JMicron Technology Corp. / JMicron USA Technolo                                                                                                                                                             gy Corp.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x152d JMicron Technology Corp. / JMicron USA Technology Co                                                                                                                                                             rp.
  idProduct          0x0562
  bcdDevice            2.14
  iManufacturer           1
  iProduct                2
  iSerial                 3
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0055
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
        Command pipe (0x01)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
        Data-out pipe (0x04)

User avatar
FTrevorGowen
Forum Moderator
Forum Moderator
Posts: 6814
Joined: Mon Mar 04, 2013 6:12 pm
Location: Bristol, U.K.

Re: SSD Over USB adapter not working (fully)

Sun Apr 04, 2021 3:36 pm

JMicron chipset-based adapters are known to be "problematic" (ie. don't always "play well" with Linux) see this (long) thread: viewtopic.php?f=28&t=245931
I, and many others, have found ASMedia based devices more reliable esp. for USB booting. FWIW the various adapters etc. I have tried can be seen here: http://www.cpmspectrepi.uk/raspberry_pi ... SATA_Cable (onwards)
Trev.
Still running Raspbian Jessie or Stretch on some older Pi's (an A, B1, 2xB2, B+, P2B, 3xP0, P0W, 2xP3A+, P3B, B+, and a A+) but Buster on the P3B+, P4B's & P400. See: https://www.cpmspectrepi.uk/raspberry_pi/raspiidx.htm

LTolledo
Posts: 6658
Joined: Sat Mar 17, 2018 7:29 am
Location: Anime Heartland

Re: SSD Over USB adapter not working (fully)

Sun Apr 04, 2021 9:50 pm

I can confirm that USB adapters with JMicron chipset are not suitable for USB native boot
Those are usable though only as data drive adapters.

did test out ones with JMicron on this RPi4B-4GB SSD boot.... slow-start, unstable, hit-or-miss, sluggish performance....... totally frustrating.

below are the ones that I used/using: note the difference in the USB-A connector....
clone wars topside.jpg
clone wars topside.jpg (199.25 KiB) Viewed 314 times
clone wars backside.jpg
clone wars backside.jpg (183.4 KiB) Viewed 314 times
"Don't come to me with 'issues' for I don't know how to deal with those
Come to me with 'problems' and I'll help you find solutions"

Some people be like:
"Help me! Am drowning! But dont you dare touch me nor come near me!"

Dflex
Posts: 7
Joined: Wed Feb 14, 2018 9:32 pm

Re: SSD Over USB adapter not working (fully)

Sun Apr 04, 2021 10:46 pm

I boot only from SD cards, but have had serious problems since this morning even when only reading from a hard drive connected via a JMicron controller. The problems include corruption of the drive connected via the JMicron controller.

The central parts of my system include:

1) Pi4 as file server for an SSD using an interface of the type in your photograph. This device continues to work satisfactorily.

2) Pi4 as file server for a hard drive using an interface with a JMicron controller.

The brand of interface used in (1) is not indicated, but lsusb reports:

ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge

Backups from (2) fail with I/O error, after which its hard drive is no longer accessible remotely or locally until the server is rebooted.

In one case, the drive was not recoverable after reboot: it had to be re-formatted and restored from backup (despite that access to that drive had been only or mainly reads).

I have tried connecting the JMicron controller via one of the Pi's USB2 sockets, but this does not avoid the problem.

On (2) I have today replaced the JMicron-based interface with one of the same type as on (1). After this change backup from (2) proceeds correctly, including a changed file of over 8Gbyte.

Thus, it appears that not only booting is affected by the problem which you describe (or there is another, separate problem).

The original configuration worked satisfactorily for many months and I have made no change recently, so there is suspicion that a very recent software change may have provoked the present problems.

Return to “Troubleshooting”