確定 HID 設備綁定了哪個模組?

確定 HID 設備綁定了哪個模組?

我有一個奇怪的問題。我根據另一個人的工作進行了一些駭客攻擊,將對 MacBook Pro 11,5 上的內部鍵盤的支援向後移植到核心 3.19 中。我的 GitHub 原始碼可以在這裡找到

我已盡一切努力確保它盡可能接近內核 4.2,同時仍能夠在 3.19 上按預期進行編譯和工作。

然而,雖然啟動到 4.2 為我提供了按預期工作的完美功能,但我的模組似乎沒有執行任何操作。現有的 Apple 裝置可以按預期工作,但我的內建鍵盤仍然遇到相同的問題。

問題是由於功能鍵不起作用,因此我無法使用媒體鍵。我還進行了健全性測試,以確保其他 Apple 鍵盤能夠正常工作(使用 Apple 有線和無線鍵盤進行測試,並且兩者都能正常工作)。

有沒有辦法讓我驗證我的鍵盤是否已綁定到正確的驅動程式?

該裝置的 USB id 是05ac:0274,並且可以在以下位置找到該裝置的配置行:hid-ids.h:147並在hid-apple.c:553-554。我確信它只是沒有拿起設備,因為即使刪除了 hid-apple 模組,我的內建鍵盤也可以工作,而其他鍵盤則不能。

如何調試正在發生的情況以及為什麼我的內建鍵盤沒有綁定到模組hid-apple


編輯:我能夠使用以下命令將鍵盤綁定到正確的驅動程式:

# unbind everything matching 05AC:0274 from hid-generic
for dev in `ls /sys/bus/hid/drivers/hid-generic/ | egrep 05AC\:0274`; do
    echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-generic/unbind
done
# bind everything matching 05AC:0274 to hid-apple
for dev in `ls /sys/bus/hid/devices/ | egrep 05AC:0274` ; do
    echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-apple/bind
done

問題依然存在:如何強制給定的 USB id 與給定的驅動程式關聯?我會接受下面給出的答案,但我仍在尋找解決方案...

答案1

有一個很好的答案這裡。簡短的答案是命令usb-devices(可用於大多數發行版,在名為或類似的包中usbutils)應該為您提供有關每個 USB 設備正在使用的當前驅動程式的所需資訊。

相關內容