2016-09-23 484 views
0

我想在gentoo上做一個Jack-ALSA橋,但是我無法加載snd_aloop模塊。modprobe:錯誤:無法插入'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 <[email protected]> 
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選項指定它應該使用的卡號。 但是,如果另一個驅動程序已被加載到相同的索引處,則這不起作用。

因此,您必須在所有使用的驅動程序(將來可能會使用,如USB音頻)上設置匹配的index選項。

更好的方法是刪除所有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 
+0

這完美地回答了這個問題,非常感謝!只是一個小問題,我把模塊放在第一個例子中,並且回送設備仍然是最後一個卡。任何線索爲什麼這個命令沒有被遵守? – Malfatti

+0

最後在'/ proc/asound/cards'?也許有些遺忘的'索引'選項。 –

+0

是的,最後都在'/ proc/asound/cards'和'aplay -l'中。 '/ etc/modprobe.d/alsa.conf'中沒有索引...作爲解決方法,我爲每個條目添加了一個'id ='選項,現在我使用的是名稱而不是索引。再次感謝 :) – Malfatti

相關問題