On Tue, 9 Jun 2015, Tom Yan wrote: > Hi all! > > I have the following adapter: > http://www.startech.com/HDD/Adapters/USB-3-SATA-adapter-cable-with-UASP~USB3S2SAT3CB > > which I am using it for: > http://ark.intel.com/products/56604/Intel-SSD-X25-M-Series-80GB-2_5in-SATA-3Gbs-50nm-MLC > > and I can see in `lsusb`: > Bus 002 Device 004: ID 174c:55aa ASMedia Technology Inc. ASM1051 SATA > 3Gb/s bridge > > When using the uas driver, I can see in fdisk: > Disk /dev/sdb: 74.5 GiB, 80026361856 bytes, 156301488 sectors > Units: sectors of 1 * 512 = 512 bytes > Sector size (logical/physical): 512 bytes / 512 bytes > I/O size (minimum/optimal): 512 bytes / 33553920 bytes > > But if I disable uas support in the kernel so that it fallback to > usb-storage, or if I connect it to sata directly, I can see: > Disk /dev/sdb: 74.5 GiB, 80026361856 bytes, 156301488 sectors > Units: sectors of 1 * 512 = 512 bytes > Sector size (logical/physical): 512 bytes / 512 bytes > I/O size (minimum/optimal): 512 bytes / 512 bytes > > As you can see, there's a change in optimal i/o size. > > So my question is, is this "33553920 bytes" some spec/requirement of > USB Attached SCSI? or could it be some kind of bug in the driver? Neither one. It simply demonstrates that the device behaves differently when it is using the UAS transport as opposed to using the USB mass-storage transport or the SATA transport. That number comes from the device itself, not from anything in the driver or the spec. > Another question is, is it possible to disable uas (which is compiled > as a module) without recompiling the kernel? If I blacklist uas, the > device doesn't pop up in lsusb or lsblk; I don't believe that. The device certainly ought to show up in the output from lsusb (but not lsblk). > if I delete the module, it > pop up in lsusb -t with empty "Driver=" but not lsblk. There is no significant difference between blacklisting the module and deleting it. Either way, the module will not be loaded into the running kernel. Anyway, what you want is more than just to disable uas -- you also want to make the usb-storage driver bind to your device. Normally it would not, because it would expect uas to bind instead. The way to do this is to add a "quirks=174c:55aa:u" module parameter for the usb-storage module (the first two numbers are the vendor and product IDs for your device). This will cause usb-storage to bind to the device instead of uas. Alan Stern -- 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