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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html