簡體   English   中英

如何將驅動程序與USB設備綁定?

[英]How can I bind a driver with a USB device?

我正在為linux編寫USB設備驅動器。 這是一個操縱桿。 每次插入時,linux都會加載一個hid驅動程序。 有什么方法可以告訴Linux在我插入時加載我的? 或者至少不加載默認值?

我可以在默認驅動程序的unbind中回顯id,並在我的驅動程序綁定中回顯它; 但我想要一些更自動的東西..謝謝

自己的USB驅動程序優先於usbhid

如果要阻止綁定到usbhid驅動程序,可以使用其HID_QUIRK_IGNORE (= 4)設置。 堅持使用Karl Bielefeldt的例子,添加

options usbhid quirks=0x15c2:0x0043:0x04

到一些/etc/modprobe.d/*.conf文件(也許重新創建你的initramfs)。 這將告訴hid-core忽略該設備。 所以usbhid會看一下它,但是留給其他司機代替。

自己的HID驅動程序優先於hid-generic

但是,如果您的其他驅動程序是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM