On Tue, Sep 21, 2010 at 12:12:57PM +0100, Toby Gray wrote: > However there's clearly a reason for the call to usb_set_altinterface, > so can anyone remember what devices it was necessary for?
It wasn't a specific device, it was all devices, I believe. It was to work around a change in the kernel, which caused odd timeout issues. Also, this fix made things work on Mac OSX and FreeBSD. The usb_set_altinterface() call is the only one in libusb that works directly with the interface, as far as I can tell. You can read the long, painstaking thread here. I ended up doing a git-bisect on the kernel to find the spot where it was having trouble. http://marc.info/?t=123554440300001&r=1&w=2 Especially here, where Alan Stern says that calling set_altinterface() should always be safe. http://marc.info/?l=linux-usb&m=123627088604495&w=2 > Depending on the history of that call and what devices it was needed > for, I'd suggest doing one of the following: > 1) Removing the call to it entirely > 2) Only call it if there are multiple alternate settings > 3) Add it as an option for the various tools and API users > 4) Carry on calling it but using a bAlternateSettings value retrieved > from the device; this won't fix the mass storage issue but will fix the > Barry code. > > What do people think? I think someone needs to reproduce the original problem from 2009, and see if option 2 would be a suitable fix, for Linux, Mac OSX, and FreeBSD. :-) - Chris ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Barry-devel mailing list Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel