1

OS: Debian 8

Problem: I'm writing usb driver module for my microcontroller, custom usb HID, but when I plug it to laptop it binds to usbhid driver, if I do rmmod usbhid it also disconnects a mouse and it's not very nice) I can unbind it via

sudo sh -c 'echo -n "1-3:1.0" > /sys/bus/usb/drivers/usbhid/unbind'

, however it's not interesting to do it every time i plug my device in. Even after I wrote a script, I've got that it not fun to run it again and again. Is it possible to unbind my device from usbhid driver automatically?

JuicyKitty
  • 121
  • 1
  • 5

2 Answers2

1

It was not easy to find the real cool solution, but I've done it. The solution doesn't deal with udev. We need to say to hid core that it shouldn't touch our device. It possible to do it in 2 ways depending either usbhid compiled as a module, or not. Check out this:

https://unix.stackexchange.com/questions/55495/prevent-usbhid-from-claiming-usb-device

https://askubuntu.com/questions/605251/dkms-installed-kernel-module-but-not-working-after-reboot/606359#606359

PS "GRUB_CMDLINE_LINUX_DEFAULT contains command line arguments to the linux kernel. You can put as many as you want there provided they are separated by a space."

Hopefully, it will save someone's time, since I spent great amount of time to find this, i think, excellent solution.

Best regards, anon

JuicyKitty
  • 121
  • 1
  • 5
0

You could blacklist the driver so it does not load and bind to the device on boot. If other modules that have a dependency on it, they will fail to load.

https://askubuntu.com/questions/110341/how-to-blacklist-kernel-modules

Kyle H
  • 438
  • 3
  • 14