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

Reply via email to