On Thu, Sep 11, 2014 at 2:25 PM, Paul Fertser <[email protected]> wrote:
> Hello,
>
> On Thu, Sep 11, 2014 at 12:56:26PM +0800, Xiaofan Chen wrote:
>> On Thu, Sep 11, 2014 at 12:50 PM, Xiaofan Chen <[email protected]> wrote:
>> >
>> > Actually easy, Option 3 is the best. You can remove the 
>> > libusb_set_configuration
>> > under all OS (using libusb-1.0 API). The only time usb_set_configuration
>> > is required is when using libusb-win32 under Windows (libusb-0.1 API).
>> >
>>
>> A bit more details here. Under Linux and Mac OS X, the set_configuration
>> is not required since the driver already sets the default configuration and
>> I believe all the current supported adapters are okay with the default
>> configuration (very few device has two configurations).
>
> To add a bit to the picture regarding Linux:
>
> During the probe a usb_generic_driver is used which has some logic to
> select an appropriate (more likely to be suitable) config. See [1]
> (usb_choose_configuration()) for details.
>
> It's also clear from the kernel source that if one attempts to set an
> already selected configuration it'll be treated as lightweight reset

Yes that is correct for Linux.

> (which is apparently exactly what LPC Link2 firmware doesn't like).

> Anders, could you please post full "lsusb -v" output for your LPC Link
> with JLink firmware? Can someone with original JLink and JLink OB do
> the same please so we can be sure all of the devices have only one
> configuration anyway?
>
> Xiaofan, do I understand it right that basically the same applies to
> FreeBSD, NetBSD and OpenBSD as well, i.e. that it's likely we should
> fully drop set_configuration call regardless of the OS and particular
> JLink implementation?

I actually do not know the internals of the BSD libusb implementations.
They are based on the ugen driver and I tend to believe that there is no
need to set the configuration there as well.

> [1] http://lxr.free-electrons.com/source/drivers/usb/core/generic.c#L43
> [2] http://lxr.free-electrons.com/source/drivers/usb/core/devio.c#L1270
>



-- 
Xiaofan

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to