Udev

如何使用 udevadm 修復無法辨識的 USB 設備

  • October 14, 2018

我無法讓 midi 控制器(鋼琴鍵盤)在樹莓派上工作。它適用於我的 linux 筆記型電腦,另一個 MIDI 鍵盤也適用於 pi。它列在 下lsusb,所以我知道供應商/型號 ID,但不在amidi -lor下aconnect -i。pi 也有幾年前的版本。所以我猜他們udev還不知道這個 USB 設備。我已經發現 udev 使用一些帶有很多 USB 設備的內部數據庫。但我還沒有找到將新的 USB 設備添加到 udev 數據庫的方法。

我只看到很多關於如何添加 udev 規則的教程,但我想,那是別的東西。我需要告訴系統這個供應商/型號 ID 是一個 midi 控制器。

這是如何運作的?

udevd只負責在 中創建符號連結/dev,在創建或刪除設備時執行其他程序等。如果您在 ALSA 中看不到該設備,無論您如何處理udevadm,您都無法以這種方式辨識它。

核心的硬體辨識被烘焙到相應的模組中。特別是對於 USB,有一些模式可以對供應商和設備 ID 以及其他內容進行編碼。您可以找出特定模組在使用時會觸發哪些模式modinfo

因此,在您的情況下,RaspPi 很可能沒有適用於您的鋼琴鍵盤的最新模組-該模組已經存在,但不包含您的鋼琴鍵盤標識符,或者甚至該模組都不存在.

因此,將 RaspPi 上的核心升級到最新版本。如果這不能解決問題,請確定對筆記型電腦上的鍵盤做出反應的模組(為此您可以使用udevadm,或僅使用lsmod)。然後查看modinfoRaspPi 上相應模組的說明。

引用自:https://unix.stackexchange.com/questions/475423