Hi,
On 08/22/2013 12:54 AM, Sarah Sharp wrote:
On Thu, Aug 15, 2013 at 10:33:42PM +0200, Hans de Goede wrote:
Hi,
On 08/15/2013 12:42 PM, Hans de Goede wrote:
<snip>
What device did you find? I have yet to see a shipping device with
streams...
I don't know about streams, I'm hoping that having a uasp device means it will
also use streams. So far I've been unable to get my hands on anything doing uasp,
but it seems the tide is turning and now I've found multiple. Now lets hope that:
1) They really support uasp 2) they use streams (not sure if that is optional
or mandatory with uasp).
This is the one I've ordered:
http://www.amazon.co.uk/Anker%C2%AE-Uspeed-Enclosure-2-5-Inch-Support/dp/B005B5NLZ0/
Correction, this one just arrived today and it despite its product
description claiming it does, it does *not* support uasp.
This one also looks nice, and plugable is known to be a Linux friendly company,
and they should be available in the US:
http://www.amazon.co.uk/Plugable-Lay-Flat-Docking-Station-ASM1053E/dp/B00D399JU2
I've ordered this one now ...
I just ordered that one as well, and it looks like it doesn't have UAS
exposed, even though the descriptors mention it:
<snip>
> I wonder if this needs a vendor specific command to disconnect and
> reconnect in UAS mode? Or perhaps a firmware blob? I'll have to
> connect it under Windows with a USB bus analyzer and see what the driver
> does.
Mine arrived yesterday and it does have UAS support (as alternate
setting 1 for interface 0) in its descriptors, without needing any special
commands.
On a hunch I tried to reproduce your experience with my plugable dock,
and if I turn it on without a harddisk in there it does not advertise
uasp either, so likely it only advertises uasp if the harddisk is
tcq capable (or some such), and without a harddisk it cannot determine
that ...
I wrote a small libusb program to get the super speed endpoint companion
descriptors, and it can do up to 4 bulk streams on the uas data endpoints,
so it seems like a perfect device to test uasp and bulk streams with.
BTW we really ought to extend lsusb to list the number of streams an
endpoint can handle in the endpoint info it prints with -v.
I can load the Linux uas driver, after which I hit:
https://bugzilla.kernel.org/show_bug.cgi?id=51031
So I'm happy to hear you've one too, I hope it will do uasp once you
insert a harddisk, because then hopefully you can fix that bug :)
If inserting a harddisk fails, ASMedia controllers have upgradable firmware inside
them, so the first thing to try and get uasp working on your model is to try
the firmware upgrade:
http://plugable.com/2013/04/22/usb3-sata-uasp1-sleep-and-large-volume-firmware-update
Note I did not need to do this, but judging from the descriptors you do seem to have
slightly different firmware, yours has a manufacturer string of "ASM1053E", where
as mine has a manufacturer string of "Plugable". I've attached my full descriptors
(from when a harddisk is inserted into the dock).
If that does not work I guess you should contact plugable about this, as
said before various people in the FOSS community have good experience with them,
they are quite FOSS / Linux friendly.
Regards,
Hans
Bus 007 Device 003: ID 174c:55aa ASMedia Technology Inc. ASMedia 2105 SATA bridge
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 9
idVendor 0x174c ASMedia Technology Inc.
idProduct 0x55aa ASMedia 2105 SATA bridge
bcdDevice 1.00
iManufacturer 2 Plugable
iProduct 3 USB3-SATA-UASP1
iSerial 1 000000000015
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 121
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 36mA
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
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 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 16
Data-in pipe (0x03)
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
MaxStreams 16
Data-out pipe (0x04)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
MaxStreams 16
Status pipe (0x02)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Command pipe (0x01)
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
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: 0x0001
Self Powered