Frederic Crozat wrote:
Indeed. Without this patch, usbhid kernel module manages Huey device and any other access is causing libusb to abort with the following error. Error - Configuring USB port 'usb:/bus/dev12 (GretaMacbeth Huey) to 1 failed with -16 (could not set config 1: Device or resource busy) So, we either need an udev rule to "unbind" the device from usbhid (I'm currently doing that in Mandriva package) or fix the kernel to not manage Huey with usbhid (I think it is better this way).
Well in my view, things have gone backwards. It was far more elegant, less intrusive, and more usable for usb_detach_kernel_driver_np() to do the work, rather than compiling exceptions into the kernel for particular devices. I would guess that someone has made a change that prevents non-root applications doing a usb_detach_kernel_driver_np() successfully, with some misguided idea of "tightening up security". If so, then the HCFR device won't work either, since it calls itself a communication device. And some applications will want to treat it like a communication device, and some (like Argyll) will want to use libusb to access it, so compiling an exception into the kernel driver is not the way to fix this. What should happen is that if the user has permission to access the device, then the usb_detach_kernel_driver_np() should be honoured. Graeme Gill.