我无法让 midi 控制器(钢琴键盘)在树莓派上工作。它适用于我的 linux 笔记本电脑,另一个 MIDI 键盘也适用于 pi。它列在 下lsusb
,所以我知道供应商/型号 ID,但不在amidi -l
or下aconnect -i
。pi 也有几年前的版本。所以我猜他们udev
还不知道这个 USB 设备。我已经发现 udev 使用一些带有很多 USB 设备的内部数据库。但我还没有找到将新的 USB 设备添加到 udev 数据库的方法。
我只看到很多关于如何添加 udev 规则的教程,但我想,那是别的东西。我需要告诉系统这个供应商/型号 ID 是一个 midi 控制器。
这是如何运作的?
udevd
只负责在 中创建符号链接/dev
,在创建或删除设备时运行其他程序等。如果您在 ALSA 中看不到该设备,无论您使用什么方式udevadm
,您都无法以这种方式识别它。内核的硬件识别被烘焙到相应的模块中。特别是对于 USB,有一些模式可以对供应商和设备 ID 以及其他内容进行编码。您可以找出特定模块在使用时会触发哪些模式
modinfo
。因此,在您的情况下,RaspPi 很可能没有适用于您的钢琴键盘的最新模块-该模块已经存在,但不包含您的钢琴键盘标识符,或者甚至该模块不存在.
因此,将 RaspPi 上的内核升级到最新版本。如果这不能解决问题,请确定对笔记本电脑上的键盘做出反应的模块(为此您可以使用
udevadm
,或仅使用lsmod
)。然后查看modinfo
RaspPi 上相应模块的说明。