如何创建多个 snd-vimidi 设备

如何创建多个 snd-vimidi 设备

根据如何创建第二个 MIDI 设备?没有人可以创建多个 virmidi 设备,但这似乎对我不起作用 - 根据aconnect -l我得到的正是一个:

client 14: 'Midi Through' [type=Kernel]
    0 'Midi Through Port-0'

这是我尝试过的配置(和选项)。

> cat /etc/modules-load.d/90-virmidi.conf
snd-virmidi
# check params:
> /usr/sbin/modinfo snd-virmidi

# configure the module
# attempt #1
> cat /etc/modprobe.d/90-virmidi.conf
options snd-virmidi enable=1,1 midi_devs=1,1
# attempt #2
> cat /etc/modprobe.d/90-virmidi.conf
options snd-virmidi index=0 enable=1 midi_devs=1
options snd-virmidi index=1 enable=1 midi_devs=1
# attempt #3
> cat /etc/modprobe.d/90-virmidi.conf
options snd-virmidi index=0,1 enable=1,1 midi_devs=2,2
# reboot
# check params:
> cat /sys/module/snd_virmidi/parameters/*
Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N
(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4

有几件事我觉得很困惑:

  • lsmod 将模块显示为“snd_virmidi”,但文件是 snd-virmidi.ko - 我不确定配置中需要使用哪种拼写
  • 我无法从日志中检查 /etc/modprobe.d/90-virmidi.conf 是否已使用。

我缺少什么想法吗?

答案1

您是否按照您链接的问答中的方式尝试过此操作?

第一步是modprobe直接运行,验证驱动程序是否正常工作。如果我在我的机器上这样做,我会得到

$ sudo modprobe snd-virmidi enable=1,1,1,1,1 midi_devs=1,1,1,1,1
$ ll /dev/midi*
crw-rw---- 1 root audio 14, 18 Dez 29 19:52 /dev/midi1
crw-rw---- 1 root audio 14, 34 Dez 29 19:52 /dev/midi2
crw-rw---- 1 root audio 14, 50 Dez 29 19:52 /dev/midi3
crw-rw---- 1 root audio 14, 66 Dez 29 19:52 /dev/midi4
crw-rw---- 1 root audio 14, 82 Dez 29 19:52 /dev/midi5

这样就可以了。如果它也适用于您的计算机,下一步是创建您的配置文件

> cat /etc/modprobe.d/90-virmidi.conf
options snd-virmidi enable=1,1 midi_devs=1,1

然后运行 modprobe snd-virmidi。因为options只设置默认选项,所以不插入内核模块。

如果您希望在启动时插入模块,那么有多种方法可以实现,因此您需要决定哪种方法最适合您。这取决于您的用例(您需要虚拟 MIDI 接口做什么?),您尚未对此进行解释。

相关内容