Hi, I'm developing an embedded device with USB support. I'm using a 2.4.31 USB kernel for printer and mass storage support. I have some trouble with UHCI devices behind an external HUB (it works on the root hub). The problem is, that the USB device won't be enumerated if it reports a max packet size larger than 8 in its device descriptor. I'm able to change the device firmware for testing purposes and I figured out, if I use a max packet size of 8, than ervery thing is fine. If I use a max packet size of 16, than the enumeration fails. Unfortunately, there are a lot of USB memory sticks on the market, with max packet size >8.
The enumeration fails that way, that the device sends first part (8 bytes) of the device descriptor to the host, showing a max packet size of 16. The device descriptor itself is 18 byte long. After that the host should start aksing for the device descriptor again, supporting the new packet lenght. In fact, he does so, but stops after reading the first 16 bytes. Normally, I would expect, that the host starts another "IN" transaction to fetch the missing to bytes. This works for the roothub (as mentioned above), but when connected to an external HUB, the HOST stops here and starts a complete new enumeration. Any idea? Thanks for you help, Christian. ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 ------------------------------------------------------------------------- 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