Re: [RFC 0/5] usbfs: Add support for bulk streams

2013-08-22 Thread Hans de Goede

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:
  bLength18
  bDescriptorType 1
  bcdUSB   3.00
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize0 9
  idVendor   0x174c ASMedia Technology Inc.
  idProduct  0x55aa ASMedia 2105 SATA bridge
  bcdDevice1.00
  iManufacturer   2 Plugable
  iProduct3 USB3-SATA-UASP1
  iSerial 1 0015
  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
  bInterfaceNumber0
  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
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0400  1x 1024 bytes
bInterval   0
bMaxBurst  15
  Endpoint Descriptor:
bLength 7
bDescriptorType 5

Re: [RFC 0/5] usbfs: Add support for bulk streams

2013-08-21 Thread Sarah Sharp
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:

Bus 004 Device 005: ID 174c:55aa ASMedia Technology Inc. 
Device Descriptor:
  bLength18
  bDescriptorType 1
  bcdUSB   3.00
  bDeviceClass0 (Defined at Interface level)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize0 9
  idVendor   0x174c ASMedia Technology Inc.
  idProduct  0x55aa 
  bcdDevice1.00
  iManufacturer   2 ASM1053E
  iProduct3 Plugable USB3-SATA-UASP1
  iSerial 1 123456789045
  bNumConfigurations  1
  Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength   44
bNumInterfaces  1
bConfigurationValue 1
iConfiguration  0 
bmAttributes 0xc0
  Self Powered
MaxPower   36mA
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  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
bmAttributes2
  Transfer TypeBulk
  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
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0400  1x 1024 bytes
bInterval   0
bMaxBurst  15
Binary Object Store Descriptor:
  bLength 5
  bDescriptorType15
  wTotalLength   22
  bNumDeviceCaps  2
  USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType16
bDevCapabilityType  2
bmAttributes   0x0002
  Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
bLength10
bDescriptorType16
bDevCapabilityType  3
bmAttributes 0x00
  Latency Tolerance Messages (LTM) Supported
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
bU2DevExitLat2047 micro seconds
Device Status: 0x0001
  Self Powered


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.

Sarah Sharp
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC 0/5] usbfs: Add support for bulk streams

2013-08-15 Thread Hans de Goede

Hi,

On 08/14/2013 08:21 PM, Greg KH wrote:

On Wed, Aug 14, 2013 at 02:32:01PM +0200, Hans de Goede wrote:

Hi All,

As discussed a long while back, usbfs is currently missing bulk streams
support, and we ought to fix this. So this patch extends the usbfs API with
bulk stream support. Please review.


At first glance, it looks sane, nice job.


Note this patch-set is compile-tested only, since I don't have access to
any USB-3 devices using bulk streams. I've 4 different USB-3 disk-enclosures,
but none of them supports uasp :|  Yesterday I've finally managed to find
an USB-3 disk enclosure online which in its description actually advertises
uasp support, I should receive that in a couple of days, at which point I can
actually test this (which is why I wrote this patch set now).


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/

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

Regards,

Hans
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC 0/5] usbfs: Add support for bulk streams

2013-08-15 Thread Hans de Goede

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 ...

Regards,

Hans
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC 0/5] usbfs: Add support for bulk streams

2013-08-14 Thread Greg KH
On Wed, Aug 14, 2013 at 02:32:01PM +0200, Hans de Goede wrote:
 Hi All,
 
 As discussed a long while back, usbfs is currently missing bulk streams
 support, and we ought to fix this. So this patch extends the usbfs API with
 bulk stream support. Please review.

At first glance, it looks sane, nice job.

 Note this patch-set is compile-tested only, since I don't have access to
 any USB-3 devices using bulk streams. I've 4 different USB-3 disk-enclosures,
 but none of them supports uasp :|  Yesterday I've finally managed to find
 an USB-3 disk enclosure online which in its description actually advertises
 uasp support, I should receive that in a couple of days, at which point I can
 actually test this (which is why I wrote this patch set now).

What device did you find?  I have yet to see a shipping device with
streams...

Also, please let us know how your testing goes.

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html