I've got a big (and late) project that needs to use libusb/libusbx to ingest 
data from a satellite demodulator.

I need async capability, as well as the ability to talk via two different 
logical interfaces via different processes, even through they are on the same 
USB interface (logical interface 1 is a control channel, with an IN/OUT EP, and 
logical interface 2 is the data channel with an IN endpoint). I know it's 
retarded they are on the same USB interface, but I can handle this with forking 
after claim_interface() (I think).

My main problem is in getting a working version of this library. I'm using 
CentOS5 (which can't be changed for other reasons), and the latest version of 
the libusbx simply don't work at all for me due to hotplug issues. The problem 
I'm getting is that it assumes I have netlink if I configure libusbx with 
--enable-udev=no. I have to use --enable-udev=no because while there is an 
early udev available, there is no way libudev.h will ever be available for this 
OS release.

However, netlink isn't there either, so what I really need to do is to disable 
hotplug altogether, and I don't see any way to do this.


So after fighting the above problem in 1.0.17 of libusbx, I ended up trying to 
move the project forward by going back releases until I found something that 
worked. This is libusb-1.0.8. HOWEVER, now in my latest testing, it seems I 
can't get the async data ingest thread to terminate properly, seemingly due to 
a race condition bug in that old version of libusb. (libusb_handle_events() is 
all that is available).

So it seems I'm stuck between a rock and a hard place here. I can't use the old 
version of libusb (1.0.8) because it's async stuff is racy/broken, and I can't 
use the new libusbx stuff since it won't get past libusb_init().


Can anyone help me with this? Maybe via a patch that completely disables 
hotplug?


PS: I'm using this through Perl, via a new XS level language extension that I'm 
writing. I have this working with the async callbacks (which was a nightmare in 
itself).

Thanks,
    Judd

____________________________
Judd Taylor
Software Engineer

Orbital Systems, Ltd.
3807 Carbon Rd.
Irving, TX 75038-3415

(972) 915-3669 x127
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to