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