Request from me to anyone having trouble with ICA or AMU devices on linux with the latest cgminer.
Firstly, I've written a standalone program, that's all the necessary code from cgminer (with lots of changes and added code) to test libusb on anyone's linux
It's here: http://188.8.131.52/Pix/usbfail.c
It has instructions in the top how to compile it.
Running it will simply show you if the version of libusb on your linux is ... problematic ... but of course only if you have 2 or more ICA or AMUs
If anyone does this could they report 4 things in a pastebin or similar link (pastebin is here: http://pastebin.com/
Report their hardware (e.g. an intel/amd desktop, an RPi, or some other such description)
Report their linux verion with uname -srvmpio
Report their libusb version e.g.
RPM based system: rpm -qva | grep libusb
APT based system: apt-cache policy libusb-1.0 | egrep "^l|Install"
Pacman system: pacman -Q | grep libusb
Report their libusb libraries e.g. maybe something like: ls -las /lib*/libusb* /usr/lib*/libusb*
and finally the output of running ./usbfail
You may need to run it a few times - basically what's of interest is the most common result running it.
If it locks up in "flushing" and says it failed on exit after ~17s then that's the expected result for a bad libusb version
An aside - you can run ./usbfail lock
and it should actually report USB working even if it fails without using lock
It was simply a test to see if serial access to all usb IO solved the problem
You can (if you are inclined) also compile it against a working libusb and that should make usbfail work as expected also
To do this is something like:
In the cgminer directory, create a libusb directory mkdir libusb
Then cg libusb
Then in that directory extract the archive from:
Get libusb http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.16-rc10/
e.g. tar -xvf libusb-1.0.16-rc10.tar.bz2
Then cd libusb-1.0.16-rc10
You also need udev development files so will get a configure error if they aren't installed
So you've now built libusb and can compile usbfail and link against it as shown in the 2nd example in the top of usbfail.c
Of course none of this will fix cgminer for you, but really what I'm looking for is the answer to an on going problem to decide how to fix it.
It would appear it would be good to add a libusb folder in with cgminer and put a working version of it in there and compile cgminer against it and thus know that cgminer is always using a working version of libusb
None of this has anything to do with windows.