On Thu, May 29, 2014 at 10:03:42AM +0530, Pratyush Anand wrote: > OTG3 and EH Compliance Plan 1.0 talks about Super Speed OTG Verification > system (SS-OVS) which consists of an excersizer and analyzer. > > USB Compliance Suite from Lecroy or Ellisys can act as such SS-OVS for > Link Layer Validation (LVS). > > Some modifications are needed for an embedded Linux USB host to pass all > these tests. Most of these tests require just Link to be in U0. They do > not work with default Linux USB stack since, default stack does port > reset and then starts sending setup packet, which is not expected by > Link Layer Validation (LVS) device of Lecroy Compliance Suit. Then, > There are many Link Layer Tests which need host to generate specific > traffic. > > This patch supports specific traffic generation cases. As of now all the > host Lecroy Link Layer-USBIF tests (except TD7.26) passes > with this patch for single run using Lecroy USB Compliance Suite > Version 1.98 Build 239 and Lecroy USB Protocol Analyzer version 4.80 > Build 1603. Therefore patch seems to be a good candidate for inclusion. > Further modification can be done on top of it. > > lvstest driver will not bind to any device by default. It can bind > manually to a super speed USB host controller root hub. Therefore, regular > hub driver must be unbound before this driver is bound. For example, if > 2-0:1.0 is the xhci root hub, then execute following to unbind hub driver. > > echo 2-0:1.0 > /sys/bus/usb/drivers/hub/unbind > > Then write Linux Foundation's vendor ID which is used by root hubs and > SS root hub's device ID into new_id file. Writing IDs into new_id file > will also bind the lvs driver with any available SS root hub interfaces. > > echo "1D6B 3" > /sys/bus/usb/drivers/lvs/new_id > > Now connect LVS device with root hub port. > > Test case specific traffic can be generated as follows whenever needed: > > 1. To issue "Get Device descriptor" command for TD.7.06: > echo > /sys/bus/usb/devices/2-0\:1.0/get_dev_desc > > 2. To set U1 timeout to 127 for TD.7.18 > echo 127 > /sys/bus/usb/devices/2-0\:1.0/u1_timeout > > 3. To set U2 timeout to 0 for TD.7.18 > echo 0 > /sys/bus/usb/devices/2-0\:1.0/u2_timeout > > 4. To issue "Hot Reset" for TD.7.29 > echo > /sys/bus/usb/devices/2-0\:1.0/hot_reset > > 5. To issue "U3 Entry" for TD.7.35 > echo > /sys/bus/usb/devices/2-0\:1.0/u3_entry > > 6. To issue "U3 Exit" for TD.7.36 > echo > /sys/bus/usb/devices/2-0\:1.0/u3_exit > > Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> I get the following build error with this driver enabled: ERROR: "usb_alloc_dev" [drivers/usb/misc/lvstest.ko] undefined! scripts/Makefile.modpost:90: recipe for target '__modpost' failed Please be more careful when sending patches in... greg k-h -- 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