Re: USB 3 to SATA ASM1042 dies under I/O load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stefan,
  I can only tell you that I had success with ASM1051 on the drive side
(SilverStone Treasure TS04) against both NEC uPD720200 (rev. 3) controller
and TI controller on the computer side. But ASM1051 does not propagate
S.M.A.R.T. values back from the drive.
  Once I had a "bad firmware" in ASM2105 in SilverStone Treasure TS04B.
That one I returned.
  I am happy with 4 pcs of "Manhattan Superspeed USB to SATA adapter"
giving me each 150MB/s, working with 2.7TiB Seagate SV35 and Barracuda drives
despite the fact the retail box claims the adapter support 48-bit addressing
up to 2TB drives only. gdisk shows the drives report 512B sectors while should
be physically 4kB sector drives. I am handling files of up to 250GB
and shuffling data between 5 such drives. When things work on my laptop
through one 2-port XHCI TexasInstruments-based controller, 1 eSATA port of
SandyBridge and 2-port XHCI NEC-based express card I can read/write between
all the drives (including writes to /dev/null) to total 2.5Gbps as shown by
vmstat. From each single SATAIII drive I can get stably 140-150MBps with 5
drives I could not saturate the system throughput (well, just reads and writes
to /dev/null as I said).

  A chase for working USB3 to SATA converters might take you to
http://forums.whirlpool.net.au/archive/1558885 and from there to
https://docs.google.com/spreadsheet/ccc?key=0AqniL4H-VGJSdEJPZTNjbFlEWlFEbU5adnFYRFRxeFE

  I have added some items to the table and also am attaching my old benchmarks.



  Maybe check if your express card works quickly enough? Maybe play with tehse
kernel command line pci=option,option2,... parameters (from kernel-parameters.txt
file):


                pcie_bus_tune_off       Disable PCIe MPS (Max Payload Size)
                                tuning and use the BIOS-configured MPS defaults.
                pcie_bus_safe   Set every device's MPS to the largest value
                                supported by all devices below the root complex.
                pcie_bus_perf   Set device MPS to the largest allowable MPS
                                based on its parent bus. Also set MRRS (Max
                                Read Request Size) to the largest supported
                                value (no larger than the MPS that the device
                                or bus can support) for best performance.
                pcie_bus_peer2peer      Set every device's MPS to 128B, which
                                every device is guaranteed to support. This
                                configuration allows peer-to-peer DMA between
                                any pair of devices, possibly at the cost of
                                reduced performance.  This also guarantees
                                that hot-added devices will work.

Martin

Stephan Diestelhorst wrote:
> Hi,
>   I am using a salvaged (from an external Toshiba spinning disk) SATA
> - USB 3 adaptor with a VLI701-04 chip behind a ASMedia Technology Inc.
> ASM1042 SuperSpeed USB Host Controller (ExpressCard slot).
> 
> I have attached a Samsung sereis 840 SSD and whenever I dd some data
> onto the disk, the drive disconnects and then reconnects as a
> different /dev/sd*.  Running 3.9 kernel (also happened with an older
> one).  I know that I should not reuse that controller for such high
> bandwidth operation, but maybe there is a tweak (using USB 2 works,
> but I was hoping to get more than 30 MB/s from this thing ;-) to make
> it work?
> 
> Many thanks for pointers!
> 
> Stephan
> 
> lspci -vv
> 
> 05:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB
> Host Controller (prog-if 30 [XHCI])
>         Subsystem: Device 174c:2104
>         Physical Slot: 3
>         Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR+ FastB2B- DisINTx+
>         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
>         Latency: 0, Cache Line Size: 64 bytes
>         Interrupt: pin A routed to IRQ 19
>         Region 0: Memory at f1f00000 (64-bit, non-prefetchable) [size=32K]
>         Capabilities: <access denied>
>         Kernel driver in use: xhci_hcd
> 
> lsusb -vv
> Bus 010 Device 005: ID 0480:a009 Toshiba America Info. Systems, Inc.
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               3.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0         9
>   idVendor           0x0480 Toshiba America Info. Systems, Inc.
>   idProduct          0xa009
>   bcdDevice           37.10
>   iManufacturer           1 TOSHIBA
>   iProduct                2 External USB 3.0
>   iSerial                 3 2222290118E5
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           44
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0x80
>       (Bus Powered)
>     MaxPower              224mA
>     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              14
>       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              14
> 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
>       Link Power Management (LPM) Supported
>   SuperSpeed USB Device Capability:
>     bLength                10
>     bDescriptorType        16
>     bDevCapabilityType      3
>     bmAttributes         0x00
>       Latency Tolerance Messages (LTM) Supported
>     wSpeedsSupported   0x000c
>       Device can operate at High Speed (480Mbps)
>       Device can operate at SuperSpeed (5Gbps)
>     bFunctionalitySupport   2
>       Lowest fully-functional device speed is High Speed (480Mbps)
>     bU1DevExitLat          10 micro seconds
>     bU2DevExitLat        2047 micro seconds
> Device Status:     0x0000
>   (Bus Powered)
> ...
> Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               3.00
>   bDeviceClass            9 Hub
>   bDeviceSubClass         0 Unused
>   bDeviceProtocol         3
>   bMaxPacketSize0         9
>   idVendor           0x1d6b Linux Foundation
>   idProduct          0x0003 3.0 root hub
>   bcdDevice            3.09
>   iManufacturer           3 Linux 3.9.0-custom xhci_hcd
>   iProduct                2 xHCI Host Controller
>   iSerial                 1 0000:05:00.0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           31
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0xe0
>       Self Powered
>       Remote Wakeup
>     MaxPower                0mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         9 Hub
>       bInterfaceSubClass      0 Unused
>       bInterfaceProtocol      0 Full speed (or root) hub
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x81  EP 1 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0004  1x 4 bytes
>         bInterval              12
>         bMaxBurst               0
> Hub Descriptor:
>   bLength              12
>   bDescriptorType      42
>   nNbrPorts             2
>   wHubCharacteristic 0x000a
>     No power switching (usb 1.0)
>     Per-port overcurrent protection
>   bPwrOn2PwrGood       10 * 2 milli seconds
>   bHubContrCurrent      0 milli Ampere
>   bHubDecLat          0.0 micro seconds
>   wHubDelay             0 nano seconds
>   DeviceRemovable    0x00
>  Hub Port Status:
>    Port 1: 0000.0203 5Gbps power U0 enable connect
>    Port 2: 0000.02a0 5Gbps power Rx.Detect
> Binary Object Store Descriptor:
>   bLength                 5
>   bDescriptorType        15
>   wTotalLength           15
>   bNumDeviceCaps          1
>   SuperSpeed USB Device Capability:
>     bLength                10
>     bDescriptorType        16
>     bDevCapabilityType      3
>     bmAttributes         0x00
>       Latency Tolerance Messages (LTM) Supported
>     wSpeedsSupported   0x0008
>       Device can operate at SuperSpeed (5Gbps)
>     bFunctionalitySupport   3
>       Lowest fully-functional device speed is SuperSpeed (5Gbps)
>     bU1DevExitLat           0 micro seconds
>     bU2DevExitLat           0 micro seconds
> Device Status:     0x0001
>   Self Powered
> 
> dmesg
> ...
> [  238.287447] usb 10-1: new SuperSpeed USB device number 2 using xhci_hcd
> [  238.301678] usb 10-1: Parent hub missing LPM exit latency info.  Power manage
> ment will be impacted.
> [  238.372331] Initializing USB Mass Storage driver...
> [  238.372511] scsi4 : usb-storage 10-1:1.0
> [  238.372599] usbcore: registered new interface driver usb-storage
> [  238.372601] USB Mass Storage support registered.
> [  241.766368] scsi 4:0:0:0: Direct-Access     TOSHIBA  External USB 3.0 0201 PQ
> : 0 ANSI: 6
> [  241.766995] sd 4:0:0:0: Attached scsi generic sg1 type 0
> [  241.767613] sd 4:0:0:0: [sdb] 976773164 512-byte logical blocks:
> (500 GB/465 GiB)
> [  241.768990] sd 4:0:0:0: [sdb] Write Protect is off
> [  241.768994] sd 4:0:0:0: [sdb] Mode Sense: 2f 00 00 00
> [  241.769623] sd 4:0:0:0: [sdb] Write cache: disabled, read cache:
> enabled, doesn't support DPO or FUA
> ...
> doing dd if=/dev/zero of=/dev/sdb5 bs=$((512*1024))
> ...
> [  319.204142] usb 10-1: USB disconnect, device number 2
> [  319.212024] scsi 4:0:0:0: rejecting I/O to offline device
> [  319.212031] scsi 4:0:0:0: [sdb] killing request
> [  319.213431] scsi 4:0:0:0: [sdb] Unhandled error code
> [  319.213435] scsi 4:0:0:0: [sdb]
> [  319.213437] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
> [  319.213439] scsi 4:0:0:0: [sdb] CDB:
> [  319.213441] Write(10): 2a 00 09 7c 55 a4 00 00 f0 00
> [  319.213450] end_request: I/O error, dev sdb, sector 159143332
> [  319.213458] Buffer I/O error on device dm-4, logical block 4485
> [  319.213460] lost page write due to I/O error on dm-4
> <several more errors for other blocks>
> ...
> [  319.228035] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
> [  319.228037] scsi 4:0:0:0: [sdb] CDB:
> [  319.228039] Write(10): 2a 00 09 7c 56 94 00 00 f0 00
> [  319.228048] end_request: I/O error, dev sdb, sector 159143572
> [  320.266437] usb 10-1: Device not responding to set address.
> [  320.475416] usb 10-1: new SuperSpeed USB device number 3 using xhci_hcd
> [  320.489707] usb 10-1: Parent hub missing LPM exit latency info.
> Power management will be impacted.
> [  320.505340] scsi5 : usb-storage 10-1:1.0
> [  324.216898] quiet_error: 284604 callbacks suppressed
> [  324.216903] Buffer I/O error on device dm-4, logical block 307966
> [  324.216906] lost page write due to I/O error on dm-4
> <more blocks>
> [  327.042607] scsi 5:0:0:0: Direct-Access     TOSHIBA  External USB
> 3.0 0201 PQ: 0 ANSI: 6
> [  327.043199] sd 5:0:0:0: [sdc] 976773164 512-byte logical blocks:
> (500 GB/465 GiB)
> [  327.043565] sd 5:0:0:0: [sdc] Write Protect is off
> [  327.043570] sd 5:0:0:0: [sdc] Mode Sense: 2f 00 00 00
> [  327.043876] sd 5:0:0:0: [sdc] Write cache: disabled, read cache:
> enabled, doesn't support DPO or FUA
> [  327.044627] sd 5:0:0:0: Attached scsi generic sg1 type 0
> [  327.049184]  sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 >
> [  327.050757] sd 5:0:0:0: [sdc] Attached SCSI disk
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

Attachment: USB_2_and_3_Devices_with_chipsets.xls
Description: MS-Excel spreadsheet

Attachment: USB3_Device_speeds.xls
Description: MS-Excel spreadsheet


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux