Hi, I have just updated sanei_usb in CVS. Please test.
Changes: * added some constants from the USB spec to sanei_usb.h. If you need more, please contact me. * added support for libusb The next goal is updating the documentation. Some details about libusb support: libusb 0.1.6 is needed. I have tested 0.1.6a and their 0.1 CVS version. The configure script should be smart enough to only use 0.1.6 or newer. If libusb isn't found, everything works like before. However, if you use sanei_usb, you shouldn't mix sanei_usb_open and libc functions like close () because the fd variable used by sanei_usb_open and the other sanei_usb functions is an index, not a normal file descriptor now. Otherwise, your backends should work without changes. If you use sanei_usb_attach_matching_devices () or sanei_usb_find_devices () you will automatically use libusb if available. First the usual kernel devices are checked (/dev/usb/scanner etc.), then the libusb devices. Libusb devices are named like this: "libusb:bus-id:device-id", e.g. "libusb:001:002" for Linux. Example output from scanimage -L Kernel driver loaded: device mustek_usb:/dev/usb/scanner1' is a Mustek 600 CU flatbed scanner device mustek_usb:/dev/usb/scanner2' is a Mustek 1200 CU flatbed scanner device mustek_usb:/dev/usb/scanner0' is a Mustek 1200 UB flatbed scanner device mustek_usb:/dev/usbscanner0' is a Mustek 1200 UB flatbed scanner Without kernel driver: device mustek_usb:libusb:002:003' is a Mustek 600 CU flatbed scanner device mustek_usb:libusb:001:003' is a Mustek 1200 CU flatbed scanner device mustek_usb:libusb:002:002' is a Mustek 1200 UB flatbed scanner Make sure that libusb can access the USB device files. For Linux: set permissions for e.g. /proc/bus/usb/001/002 or run as root. Also make sure that your scanner isn't claimed by the kernel scanner driver. For Linux, try rmmod scanner for testing. Compilation was tested with and without libusb for Linux, FreeBSD, NetBSD, and OpenBSD. Testers of other systems are welcome. I'm especially interested in reports on Mac OS X, as libusb is reported to run on those systems, too. Comments: Linux: I have tested scanning with libusb and some Mustek USB scanners. No problems. Other scanners and sanei_usb_control_msg couldn't be tested. Reports are welcome. FreeBSD: I can't test if scanning with libusb really works as all my scanners are claimed by the kernel uscanner driver. NetBSD: With libusb, my scanners are detected, but opening returns"device busy"? OpenBSD: Libusb seems to detect the devices but the kernel prints "error setting timeout" afterwards? Bye, Henning