Henning Meier-Geinitz wrote:
... Now I found out that I can provoke the problem also with Linux. If I use libusb in it's most basic way, there is no problem. But if I use any of the functions usb_set_configuration(), usb_resetep(), usb_clear_halt(), I get the same problem.
I've never exactly been clear on when usb_resetep() could be used correctly ... it just sets the toggle to DATA0, even if the endpoint is busy. So there's basically no way to know if it's even safe to try changing the toggle at that point; and there's no way to know if the device expects DATA0, so it can easily lead to dropped packets (and then to reads that hang, as your case).
Anyone any ideas? Just crappy hardware? But why is the error triggered by a simple function like resetep?
Near as I can tell, "resetep" is a crappy function that will, at least half the time you use it, cause misbehavior ... and the rest of the time, will be a NOP (because the toggle is already DATA0, as it should be). I've suspected that the correct implementation in usbfs would be just to always fail with some errno. You might _also_ have crappy hardware (or firmware in it). - Dave ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
