如何防止新增/刪除 udev 循環

如何防止新增/刪除 udev 循環

我想在 udoo(某種樹莓板)上使用 midi 鍵盤(eagletone tinykey)。插入設備時,無法正確設定。

做一個

udevadm monitor

顯示了一種新增/刪除循環:

KERNEL[1174.215632] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1 (usb)
KERNEL[1174.218337] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
KERNEL[1174.222021] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2 (sound)
KERNEL[1174.222417] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/midiC2D0 (sound)
KERNEL[1174.222708] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/midi2 (sound)
KERNEL[1174.223329] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/dmmidi2 (sound)
KERNEL[1174.223700] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/controlC2 (sound)
KERNEL[1174.224050] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
KERNEL[1174.225644] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/midi2 (sound)
KERNEL[1174.226290] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/dmmidi2 (sound)
KERNEL[1174.226739] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/midiC2D0 (sound)
KERNEL[1174.227161] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/controlC2 (sound)
KERNEL[1174.227637] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2 (sound)
KERNEL[1174.227889] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
KERNEL[1174.228311] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
KERNEL[1174.229425] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1 (usb)
UDEV  [1174.232087] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1 (usb)
UDEV  [1174.238406] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0 (usb)
UDEV  [1174.242659] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
UDEV  [1174.243523] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2 (sound)
UDEV  [1174.244195] remove   /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.1 (usb)
UDEV  [1174.253150] add      /devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/sound/card2/midi2 (sound)
...

在桌面系統 ubuntu 上,我幾個月前觀察到了同樣的問題,現在已經修復(可能透過更新),設備在不到 2 秒的時間內就設定好了。

lsusb 

在我的桌面上提取:

Bus 003 Device 004: ID 0218:0401 Hangzhou Worlde 

有什麼建議來解決此類問題嗎?我想知道答案是否是修改一些 udev 規則,或修改核心中的更多規則,甚至修改一些初始化腳本?

相關內容