Hi Guys ( and girls ), >From the "teach a man to fish" train of thought I've done lots of homework but I still can't get manual USB driver binding to work!! You guys are my last resort, please help me to understand what's happening here.
I need to be able to bind a device to the /sys/bus/usb/drivers/usbfs driver instead of the /sys/bus/usb/drivers/usb driver. This is because the device that I am connecting uses libusb and libusb needs to talk through the usbfs driver. I can use the following command to succesfully unbind the device from the /sys/bus/usb/drivers/usb driver: [EMAIL PROTECTED] /]# echo -n "3-1" > /sys/bus/usb/drivers/usb/unbind The "driver" symlink disappears showing that the unbind works, all good. But... the following command to bind to the new driver throws an error: [EMAIL PROTECTED] /]# echo -n "3-1" > /sys/bus/usb/drivers/usbfs/bind -bash: echo: write error: No such device I have read through the following docs: http://lwn.net/Articles/143397/ -> Manual driver binding and unbinding http://www.linuxjournal.com/article/7353 -> Writing a Simple USB Driver ( very good doc ) http://www.linuxjournal.com/article/7466 -> Writing a Real Driver—In User Space ( very good doc, I ended up reading almost all of the USB docs from this author ! ) ... and many many more articles. I now know almost everything about USB on linux :), which is cool, but I still haven't solved my problem INFO DUMPS ************************************** I am running 2.6.17-1.2145_FC5xen0 I am running libusb 0.1.11-2.2 ************************************** [EMAIL PROTECTED] ~]# cat /proc/bus/usb/devices ( EDITED ) T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=10cf ProdID=5503 Rev= 0.00 S: Manufacturer=Velleman S: Product=USB K8055 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms E: Ad=01(O) Atr=03(Int.) MxPS= 8 Ivl=10ms ************************************** [EMAIL PROTECTED] ~]# tree /sys/bus/usb/drivers/ /sys/bus/usb/drivers/ |-- hiddev | |-- bind | |-- new_id | `-- unbind |-- hub | |-- 1-0:1.0 -> ../../../../devices/pci0000:00/0000:00:03.0/usb1/1-0:1.0 | |-- 2-0:1.0 -> ../../../../devices/pci0000:00/0000:00:03.1/usb2/2-0:1.0 | |-- 3-0:1.0 -> ../../../../devices/pci0000:00/0000:00:03.2/usb3/3-0:1.0 | |-- 4-0:1.0 -> ../../../../devices/pci0000:00/0000:00:03.3/usb4/4-0:1.0 | |-- bind | |-- new_id | `-- unbind |-- libusual | |-- bind | |-- new_id | `-- unbind |-- usb | |-- 3-1 -> ../../../../devices/pci0000:00/0000:00:03.2/usb3/3-1 | |-- bind | |-- unbind | |-- usb1 -> ../../../../devices/pci0000:00/0000:00:03.0/usb1 | |-- usb2 -> ../../../../devices/pci0000:00/0000:00:03.1/usb2 | |-- usb3 -> ../../../../devices/pci0000:00/0000:00:03.2/usb3 | `-- usb4 -> ../../../../devices/pci0000:00/0000:00:03.3/usb4 |-- usbfs | |-- bind | |-- new_id | `-- unbind `-- usbhid |-- 3-1:1.0 -> ../../../../devices/pci0000:00/0000:00:03.2/usb3/3-1/3-1:1.0 |-- bind |-- new_id `-- unbind ************************************** [EMAIL PROTECTED] ~]# ls -la /sys/bus/usb/drivers/usb/3-1/ total 0 drwxr-xr-x 5 root root 0 Feb 4 20:45 . drwxr-xr-x 6 root root 0 Feb 4 20:45 .. drwxr-xr-x 5 root root 0 Feb 4 20:45 3-1:1.0 -r--r--r-- 1 root root 4096 Feb 4 20:45 bcdDevice -rw-r--r-- 1 root root 4096 Feb 4 20:45 bConfigurationValue -r--r--r-- 1 root root 4096 Feb 4 20:45 bDeviceClass -r--r--r-- 1 root root 4096 Feb 4 20:45 bDeviceProtocol -r--r--r-- 1 root root 4096 Feb 4 20:45 bDeviceSubClass -r--r--r-- 1 root root 4096 Feb 4 20:45 bmAttributes -r--r--r-- 1 root root 4096 Feb 4 20:45 bMaxPacketSize0 -r--r--r-- 1 root root 4096 Feb 4 20:45 bMaxPower -r--r--r-- 1 root root 4096 Feb 4 20:45 bNumConfigurations -r--r--r-- 1 root root 4096 Feb 4 20:45 bNumInterfaces lrwxrwxrwx 1 root root 0 Feb 4 20:45 bus -> ../../../../../bus/usb -r--r--r-- 1 root root 4096 Feb 4 20:45 configuration -r--r--r-- 1 root root 4096 Feb 4 20:45 devnum lrwxrwxrwx 1 root root 0 Feb 4 20:45 driver -> ../../../../../bus/usb/drivers/usb drwxr-xr-x 2 root root 0 Feb 4 20:45 ep_00 -r--r--r-- 1 root root 4096 Feb 4 20:45 idProduct -r--r--r-- 1 root root 4096 Feb 4 20:45 idVendor -r--r--r-- 1 root root 4096 Feb 4 20:45 manufacturer -r--r--r-- 1 root root 4096 Feb 4 20:45 maxchild drwxr-xr-x 2 root root 0 Feb 4 20:45 power -r--r--r-- 1 root root 4096 Feb 4 20:45 product -r--r--r-- 1 root root 4096 Feb 4 20:45 speed --w------- 1 root root 4096 Feb 4 20:45 uevent lrwxrwxrwx 1 root root 0 Feb 4 20:45 usb_device:usbdev3.2 -> ../../../../../class/usb_device/usbdev3.2 -r--r--r-- 1 root root 4096 Feb 4 20:45 version ************************************** [EMAIL PROTECTED] ~]# cat /sys/bus/usb/drivers/usb/3-1/manufacturer Velleman ************************************** Losing sleep and pulling hair out :( Nick F - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html