Here I use the library usb4java to access to my usb device.
The problem is I have an error while I try to claim an interface of my usb device. The error is on this line:
int msg = LibUsb.claimInterface(deviceHandler, 1);
error: USB error 3: Unable to claim interface: Access denied (insufficient permissions)
Is there someone who know why I have this error or how fix it ?
I got this error when adb server was running on MacOS. Restarting the computer released the interface so that I could claim it again. However, any time adb started, it would lock up the USB interface and a restart of the computer was required again.
I have the same issue you got, and my env is Mac OS X 10.9
After a long search with google, I finally found this just get the names of USB devices attached to a system? which helped me out, now my code works like charm。
solution is here,Cause mac will automatically claim devices, and we could create a dummy driver for it.
Here is step how to do it.
note: {your-usb-hardware-product-id} and {your-usb-hardware-vendor-id} have to be your own hardware ids, which can be obtained from About this mac - System Report - Hardware - USB .
For Linux system it sounds as if the user has no rights to access the USB devices.
This can be changed by adding a rule in /etc/udev/rules.d, for example with a name "50-usb-permissions.rules", and the content
while hex numbers 1234 are the vendorid and 5678 the productid of the attached USB device, which can be found by "lsusb -v". The sample rule allows the user group "users" access to the specified usb device. After a reboot the rule will be applied.
Depending in the Linux version the pathes may be different.