On 01/10/2010 23:25, Chris Frey wrote: > On Fri, Oct 01, 2010 at 05:14:04PM +0100, Toby Gray wrote: >> Yes. Sorry, I missed out that rather essential bit of information :) >> Option #4 fixes both the time out issue on some machines (which was >> previously fixed by SET INTERFACE) and the usb-storage issue (which is >> caused by SET INTERFACE). >>> I'd pick 4, with lots of comments in the code to explain why. :-) >> I was hoping you'd say go for 4. I've submitted it to my github branch >> as c869133cae5f3b27b321. I've tested it with a range of OS v4 and OS v5 >> devices inside and outside of a VM and it works nicely. > It's the best of both worlds, then. Merged with gratitude. :-) > And thanks for the large comment... very helpful for future maintenance. Thanks for merging that. And no need to thank me; the existence of Barry has made supporting USB channels on Linux considerably easier so I'm more than happy to help. >> I'm half tempted to add in option 2 as well, just to be sure that Barry >> tries as hard as possible to work, even if it causes some issues with >> usb-storage. What do you think? > Option 2 was: > >>>> 2) Change the probing code in src/probe.cc so that it tries probing the >>>> end points without a call to SET INTERFACE and then, if those probes >>>> fail, calls SET INTERFACE and probes again. I think it's probably best >>>> to probe all the end points and then call SET INTERFACE, rather than >>>> doing a probe, SET INTERFACE, and then a re-probe for each end point in >>>> turn. This would still have the usb-storage issue, but only for users >>>> where calling SET INTERFACE is necessary. > Currently there is no call to usb_set_altinterface() in Barry anymore. > As I recall, that was useful for FreeBSD and Mac OSX, although it looks > like you've tested on those platforms already with success. Yes. There's still a build issue with Mac OS X and gettext, but see my other post to the mailing list about that. > I'd say go for it. If the common case almost always works, then there's > no speed penalty during startup anyway. Yeah. As quite a lot of this is timing dependent I was a bit fearful that even though all the machines I've tested on are fine with the current code, there might still sometimes be a need to call usb_set_altinterface(). I've made the changes in 9e346dc6025a9babad24 in my github branch.
Regards, Toby ------------------------------------------------------------------------------ Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d _______________________________________________ Barry-devel mailing list Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel