On 01/10/2010 03:31, Chris Frey wrote:
> On Thu, Sep 30, 2010 at 02:16:32PM +0100, Toby Gray wrote:
>> 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.
>
>> 4) Removing the calls to ClearHalt in Probe::PairProbe() and
>> Controller::SetupUsb() also fixes this issue without needing to call SET
>> INTERFACE. However the calls to ClearHalt are there to support the 8830
>> which does need them, so I'd suggest having the Probe::PairProbe() try
>> to probe without clearing halt and then, if that fails, retrying after
>> clearing halt. The ProbeResult would then contain whether clearing halt
>> was necessary or not for that device, which would be used by
>> Controller::SetupUsb() to determine if ClearHalt should be called.
>>
>> What's your feeling on which of these options is best? I would
>> personally favour 4 as it seems to work nicely on the range of
>> BlackBerry devices that I've tried.
> Options 2 and 4 sound like the smartest options.  Am I correct in assuming
> that option #4 would fix the usb-storage problem as well?
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.

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?

Regards,

Toby

------------------------------------------------------------------------------
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

Reply via email to