Till, On Saturday 04 November 2006 10:24 am, Till Harbaum wrote: > My device does all its communication via its control endpoint. Is > this already a bad idea?
Yes, it is. I have to maintain a driver which is doing control transfers during normal operation, and it is a major cause of problems: - control transfers are used rare, and the error handling (if some packets are corrupted or a timeout happens) is not well-debugged. If you want 100% reliability even in the presence of EMI pulses: stay away! (The USB host hardware capabilities of doing retransmissions are a joke. If you have EMI pulses longer than a few ms, you will have to add an additional software layer of retransmission.) - control transfers are used by the OS. You can't be sure that they don't interfere with your operations. This is especially true if you want to retransmitt in case of error, and there is no way you can control the control transfers not initiated by your driver. - handling of a protocoll stall on the control endpoint is broken (not possible) in some versions of the evil OS. You have to reset the device... Using bulk endpoints will be fine in most cases. Interrupt endpoints will work, too. But in Linux 2.4, there are problems if you want to use an INT OUT endpoint with one-shot-messages. Don't try this. regards Wolfgang ------------------------------------------------------------------------- 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