Vice zvukovych zarizeni na USB + ALSA
Zdenek Janis
zdenek.janis na brajan.cz
Pátek Květen 18 23:24:18 CEST 2007
Dobry den,
Potreboval bych pomoci s diagnostikou problemu.
Chtel bych mit u PC pripojeno vice zvukovych zarizeni pres USB (ponechme
stranou proc to). Ty zarizeni nejsou stejne (pozdeji se muze stat, ze
jich nekolik stejnych bude), jedno jsou USB sluchatka a druhe USB
zvukovka (skatulka). Nutno poznamenat ze zarizeni pripojuji pre USB 7p
switch.
Samostatne kazde znich pracuje k plne spokojenosti vyuzivajic modul
jadra "snd_usb_audio". Test pomoci "speaker-test" - ok pro obe (samostatne).
Mam-li ale zapojeny obe USB zvukovky, tak uz znich nedostanu zadny zvuk
a "speaker-test" neustale vypisuje:
$ speaker-test -c 6 -D usb_phone
speaker-test 1.0.13
Playback device is usb_phone
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
ALSA lib pcm_direct.c:985:(snd_pcm_direct_initialize_slave) unable to
install hw params
ALSA lib pcm_dmix.c:876:(snd_pcm_dmix_open) unable to initialize slave
Playback open error: -32,Přerušena roura (SIGPIPE)
A v "kernel.log" jsou tato hlaseni:
May 18 22:57:19 tux kernel: cannot submit datapipe for urb 0, error -28:
not enough bandwidth
Co je ale zajimave, ze pokud necham bezet "speaker-test" na USB
sluchatkach a pri tom zapojim USB zvukovku, tak potom funguji obe naraz.
Pochopitelne do prvniho retartu, vypnuti pc, nebo odpojeni USB switche.
Pokud to ale zapojim primo do PC (bez USB switche), tak to funguje uplne
skvele (az na to, ze kdyz pustim do USB zvukovky zvuk, tak prvni pouziti
zdechne prehravac na sig.11). Jenze USBcek na MB neni moc a tak bych to
potreboval pripojovat pres switch. Podobny problem ukazujici na switch
mam u USB-serial prevodniku.
Ted jde tedy o to, zda se mam obratit na vyvojare modulu ktery resi USB
switch (je-li nejaky, nebo zda to je primo v modulu pro USB port) ci je
to problem modulu pro USB zvukovku, nebo zda zlobi neco v ALSA ci za to
muze asound.conf nebo rovnou zahodit a shanet jiny USB switch?!
Vypis z kernel.log - prvni cast je pripojeni USB sluchatek, druha cast
USB zvukovky:
May 18 21:57:04 tux kernel: usb 1-2.4: new full speed USB device using
ehci_hcd and address 13
May 18 21:57:04 tux kernel: usb 1-2.4: configuration #1 chosen from 1 choice
May 18 21:57:04 tux kernel: input: USB Audio as /class/input/input8
May 18 21:57:04 tux kernel: input: USB HID v1.00 Device [USB Audio] on
usb-0000:00:0a.1-2.4
May 18 21:57:34 tux kernel: usb 1-2.3: new full speed USB device using
ehci_hcd and address 14
May 18 21:57:35 tux kernel: usb 1-2.3: configuration #1 chosen from 1 choice
May 18 21:57:35 tux kernel: input: USB Audio as /class/input/input9
May 18 21:57:35 tux kernel: input: USB HID v1.00 Device [USB Audio] on
usb-0000:00:0a.1-2.3
obsah: "/proc/asound/cards"
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfe020000 irq 22
1 [Audio ]: USB-Audio - USB Audio
USB Audio at usb-0000:00:0a.1-2.4, full speed
2 [Audio_1 ]: USB-Audio - USB Audio
USB Audio at usb-0000:00:0a.1-2.3, full speed
obsah: "/proc/asound/devices"
0: [ 0] : control
1: : sequencer
16: [ 0- 0]: digital audio playback
17: [ 0- 1]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
32: [ 1] : control
33: : timer
48: [ 1- 0]: digital audio playback
56: [ 1- 0]: digital audio capture
64: [ 2] : control
80: [ 2- 0]: digital audio playback
88: [ 2- 0]: digital audio capture
obsah: "/proc/asound/pcm"
00-01: AD198x Digital : AD198x Digital : playback 1 : capture 1
00-00: AD198x Analog : AD198x Analog : playback 1 : capture 3
01-00: USB Audio : USB Audio : playback 1 : capture 1
02-00: USB Audio : USB Audio : playback 1 : capture 1
obsah: "/proc/asound/version"
Advanced Linux Sound Architecture Driver Version 1.0.14rc3 (Wed Mar 14
07:25:50 2007 UTC).
obsah: "proc/asound/card1/stream0" - USB sluchatka
USB Audio at usb-0000:00:0a.1-2.4, full speed : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: 0x2
Channels: 8
Endpoint: 6 OUT (ADAPTIVE)
Rates: 44100, 48000
Capture:
Status: Stop
Interface 2
Altset 1
Format: 0x2
Channels: 2
Endpoint: 5 IN (ASYNC)
Rates: 44100, 48000
obsah: "proc/asound/card2/stream0" - USB sb1
USB Audio at usb-0000:00:0a.1-2.3, full speed : USB Audio
Playback:
Status: Stop
Interface 1
Altset 1
Format: 0x2
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 48000
Interface 1
Altset 2
Format: 0x2
Channels: 6
Endpoint: 1 OUT (ADAPTIVE)
Rates: 48000
Capture:
Status: Stop
Interface 2
Altset 1
Format: 0x2
Channels: 2
Endpoint: 2 IN (ASYNC)
Rates: 48000
obsah: "/etc/asound.conf" (ale zkouseno i bez nej)
pcm.dmix_usb_phone {
type dmix
ipc_key 110001
slave {
pcm "hw:1"
rate 48000
period_time 0
period_size 1024
buffer_size 8192
channels 6
}
bindings {
0 0
1 1
2 4
3 5
4 3
5 2
}
}
pcm.usb_phone {
type plug
slave {
pcm "dmix_usb_phone"
channels 6
}
}
pcm.dmix_usb_sb1 {
type dmix
ipc_key 110002
slave {
pcm "hw:2"
rate 48000
period_time 0
period_size 1024
buffer_size 8192
channels 6
}
bindings {
0 0
1 1
2 4
3 5
4 3
5 2
}
}
pcm.usb_sb1 {
type plug
slave {
pcm "dmix_usb_sb1"
channels 6
}
}
Kernel verze 2.6.21.1 (vlastni kompilace).
--
S pozdravem
Zdenek Janis
Další informace o konferenci Linux