我已經做了一些向後移植內核模組的工作(在hid-apple
來自bcm5974
西克沃羅)並為它們編寫 DKMS 腳本,以便我可以在核心升級之間保持相容性:
這些補丁非常簡單,它們只是添加了對這些新 USB 產品 ID 的支援。
我遇到的問題是,即使使用 DKMS 安裝這些新的核心模組後,我的裝置仍然絕不綁定到正確的驅動程序,它們總是綁定到usbhid
,然後綁定到hid-generic
,它們應該分別由鍵盤和觸控板綁定hid-apple
和。bcm5974
變化是真的簡單,據我所知,它們應該告訴內核足夠的信息綁定正確的設備到正確的司機。
為了告訴內核它確實應該將這些設備綁定到這些驅動程序,我是否缺少一個步驟?我是否將模組安裝在 DKMS 中的錯誤位置?
如果我經歷了將裝置重新綁定到正確的驅動程式的麻煩(即:定位、查找、取消綁定、綁定),它們會很好地工作,並且修補程式會按預期運行。但是我如何讓核心以正確的方式綁定事物預設情況下?
答案1
我的問題是我將軟體包安裝到了 DKMS 中的錯誤目錄中。
DEST_MODULE_LOCATION
設定為指向模組所在的核心驅動程式中的目錄非常重要。我正在安裝/updates
,但這是錯誤的地方。我必須把它移到才能/kernel/drivers/hid
被識別。
奇怪的是,/extras
無論您在此處傳遞什麼內容,DKMS 似乎仍然會將驅動程式安裝到其中,但不知何故,這修復了它。