Published: 21. 7. 2016   Category: GNU/Linux

USB 3.0/2.0 to SATA/IDE cable

I needed a cheap USB to hard drive interface. My requirements are:

  1. Support for SATA and PATA (3.5"),
  2. support for USB 2.0 or 3.0 (preferably),
  3. equipped with external power supply,
  4. working in GNU/Linux.

During browsing Chinese shops on Ebay, I've found item listed as USB 3.0 2.0 to SATA/IDE 2.5"/3.5" HDD SATA IDE Adapter Converter Cable 5Gbps for $14.98. I have bought this one, because of the price and hoped that it will work in Linux. After several weeks device arrived and there is a brief review.

Fig.: If you wondering if your setup has USB 3.0, it is pretty simple, the USB 3.0 connector has a blue tongue.

Alternatively, if you are lazy to orbit around your box and examine all holes on it, use command lsusb, its output will contain something like this (to have 3.0 root hub is important!):

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

The USB↔SATA/IDE device is identified with Vendor ID 0x1f75 and Product ID 0x0611. The vendor is Innostor Technology Corporation and device is based on IS611 USB3.0 to SATA/PATA Bridge Controller. The device starts to work automatically right after connecting to my linux box with kernel 4.5.7-200.fc23.x86_64 in Fedora 23. The package contains cables for SATA and SATA power, also molex connector for IDE disk power, power supply supports 100-230 V mains.

Note: Buying cheap noname hardware is always risk, because you do not know what are you exactly buying. Even devices looking same and sold as same „brand“ could often contain different chips from different vendors and not all of them are supported in your OS. It is pity that sellers cannot describe proper HW identifications. But good think is, when they are offering any drivers to download. It is usually Windows driver (when provided as self-extract Setup.exe, it can be unpacked by cabextract) and then there will be some human readable file *.inf with device identification, for example USB\VID_1F75&PID_0611 (then you can search for this USB Vendor ID and Product ID and find if the device is supported in Linux).

The kernel messages when device connected (dmesg):

[519757.034174] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd
[519757.046840] usb 3-1: New USB device found, idVendor=1f75, idProduct=0611
[519757.046844] usb 3-1: New USB device strings: Mfr=4, Product=5, SerialNumber=6
[519757.046846] usb 3-1: SerialNumber: 20160421
[519757.047898] usb-storage 3-1:1.0: USB Mass Storage device detected
[519757.047997] scsi host5: usb-storage 3-1:1.0
[519758.051377] scsi host5: scsi scan: INQUIRY result too short (5), using 36
[519758.051392] scsi 5:0:0:0: Direct-Access     Generic  ATA/ATAPI Device      PQ: 0 ANSI: 0
[519758.052632] sd 5:0:0:0: Attached scsi generic sg2 type 0
[519758.056818] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[519831.459780] usb 3-1: USB disconnect, device number 2
[519833.077884] usb 3-1: new SuperSpeed USB device number 3 using xhci_hcd
[519833.089888] usb 3-1: New USB device found, idVendor=1f75, idProduct=0611
[519833.089891] usb 3-1: New USB device strings: Mfr=4, Product=5, SerialNumber=6
[519833.089893] usb 3-1: SerialNumber: 20160421
[519833.090841] usb-storage 3-1:1.0: USB Mass Storage device detected
[519833.091222] scsi host6: usb-storage 3-1:1.0
[519834.092348] scsi host6: scsi scan: INQUIRY result too short (5), using 36
[519834.092355] scsi 6:0:0:0: Direct-Access     CT120BX1 00SSD1                PQ: 0 ANSI: 0
[519834.093005] sd 6:0:0:0: Attached scsi generic sg2 type 0
[519834.093028] sd 6:0:0:0: [sdb] 234441648 512-byte logical blocks: (120 GB/112 GiB)
[519834.093720] sd 6:0:0:0: [sdb] Write Protect is off
[519834.093726] sd 6:0:0:0: [sdb] Mode Sense: 3b 00 00 00
[519834.094411] sd 6:0:0:0: [sdb] No Caching mode page found
[519834.094415] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[519834.098650]  sdb: sdb1 sdb2
[519834.100676] sd 6:0:0:0: [sdb] Attached SCSI disk
[519834.491936] EXT4-fs (sdb2): recovery complete
[519834.492054] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null)

Detailed info from USB stack (lsubs -vvv):

Bus 003 Device 003: ID 1f75:0611 Innostor Technology Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x1f75 Innostor Technology Corporation
  idProduct          0x0611 
  bcdDevice            0.06
  iManufacturer           4 
  iProduct                5 
  iSerial                 6 20160421
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           44
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    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     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x000c
  (Bus Powered)
  U1 Enabled
  U2 Enabled

Speed test

With SSD disk CT120BX100SSD1 (Crucial BX100 120GB):

hdparm -tT /dev/sdb:

/dev/sdb:
 Timing cached reads:   17036 MB in  2.00 seconds = 8524.17 MB/sec
 Timing buffered disk reads: 572 MB in  3.00 seconds = 190.59 MB/sec

For comparison, the internal magnetic drive in the same notebook:

/dev/sda:
 Timing cached reads:   15344 MB in  2.00 seconds = 7677.09 MB/sec
 Timing buffered disk reads: 330 MB in  3.01 seconds = 109.53 MB/sec

SSD over USB 3.0 is faster :) After that, I was quite curious how this disk perform directly on SATA interface, so I put the disk into an older desktop PC:

/dev/sda:
 Timing cached reads:   3840 MB in  2.00 seconds = 1920.17 MB/sec
 Timing buffered disk reads: 798 MB in  3.00 seconds = 265.66 MB/sec

The direct connection (buffered disk reads) is faster (almost 27 %), but number for cached reads is very low. From hdparm's manpage: This measurement is essentially an indication of the throughput of the processor, cache, and memory of the system under test.. The slower system has DDR2 800MHz memory and Intel i2 CPU, the faster one is DDR3 1600MHz memory and Intel i7. So this explains that big difference.

I'm using this interface for few days now, with ext4 filesystem and I did not find any problems. Because this price and USB 3.0 support it is a great deal.