From: Tim R. <ti...@pr...> - 2007-08-29 16:25:03
|
D Hutchinson wrote: > I am developing an app on Centos Linux. It works fine when run as root, > but fails when run as a non-privileged user. The failing function is > usb_set_configuration() call right after a successful usb_open(). I > don't see how to find any finer information about what the failure is. > I have run "chmod 666 /dev/usb*". That's not where USB devices live. > Is there a way to successfully call > usb_set_configuration as a non-privileged user? Is there some other > node in /dev that I need to change the permissions on? > libusb uses the usbfs pseudo file system to talk to the device. These files live in /proc/bus/usb. However, the file name changes every time your device is plugged in (for example, /proc/bus/usb/003/004). For testing, you can do the chmod, but for production, you'll want something more predictable. For that, I suggest you look into udev. This allows you to write a "rule" that matches your device and triggers actions, like assigning a more friendly device name and changing the permissions. I, for one, would welcome "best practices" ideas from those who are more deeply involved in Linux USB. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |