On Thu, 2015-04-09 at 16:49 +0200, Hans de Goede wrote:
> Hi,
>
> On 09-04-15 15:27, Steve Bangert wrote:
> > On Wed, 2015-04-08 at 10:56 -0400, Alan Stern wrote:
> >> On Wed, 8 Apr 2015, Steve Bangert wrote:
> >>
> >>> What i did was not correct, usb-storage.quirks=174c:55aa:u was added to
> >>> /etc/default/grub file after GRUB_CMDLINE_LINUX="rhgb quiet", using
> >>> the grub-configurator tool
> >>> followed by a reboot and i now have a working usb storage device
> >>> using xhci. Here's the usbmon trace and the dmesg log is attached.
> >>>
> >>> I also found a comment in the source code file (uas-detect.h see
> >>> attached) that states that my device, the ASMedia bridge is not
> >>> supported by the uas driver.
> >>
> >> The comment does not say that. It refers to a different model from
> >> yours. You can tell because the comment says that the non-working
> >> ASM1051 supports 32 streams, whereas your device supports 16.
> >>
> >> In fact, as far as I can tell, your device _does_ work with the uas
> >> driver provided max_sectors isn't too high (i.e., <= 240, which is the
> >> default value used by usb-storage). Unfortunately, the uas driver
> >> doesn't provide any way to set max_sectors.
> >>
> >> You can test this by adding a line that says:
> >>
> >> .max_sectors = 240,
> >>
> >> anywhere inside the definition of uas_host_template in the uas.c source
> >> file.
> >>
> >>> So my next question is there a way to bind usb-storage to this device
> >>> and have a working device out of the box without the hassle of adding
> >>> a module parameter?
> >>
> >> We should ask Hans, since he wrote the comment and code in uas-detect.h
> >> and presumably has a better understanding of the situation.
> >>
> >
> > uas.c was patched (see attached), the quirk line was temporarily removed
>
> Thanks for testing this.
>
> > and i now have access to the drive using xhci and uas. usbmon trace is
> > attached.
>
> What exactly do you mean with "i now have access to the drive using xhci and
> uas" ?
> Do you mean that everything works correctly with xhci + uas when setting
> .max_sectors = 240 ?
>
> Alan, any ideas on how to move forward with this, I do not want to limit all
> uas devices to .max_sectors = 240, I can whip up a patch to set max_sectors =
> 240
> on the ASM1053 but not the ASM1153.
>
> Steve, can you send me the output of lsusb -vv for the device in question ?
Hans, thanks for you assistance with this concern. Steve
Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051 SATA
3Gb/s bridge
Couldn't open device, some information will be missing
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 ASM1051 SATA 3Gb/s bridge
bcdDevice 1.00
iManufacturer 2
iProduct 3
iSerial 1
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)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html