hi, On Thu, Dec 29, 2011 at 05:26:39PM +0530, Someshwar Danappa wrote: > > > I was studying the the Linux release (linux-3.2-rc1) for understanding the > > > level of support > > > the OS provides for USB 3.0 protocol in the gadget framework. My goal is > > > to understand > > > setup required to run Linux on a device and to implement USB mass storage > > > device support > > > "USB Attached SCSI" and "Bulk Only transfer" protocol with USB 3.0. > > > > We have a working implementation of UASP using the Target Framework. > > Sebastian (in Cc) wrote it. If you want access to the code, please ask > > from him. > > > > I have requested Sebastian in a separate mail to share code with me > and waiting for his response. > Would the UASP implementation be independent of the target framework? > I am assuming > it would be, because it is a protocol. No. The UASP implementation depends on the target framework. UASP is just a very thing adapter layer which adds USB transport support for the SCSI protocol. The entire protocol is handled by the target framework and UASP only routes packets. > > > 4. Does Linux have Superspeed support in class driver for the mass > > > storage gadget driver? If not, how do you suggest testing of the mass > > > storage gadget driver with super speed be done? What setup did you use > > > to test the DWC-USB3 device controller driver with Bulk transfers? > > > > it should work out of the box. I've been using for the past few months > > actually. > > > Do you mean when a 3.0 USB pen drive is connected to a system with > 3.0 USB host port running linux, enumeration goes through and you get > 3.0 data transfer rate? yup. > This would mean the class driver (which one?) communicating with > the device has support for 3.0 usb in Linux. that's almost right. The only catch is that linux's USB Class drivers are "speed-agnostic". The usbcore handles most of the speed-related features (like lack or presence of BOS Descriptor and the like) and the class driver doesn't have to care about that part. That's not ENTIRELY true though, but it's almost right ;-) > Then based on what does a UASP class driver or a USB Mass storage > class driver get selected for enumerating the connected device? descriptors. There's a bunch of documentation on Documentation/usb and the source code is open too, you can read it and it's the best way to understand what it does. -- balbi
Attachment:
signature.asc
Description: Digital signature