CentOS 5 is indeed clunky at this day and age, but I can't change it at this 
point, and I'm not even sure where to go from here. All of my software is RPM 
based, but CentOS6 is basically terrible. This is basically a multinational 
enterprise environment, so it's a big deal to change OS versions, and generally 
requires sending hard drives out to all of our customers with everything 
preinstalled. Yeah, not cheap. Once upon a time, the idea was that you'd be 
able to upgrade from like RHEL5 to RHEL6 via yum or RPM, but still waiting on 
that to materialize properly.



In any event, I was able to get the code working (mostly, still a big or two) 
with libusb 1.0.9. The last version I will ever be able to use will be 1.0.15, 
I suppose, since that's where hotplug via netlink or libudev becomes mandatory. 
It's not particularly clear how to implement a single threaded async loop 
termination via the handle_events_completed() call, BTW. That was the main 
issue.



It's worth noting that I had hotplug working great with CentOS5 libusb 0.1, 
using udev scripts. I may be able to use that same setup on this 
implementation. I had to ditch that because there was no async support.



I'm not doing direct usbfs for this application. I have no time to start from 
scratch, yet again.



-Judd



____________________________
Judd Taylor
Software Engineer

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

(972) 915-3669 x127
________________________________
From: Tim Roberts [t...@probo.com]
Sent: Monday, January 27, 2014 12:23 PM
To: libusbx-devel@lists.sourceforge.net
Subject: Re: [Libusbx-devel] Major problems using libusbx on CentOS 5

Judd Taylor wrote:
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),...

CentOS 5 uses the 2.6.18 Linux kernel.  It's not impossible that your troubles 
are due to the antiquity of your kernel, and not the interface you are using to 
get to it.  The USB kernel support evolved rather dramatically through the 2.6 
kernels.


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().

It may be sacrilege to mention it here, but it's not really all that hard to 
code directly to the usbfs ioctls, and that way you have complete control over 
your destiny.

--
Tim Roberts, t...@probo.com<mailto:t...@probo.com>
Providenza & Boekelheide, Inc.

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&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