modprobe:错误:无法插入“snd_aloop”:没有这样的设备
Posted
技术标签:
【中文标题】modprobe:错误:无法插入“snd_aloop”:没有这样的设备【英文标题】:modprobe: ERROR: could not insert 'snd_aloop': No such device 【发布时间】:2017-02-01 20:37:24 【问题描述】:我正在尝试在 gentoo 上建立 Jack-ALSA 桥,但我无法加载 snd_aloop 模块。
内核:
$ uname -a
Linux MalfattiTux 4.6.7-rt-rt11 #1 SMP Thu Sep 22 14:54:42 BRT 2016 x86_64 Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz GenuineIntel GNU/Linux
snd_aloop 编译为模块:
$ cat /usr/src/linux-4.6.7-rt11/.config | grep ALOOP
CONFIG_SND_ALOOP=m
snd_aloop 信息:
$ sudo modinfo snd_aloop
filename: /lib/modules/4.6.7-rt-rt11/kernel/sound/drivers/snd-aloop.ko
license: GPL
description: A loopback soundcard
author: Jaroslav Kysela <perex@perex.cz>
depends: snd-pcm
intree: Y
vermagic: 4.6.7-rt-rt11 SMP mod_unload modversions
parm: index:Index value for loopback soundcard. (array of int)
parm: id:ID string for loopback soundcard. (array of charp)
parm: enable:Enable this loopback soundcard. (array of bool)
parm: pcm_substreams:PCM substreams # (1-8) for loopback driver. (array of int)
parm: pcm_notify:Break capture when PCM format/rate/channels changes. (array of int)
snd_aloop 模块的设置:
$ cat /etc/modprobe.d/alsa.conf | grep aloop
options snd-aloop id=Loopback index=0 pcm_substreams=2 enable=1
alias snd-card-0 snd-aloop
音频设备:
$ sudo lspci | grep -i audio
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
$ sudo lspci -k -s 00:03.0
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
Subsystem: Lenovo Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
$ sudo lspci -k -s 00:1b.0
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
Subsystem: Lenovo 8 Series/C220 Series Chipset High Definition Audio Controller
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
看起来一切正常。但后来:
$ sudo modprobe snd_aloop
modprobe: ERROR: could not insert 'snd_aloop': No such device
我也尝试不将其编译为模块,而是包含在内核中。然后,我有环回设备,但我无法控制它们(例如,子流的数量)。
此模块在 gentoo 上工作是否需要任何特定设置?
谢谢:)
【问题讨论】:
【参考方案1】:声音驱动程序的index
选项指定它应该使用的卡号。
但是,如果另一个驱动程序已在同一索引处加载,则此方法不起作用。
因此,您必须在所有使用的驱动程序上设置匹配的index
选项(并且将来可能会使用,例如 USB 音频)。
更好的办法是删除所有index
选项,并使用snd
模块的slots
选项来指定只有特定驱动程序才能使用特定索引:
options snd slots=snd-aloop,snd-hda-intel,snd-hda-intel
或者如果环回驱动程序不应该是第一个(默认)驱动程序:
options snd slots=snd-hda-intel,snd-hda-intel,snd-aloop
【讨论】:
完美回答了这个问题,非常感谢!只是一件小事,我按照您的第一个示例放置模块,并且环回设备仍然是最后一张卡。关于为什么不遵循此命令的任何线索? 最后在/proc/asound/cards
?也许有些忘记了index
选项。
是的,/proc/asound/cards
和 aplay -l
中的最后一个。 /etc/modprobe.d/alsa.conf
中没有索引... 作为一种解决方法,我为每个条目添加了一个 id=
选项,现在我使用名称而不是索引。再次感谢:)以上是关于modprobe:错误:无法插入“snd_aloop”:没有这样的设备的主要内容,如果未能解决你的问题,请参考以下文章
modprobe: FATAL: Module br_netfilter not found
联想机器安装centos7之网卡:无法在 catman 模式下对 ***** 写入modprobe required key not available