From owner-freebsd-multimedia@FreeBSD.ORG Tue Sep 5 10:20:06 2006 Return-Path: X-Original-To: freebsd-multimedia@freebsd.org Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5BD5016A4DF; Tue, 5 Sep 2006 10:20:06 +0000 (UTC) (envelope-from h.nieser@xs4all.nl) Received: from smtp-vbr3.xs4all.nl (smtp-vbr3.xs4all.nl [194.109.24.23]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2C2143D58; Tue, 5 Sep 2006 10:20:04 +0000 (GMT) (envelope-from h.nieser@xs4all.nl) Received: from [192.168.1.64] (aphax.nl [82.92.29.227]) by smtp-vbr3.xs4all.nl (8.13.6/8.13.6) with ESMTP id k85AJoOW033179 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 5 Sep 2006 12:19:51 +0200 (CEST) (envelope-from h.nieser@xs4all.nl) Message-ID: <44FD4EEC.1060006@xs4all.nl> Date: Tue, 05 Sep 2006 12:18:20 +0200 From: Hans Nieser User-Agent: Thunderbird 1.5.0.5 (X11/20060805) MIME-Version: 1.0 To: Joel Dahl References: <1157390268.673.57.camel@localhost> In-Reply-To: <1157390268.673.57.camel@localhost> Content-Type: multipart/mixed; boundary="------------000004000704010007080209" X-Virus-Scanned: by XS4ALL Virus Scanner Cc: freebsd-multimedia@freebsd.org Subject: Re: RFC: snd_hda(4) -- Intel High Definition Audio driver X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Sep 2006 10:20:06 -0000 This is a multi-part message in MIME format. --------------000004000704010007080209 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Joel Dahl wrote: > Hi all, > > Ariff Abdullah (ariff@) has been working on snd_hda(4) for a while now, > which is a High Definition Audio driver and should enable basic audio > capabilities on a lot of new machines on the market. He's been busy > with improving the driver lately, so he asked me to send out an > announcement and a call for testers -- yes, the driver is ready for a > wider audience now. :-) > > This driver is based on Stephane E. Potvin's HDA driver, although big > parts have been rewritten since then. The driver is still in an early > form and many parts needs refinements, but basic audio capabilities such > as playback/recording should work and we would like to get this into > CURRENT soon, if everything goes according to the plan. > I have the following problem with the new snd_hda driver; the driver attaches succesfully but I get no sound, and writing to the /dev/dsp* nodes causes an error on dmesg: pcm0:play:0:dsp0.0: play interrupt timeout, channel dead When I try to "cat /dev/urandom > /dev/dsp0.0" I also get: root@aphax-laptop:~/hdatemp# cat /dev/urandom > /dev/dsp0.0 cat: stdout: Invalid argument (Same with all /dev/dsp* device. nodes) I did get some noise/crackling the first time I loaded the driver and tried to play a movie, but I can't seem to reproduce it anymore, even after rebooting. I do consistently get this 'popping' noise when the driver attaches though. I've fiddled a bit with plugging-in/unplugging headphones and with the volume and mute sound keys on my laptop, to no avail. Anyway, without further ado, the requested info: root@aphax-laptop:~/hdatemp# uname -a FreeBSD aphax-laptop.lan 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Thu May 11 07:17:09 CEST 2006 root@aphax-laptop.nieser.local:/usr/obj/usr/src/sys/APHAX-LAPTOP i386 ------------------------------------------------------------------------ root@aphax-laptop:~/hdatemp# pciconf -lv | grep -i -B 4 audio class = bridge subclass = PCI-PCI pcm0@pci0:27:0: class=0x040300 card=0x11731043 chip=0x26688086 rev=0x04 hdr=0x00 vendor = 'Intel Corporation' device = '82801FB/FR/FW/FRW Intel High DefiNition Audio Controller' ------------------------------------------------------------------------ root@aphax-laptop:~/hdatemp# sysctl hw.snd.verbose=2; cat /dev/sndstat hw.snd.verbose: 1 -> 2 FreeBSD Audio Driver (newpcm) Installed devices: pcm0: at memory 0xfebf8000 irq 16 kld snd_hda (1p/1r/0v channels duplex default) [pcm0:play:0:dsp0.0]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000 interrupts 0, underruns 0, ready 0 [b:16384/8192/2|bs:0/0/0] {userland} -> feeder_root(0x00000000) -> {hardware} [pcm0:record:0:dsp0.1]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000 interrupts 0, overruns 0, hfree 16384, sfree 0 [b:16384/8192/2|bs:0/0/0] {hardware} -> feeder_root(0x00000000) -> {userland} ------------------------------------------------------------------------ root@aphax-laptop:~/hdatemp# sysctl hw.snd hw.snd.targetirqrate: 32 hw.snd.report_soft_formats: 1 hw.snd.verbose: 2 hw.snd.unit: 0 hw.snd.maxautovchans: 0 hw.snd.pcm0.buffersize: 16384 hw.snd.pcm0.vchans: 0 ------------------------------------------------------------------------ root@aphax-laptop:~/hdatemp# /usr/sbin/mixer Mixer vol is currently set to 75:75 Mixer pcm is currently set to 75:75 Mixer line is currently set to 75:75 Mixer mic is currently set to 0:0 Mixer cd is currently set to 75:75 Mixer rec is currently set to 0:0 Recording source: mic ------------------------------------------------------------------------ I have attached the verbose dmesg output (and also posted it online at http://pastebin.ca/161357 in case the attachment doesn't come through). --------------000004000704010007080209 Content-Type: text/plain; name="hda-verbose-dmesg.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hda-verbose-dmesg.txt" root@aphax-laptop:~/hdatemp# dmesg | grep ^pcm pcm0: mem 0xfebf8000-0xfebfbfff irq 16 at device 27.0 on pci0 pcm0:play:0:dsp0.0: play interrupt timeout, channel dead pcm0:play:0:dsp0.0: play interrupt timeout, channel dead pcm0:play:0:dsp0.0: play interrupt timeout, channel dead pcm0:play:0:dsp0.0: play interrupt timeout, channel dead pcm0: detached pcm0: mem 0xfebf8000-0xfebfbfff irq 16 at device 27.0 on pci0 pcm0: [MPSAFE] pcm0: Vendor: 0x000010ec pcm0: Device: 0x00000880 pcm0: Revision: 0x00000008 pcm0: Stepping: 0x00000000 pcm0: PCI Subvendor: 0x11731043 pcm0: Nodes: start=2 endnode=34 total=32 pcm0: sndbuf_setmap 3e546000, 4000; 0xe9bf9000 -> 3e546000 pcm0: sndbuf_setmap 3e542000, 4000; 0xe9bfd000 -> 3e542000 pcm0: pcm0: +-------------------+ pcm0: | DUMPING HDA NODES | pcm0: +-------------------+ pcm0: pcm0: Default Parameter pcm0: ----------------- pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0560 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 11 22 44 48 pcm0: IN amp: 0x00000000 pcm0: OUT amp: 0x00000000 pcm0: pcm0: nid: 2 [ANALOG] pcm0: name: audio output pcm0: widget_cap: 0x00000411 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0560 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 11 22 44 48 pcm0: connections: 0 pcm0: pcm0: nid: 3 [ANALOG] pcm0: name: audio output pcm0: widget_cap: 0x00000411 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0560 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 11 22 44 48 pcm0: connections: 0 pcm0: pcm0: nid: 4 [ANALOG] pcm0: name: audio output pcm0: widget_cap: 0x00000411 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0160 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 22 44 48 pcm0: connections: 0 pcm0: pcm0: nid: 5 [ANALOG] pcm0: name: audio output pcm0: widget_cap: 0x00000411 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0160 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 22 44 48 pcm0: connections: 0 pcm0: pcm0: nid: 6 [DIGITAL] [DISABLED] pcm0: name: audio output pcm0: widget_cap: 0x00000211 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x001e0160 pcm0: PCM size: 16 20 24 32 pcm0: PCM rate: 22 44 48 pcm0: connections: 0 pcm0: pcm0: nid: 7 [ANALOG] pcm0: name: audio input pcm0: widget_cap: 0x0010051b pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x00060160 pcm0: PCM size: 16 20 pcm0: PCM rate: 22 44 48 pcm0: Input amp: 0x80032300 pcm0: mute=1 step=35 size=3 offset=0 pcm0: connections: 7 pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] (selected) pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: pcm0: nid: 8 [ANALOG] pcm0: name: audio input pcm0: widget_cap: 0x0010051b pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x00060160 pcm0: PCM size: 16 20 pcm0: PCM rate: 22 44 48 pcm0: Input amp: 0x80032300 pcm0: mute=1 step=35 size=3 offset=0 pcm0: connections: 7 pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] (selected) pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: pcm0: nid: 9 [ANALOG] pcm0: name: audio input pcm0: widget_cap: 0x0010051b pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x00060160 pcm0: PCM size: 16 20 pcm0: PCM rate: 22 44 48 pcm0: Input amp: 0x80032300 pcm0: mute=1 step=35 size=3 offset=0 pcm0: connections: 10 pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] (selected) pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] pcm0: | pcm0: + <- nid=11 [audio mixer] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: | pcm0: + <- nid=22 [pin: speaker (none)] pcm0: | pcm0: + <- nid=23 [pin: speaker (none)] pcm0: pcm0: nid: 10 [DIGITAL] [DISABLED] pcm0: name: audio input pcm0: widget_cap: 0x00100391 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x001e0160 pcm0: PCM size: 16 20 24 32 pcm0: PCM rate: 22 44 48 pcm0: connections: 1 pcm0: | pcm0: + <- nid=31 [pin: speaker (none)] [DISABLED] pcm0: pcm0: nid: 11 [ANALOG] pcm0: name: audio mixer pcm0: widget_cap: 0x0020010b pcm0: Input amp: 0x80034123 pcm0: mute=1 step=65 size=3 offset=35 pcm0: connections: 8 pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] pcm0: | pcm0: + <- nid=29 [pin: line in (fixed)] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: pcm0: nid: 12 [ANALOG] pcm0: name: audio mixer pcm0: widget_cap: 0x0020010f pcm0: Output amp: 0x34040 pcm0: mute=0 step=64 size=3 offset=64 pcm0: Input amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 2 pcm0: | pcm0: + <- nid=2 [audio output] pcm0: | pcm0: + <- nid=11 [audio mixer] pcm0: pcm0: nid: 13 [ANALOG] pcm0: name: audio mixer pcm0: widget_cap: 0x0020010f pcm0: Output amp: 0x34040 pcm0: mute=0 step=64 size=3 offset=64 pcm0: Input amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 2 pcm0: | pcm0: + <- nid=3 [audio output] pcm0: | pcm0: + <- nid=11 [audio mixer] pcm0: pcm0: nid: 14 [ANALOG] pcm0: name: audio mixer pcm0: widget_cap: 0x0020010f pcm0: Output amp: 0x34040 pcm0: mute=0 step=64 size=3 offset=64 pcm0: Input amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 2 pcm0: | pcm0: + <- nid=4 [audio output] pcm0: | pcm0: + <- nid=11 [audio mixer] pcm0: pcm0: nid: 15 [ANALOG] pcm0: name: audio mixer pcm0: widget_cap: 0x0020010f pcm0: Output amp: 0x34040 pcm0: mute=0 step=64 size=3 offset=64 pcm0: Input amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 2 pcm0: | pcm0: + <- nid=5 [audio output] pcm0: | pcm0: + <- nid=11 [audio mixer] pcm0: pcm0: nid: 16 [ANALOG] pcm0: name: audio selector pcm0: widget_cap: 0x00300101 pcm0: connections: 4 pcm0: | pcm0: + <- nid=12 [audio mixer] (selected) pcm0: | pcm0: + <- nid=13 [audio mixer] pcm0: | pcm0: + <- nid=14 [audio mixer] pcm0: | pcm0: + <- nid=15 [audio mixer] pcm0: pcm0: nid: 17 [ANALOG] pcm0: name: audio selector pcm0: widget_cap: 0x00300101 pcm0: connections: 4 pcm0: | pcm0: + <- nid=12 [audio mixer] (selected) pcm0: | pcm0: + <- nid=13 [audio mixer] pcm0: | pcm0: + <- nid=14 [audio mixer] pcm0: | pcm0: + <- nid=15 [audio mixer] pcm0: pcm0: nid: 18 [ANALOG] pcm0: name: audio selector pcm0: widget_cap: 0x00300101 pcm0: connections: 4 pcm0: | pcm0: + <- nid=12 [audio mixer] (selected) pcm0: | pcm0: + <- nid=13 [audio mixer] pcm0: | pcm0: + <- nid=14 [audio mixer] pcm0: | pcm0: + <- nid=15 [audio mixer] pcm0: pcm0: nid: 19 [ANALOG] pcm0: name: audio selector pcm0: widget_cap: 0x00300101 pcm0: connections: 4 pcm0: | pcm0: + <- nid=12 [audio mixer] (selected) pcm0: | pcm0: + <- nid=13 [audio mixer] pcm0: | pcm0: + <- nid=14 [audio mixer] pcm0: | pcm0: + <- nid=15 [audio mixer] pcm0: pcm0: nid: 20 [ANALOG] pcm0: name: pin: line out (fixed) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000003f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=12 [audio mixer] pcm0: pcm0: nid: 21 [ANALOG] pcm0: name: pin: headphones out (jack) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000003f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=13 [audio mixer] pcm0: pcm0: nid: 22 [ANALOG] pcm0: name: pin: speaker (none) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000003f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=14 [audio mixer] pcm0: pcm0: nid: 23 [ANALOG] pcm0: name: pin: speaker (none) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000003f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=15 [audio mixer] pcm0: pcm0: nid: 24 [ANALOG] pcm0: name: pin: Mic in (jack) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000133f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=16 [audio selector] pcm0: pcm0: nid: 25 [ANALOG] pcm0: name: pin: speaker (none) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000133f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=17 [audio selector] pcm0: pcm0: nid: 26 [ANALOG] pcm0: name: pin: line in (jack) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000133f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=18 [audio selector] pcm0: pcm0: nid: 27 [ANALOG] pcm0: name: pin: speaker (none) pcm0: widget_cap: 0x0040018d pcm0: Pin cap: 0x0000133f pcm0: ISC TRQD HP OUT IN : UNSOL pcm0: Output amp: 0x80000000 pcm0: mute=1 step=0 size=0 offset=0 pcm0: connections: 1 pcm0: | pcm0: + <- nid=19 [audio selector] pcm0: pcm0: nid: 28 [ANALOG] pcm0: name: pin: CD (fixed) pcm0: widget_cap: 0x00400001 pcm0: Pin cap: 0x00000020 pcm0: IN pcm0: connections: 0 pcm0: pcm0: nid: 29 [ANALOG] pcm0: name: pin: line in (fixed) pcm0: widget_cap: 0x00400000 pcm0: Pin cap: 0x00000020 pcm0: IN pcm0: connections: 0 pcm0: pcm0: nid: 30 [DIGITAL] [DISABLED] pcm0: name: pin: SPDIF out (fixed) pcm0: widget_cap: 0x00400300 pcm0: Pin cap: 0x00000010 pcm0: OUT pcm0: connections: 1 pcm0: | pcm0: + <- nid=6 [audio output] [DISABLED] pcm0: pcm0: nid: 31 [DIGITAL] [DISABLED] pcm0: name: pin: speaker (none) pcm0: widget_cap: 0x00400200 pcm0: Pin cap: 0x00000020 pcm0: IN pcm0: connections: 0 pcm0: pcm0: nid: 32 [ANALOG] pcm0: name: vendor widget pcm0: widget_cap: 0x00f00040 pcm0: connections: 0 pcm0: pcm0: nid: 33 [ANALOG] pcm0: name: volume widget pcm0: widget_cap: 0x00600080 pcm0: connections: 0 pcm0: pcm0: +-----------------------------------+ pcm0: | DUMPING HDA AUDIO/VOLUME CONTROLS | pcm0: +-----------------------------------+ pcm0: pcm0: Master Volume (OSS: vol) pcm0: | pcm0: +- nid: 11 index: 0 (nid: 24) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: | pcm0: +- nid: 11 index: 2 (nid: 26) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: | pcm0: +- nid: 11 index: 4 (nid: 28) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: | pcm0: +- nid: 12 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 12 index: 0 (nid: 2) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 13 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 13 index: 0 (nid: 3) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 14 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 14 index: 0 (nid: 4) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 15 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 15 index: 0 (nid: 5) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: pcm0: PCM Volume (OSS: pcm) pcm0: | pcm0: +- nid: 12 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 12 index: 0 (nid: 2) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 13 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 13 index: 0 (nid: 3) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 14 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 14 index: 0 (nid: 4) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 15 index: 0 mute: 0 step: 64 size: 3 off: 64 dir=0x1 pcm0: | pcm0: +- nid: 15 index: 0 (nid: 5) mute: 1 step: 0 size: 0 off: 0 dir=0x2 pcm0: pcm0: CD Volume (OSS: cd) pcm0: | pcm0: +- nid: 11 index: 4 (nid: 28) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: pcm0: Microphone Volume (OSS: mic) pcm0: | pcm0: +- nid: 11 index: 0 (nid: 24) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: pcm0: Line-in Volume (OSS: line) pcm0: | pcm0: +- nid: 11 index: 0 (nid: 24) mute: 1 step: 65 size: 3 off: 35 dir=0x2 pcm0: pcm0: Recording Level (OSS: rec) pcm0: | pcm0: +- nid: 7 index: 0 mute: 1 step: 35 size: 3 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 8 index: 0 mute: 1 step: 35 size: 3 off: 0 dir=0x2 pcm0: | pcm0: +- nid: 9 index: 0 mute: 1 step: 35 size: 3 off: 0 dir=0x2 pcm0: pcm0: Recording sources: pcm0: pcm0: nid=7 [audio input] pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] [recsrc: vol, mic] pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] [recsrc: vol, line] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] [recsrc: vol, cd] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: pcm0: nid=8 [audio input] pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] [recsrc: vol, mic] pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] [recsrc: vol, line] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] [recsrc: vol, cd] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: pcm0: nid=9 [audio input] pcm0: | pcm0: + <- nid=24 [pin: Mic in (jack)] [recsrc: vol, mic] pcm0: | pcm0: + <- nid=25 [pin: speaker (none)] pcm0: | pcm0: + <- nid=26 [pin: line in (jack)] [recsrc: vol, line] pcm0: | pcm0: + <- nid=27 [pin: speaker (none)] pcm0: | pcm0: + <- nid=28 [pin: CD (fixed)] [recsrc: vol, cd] pcm0: | pcm0: + <- nid=11 [audio mixer] [recsrc: vol, line, mic, cd] pcm0: | pcm0: + <- nid=20 [pin: line out (fixed)] pcm0: | pcm0: + <- nid=21 [pin: headphones out (jack)] pcm0: | pcm0: + <- nid=22 [pin: speaker (none)] pcm0: | pcm0: + <- nid=23 [pin: speaker (none)] pcm0: pcm0: +--------------------------------------+ pcm0: | DUMPING PCM Playback/Record Channels | pcm0: +--------------------------------------+ pcm0: pcm0: PCM Playback: 1 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0160 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 22 44 48 pcm0: pcm0: PCM Record: 1 pcm0: Stream cap: 0x00000001 pcm0: Format: PCM pcm0: PCM cap: 0x000e0160 pcm0: PCM size: 16 20 24 pcm0: PCM rate: 22 44 48 --------------000004000704010007080209--