On 9/11/2019 8:27 AM, Peter Chen wrote: > On 19-09-10 22:01:58, Allen Blaylock wrote: >> I am trying to validate the USB on an embedded platform based on the NXP i.MX7. >> So far I have only been able to validate root ports on the board but also have a >> PCIe xhci controller and a microchip USB3503 hub off of the HSIC port on the >> SoC which I would like to run the tests on. >> >> I have reviewed the mailing list archives and found another discussion of using >> the EHSET driver to validate a driver and they reference the same issue I am >> seeing. When I plug in the device I see >> usb_ehset_test: probe of <port path> failed with error -32 >> for either the PCIe root hub or the USB3503 HSIC hub. I remember seeing some HUBs which fail to enter compliance mode (STALL SetFeature request) if a device is connected to the port. You can check usbmon logs if SetFeature request was sent to HUB. >> >> Further down in the mailing list chain Peter Chen states >>> Besides, do not connect HUB between your host board and emulation board >>> (for sending VID/PID). >> but there is no additional information regarding this statement. > EHSET is used to test embedded host electrical signal required by > USB IF Compliance Test, not test the signal for USB HUB, since the > EHSET module could only let embedded host controller enter test mode > by writing TEST MODE registers follows EHCI or xHCI spec. Maybe the > USB HUB could let its port enter test mode, but it needs to use other > ways, maybe vendor specific commands. IMO ehset should work with external HUB as well since all it takes to put a HUB's port in compliance mode is sending a SetFeature request which I believe driver already does. If HUB is sending stall then you can try putting a different port in compliance which is not connected. > > For your PCIe xHCI controller, if it follows xHCI spec, it should work > with EHSET, would you please debug it by code and see why return error? > > Peter >> Looking around >> it looks like the hubs have some mechanism for being tested[0] and the HSETT >> application for Windows supports testing of hubs according to the >> documentation.[1] >> >> Is this something there exists a module for or are either of these cases >> unexpected behavior for the EHSET kernel module? >> >> Allen >> >> [0] https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.testusb.com%2FHub_test.html&data=02%7C01%7Cpeter.chen%40nxp.com%7C370e9acddb11494ec68008d7363a93fa%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637037497528612416&sdata=djXerGrLCkeITKRqg4KteuzNn5TMxeOhqif58DWJYUE%3D&reserved=0 >> [1] https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fusb.org%2Fsites%2Fdefault%2Ffiles%2FHSETT_Instruction_0_4_1.pdf&data=02%7C01%7Cpeter.chen%40nxp.com%7C370e9acddb11494ec68008d7363a93fa%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C637037497528612416&sdata=gem9tyxRAWIppDFW%2Fpw08dPKqQQ9NMX%2BhH19V2SloiQ%3D&reserved=0 >> -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project