[英]How can I bind a driver with a USB device?
我正在為linux編寫USB設備驅動器。 這是一個操縱桿。 每次插入時,linux都會加載一個hid驅動程序。 有什么方法可以告訴Linux在我插入時加載我的? 或者至少不加載默認值?
我可以在默認驅動程序的unbind中回顯id,並在我的驅動程序綁定中回顯它; 但我想要一些更自動的東西..謝謝
如果要阻止綁定到usbhid
驅動程序,可以使用其HID_QUIRK_IGNORE
(= 4)設置。 堅持使用Karl Bielefeldt的例子,添加
options usbhid quirks=0x15c2:0x0043:0x04
到一些/etc/modprobe.d/*.conf
文件(也許重新創建你的initramfs)。 這將告訴hid-core
忽略該設備。 所以usbhid
會看一下它,但是留給其他司機代替。
但是,如果您的其他驅動程序是HID驅動程序而不是USB驅動程序,那么您需要 usbhid
綁定到USB級別的驅動程序,並且您需要自己的HID驅動程序優先於hid-generic
。 這是我面臨的問題,我還沒有找到解決方案,缺少解綁和重新綁定設備。
這是一個修復類似問題的線程。 總而言之,您可以在/etc/udev/rules.d
文件中添加以下內容:
SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0043", MODE="0666", PROGRAM="/bin/sh -c 'echo -n $id:1.0 >/sys/bus/usb/drivers/usbhid/unbind;\
echo -n $id:1.1 >/sys/bus/usb/drivers/usbhid/unbind'"
http://lwn.net/Articles/143397/與上面的答案非常相似,可能還有一些細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.