"permanently" unbind a device from a driver?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Is there a way to stop a module from claiming a
given device no matter how/when it gets plugged?

For example, there's a series of power supplies
(UPSes) with USB connection (common nowadays)
which, by default, gets claimed by usbhid module.
But it does not work as a HID device, instead it
uses a serial line logic and has a USB<=>serial
converter inside, which works just fine with
cypress_m8 usbserial driver.

usbhid module is loaded on startup (to handle
usb keyboards/mouses), and it claims this device
too.  Using /sys/bus/.../drivers/usbhid/unbind
releases it, after which cypress_m8 works as
expected.  But after re-plugging it gets claimed
by usbhid again.

I understand that it's easy to write an udev rule
(I don't use udev but that's another story) to
unbind the device from the driver and bind it to
another driver automatically.  That's basically
what I have for now (handling hidraw* device).
But that seems somewhat... ugly, at best.

The question is: is it possible to tell usbhid
to STOP claiming devices with given vendor:device
identifier, from now on?

I also understand that to do it permanently the
given vendor:device has to be blacklisted in the
driver source.  But I don't think it's worth the
effort.  Sort of runtime blacklist support --
possible?

Thanks!

/mjt
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux