USB device driver not binding to device

Valentina Manea valentina.manea.m at gmail.com
Tue Dec 31 06:54:32 EST 2013


Hi,

I am working on the USB/IP drivers in the staging directory and bumped
into an issue with one of the drivers.

usbip-host is declared as struct usb_driver (so, an USB interface
driver). My task was to transform it to struct usb_device_driver - in
this way, instead of binding each interface to the driver, the whole
device would be bound to the driver.

The binding is made from userspace via the bind file of the driver [1]
and using libsysfs. With the old version of the driver, one would
write something like 1-1:1.0 to bind interface 0 of device with bus ID
1-1.

However, with the new version of the driver, using the same syntax for
device identification (1-1:1.0), this binding fails:
* libsysfs doesn't give much info about the error
* echo-ing the ID into bind file as shown in [1] doesn't work in
either case; on the other hand, I can succesfully unbind the device
from the default driver (usb-storage in this case) using the same
mechanism
* I have a printk in the probe function of the driver - it seems it
doesn't even get there.

I am missing something but have no clue where to look anymore.

Thanks,
Valentina

[1] http://lwn.net/Articles/143397/



More information about the Kernelnewbies mailing list