Alan Stern wrote: > On Fri, 14 Jul 2006, Aras Vaichas wrote: > >>Hello, >> >>we are currently in the process of getting CE certification for our embedded >>Linux products. Our device (under test) is configured as an ethernet gadget. >>We >>failed one test because the host machine was having problems with strange USB >>device behaviour. >> > > Does the nature of the host machine matter for the purposes of the test? > That is, if the host were running Windows instead of Linux, wouldn't you > still need to pass the test?
No, it could have been any sort of operating system. I chose Linux because I knew that these sorts of tests can cause all havoc with operating systems and at least I have some fine control over Linux. The testing lab only care about testing the device, device monitoring equipment (like laptops) are "isolated" as much as possible from the results. Eventually they ran the test with the laptop disconnected and then reconnected our device to see if it still worked after each type of test. It took a while longer, but we passed. >>* Is there something in the USB host management code that ignores a USB >>device >>which is acting strangely? > > Yes, there is. If a device fails to enumerate after 4 attempts, the USB > stack will ignore it until a disconnect event occurs. However, at each > reconnect everything should restart from the beginning. So when those > electrical pulses stopped, the device should have been enumerated > correctly. Is that in the USB specification? It would be good to quote something like that next time because most testing labs are electrically oriented and it's hard to convince them that it's the protocol that is causing the "failure". >>* Is there anything I can do in software on the device to help survive these >>sorts of circumstances in the future? > > Not that I can think of, not without violating the spirit of the USB spec. > > It would be better to tackle the shortcomings of the host by fixing the > host's software. To start with, you should compile the host's kernel with > CONFIG_USB_DEBUG and then post the host's system log for the test period. I'll try and include some form of host logging for the next barrage of tests if I can. I couldn't do anything this time because we couldn't delay the tests and miss our pre-booked (and expensive) testing window. I'll try and think of a way to simulate this test in the office if I can. I think the test was a short 1000V pulse, every 300ms on the power line. It must have caused the ground to bounce around relative to the laptop which detected it as a USB disconnect (I guess). I could probably rig up something similar that applies the same principle to the USB cable (not with a 1000V though!). regards, Aras Vaichas ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel