Re: Unable to access USB mass storage device with xhci. okay with ehci

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

 



Hi,

On 09-04-15 20:30, Steve Bangert wrote:
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

<snip>

Thanks, I've been running some tests with my own asmedia devices
as I was hoping that max_sectors = 240 would maybe also fix the
problems with the early asm1051 devices, but no such luck.

I've prepared a patch sets which adds a US_FL_MAX_SECTORS_240 flag and
sets that on asm105x devices like yours.

I'll Cc you when I submit the patchset upstream, please give it a test
run.

Regards,

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




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

  Powered by Linux