RFC: snd_hda(4) -- Intel High Definition Audio driver

Hans Nieser h.nieser at xs4all.nl
Tue Sep 5 10:20:06 UTC 2006


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 at 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 at 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 at aphax-laptop.nieser.local:/usr/obj/usr/src/sys/APHAX-LAPTOP  i386

------------------------------------------------------------------------

root at aphax-laptop:~/hdatemp# pciconf -lv | grep -i -B 4 audio
    class    = bridge
    subclass = PCI-PCI
pcm0 at 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 at aphax-laptop:~/hdatemp# sysctl hw.snd.verbose=2; cat /dev/sndstat
hw.snd.verbose: 1 -> 2
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel 82801F High Definition Audio Controller> 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 at 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 at 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).
-------------- next part --------------
root at aphax-laptop:~/hdatemp# dmesg | grep ^pcm
pcm0: <Intel 82801F High Definition Audio Controller> 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: <Intel 82801F High Definition Audio Controller> 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


More information about the freebsd-multimedia mailing list