[UPDATE] RFC: snd_hda(4) -- Intel High Definition Audio driver
Ganbold
ganbold at micom.mng.net
Sun Sep 10 19:21:05 PDT 2006
Joel Dahl wrote:
> 1. Make sure that you always have the latest source code from
> http://people.freebsd.org/~ariff/HDA/ since the code is updated on a
> daily basis (the directory is hidden by the index file, so date, size
> etc does not reflect the true nature of the files there).
>
> 2. Join #freebsd-azalia @ freenode and describe your problem. Email is
> a good way to communicate, but discussing bug reports and testing
> patches in real-time on IRC is a lot more efficient.
>
>
I have FreeBSD-6.1-STABLE on Dell D620 laptop which has:
pcm0 at pci0:27:0: class=0x040300 card=0x01c21028 chip=0x27d88086 rev=0x01
hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) High Definition Audio'
class = multimedia
I can get sound, but I can't change speaker volume in gnome. I tried
with /usr/sbin/mixer, however I couldn't.
# mixer 40:40
Setting the mixer vol from 75:75 to 40:40.
devil# mixer
Mixer vol is currently set to 40:40
Mixer speaker is currently set to 75:75
Mixer mic is currently set to 0:0
Mixer rec is currently set to 0:0
Recording source: mic
devil# mixer -f speaker 40:40
mixer: speaker: No such file or directory
# uname -an
FreeBSD devil.micom.mng.net 6.1-STABLE FreeBSD 6.1-STABLE #17: Wed Sep
6 18:16:49 ULAST 2006
tsgan at devil.micom.mng.net:/usr/obj/usr/src/sys/DEVIL i386
# sysctl hw.snd.verbose=2 ; cat /dev/sndstat
hw.snd.verbose: 1 -> 2
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel 82801G High Definition Audio Controller> at memory
0xdfebc000 irq 21 kld snd_hda [20060910_006] (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}
# sysctl hw.snd
hw.snd.report_soft_formats: 1
hw.snd.targetirqrate: 32
hw.snd.verbose: 2
hw.snd.maxautovchans: 0
hw.snd.unit: 0
hw.snd.pcm0.buffersize: 16384
hw.snd.pcm0.vchans: 0
# mixer
Mixer vol is currently set to 75:75
Mixer speaker is currently set to 75:75
Mixer mic is currently set to 0:0
Mixer rec is currently set to 0:0
Recording source: mic
# dmesg | grep ^pcm
pcm0: <Intel 82801G High Definition Audio Controller> mem
0xdfebc000-0xdfebffff irq 21 at device 27.0 on pci0
pcm0: Output Streams: 4, Input Streams: 4, Bidirectional Streams: 0
pcm0: CORB Size: 256, RIRB Size: 256
pcm0: Codec 1 power state: low power (D2), powering up...
pcm0: Widget 2 is type Audio Output, capabilities 0x401<power,stereo>
pcm0: Widget 3 is type Audio Input, capabilities
0x541<power,connlist,proc,stereo>
pcm0: Widget 4 is type Audio Input, capabilities
0x311<digital,connlist,fmtoverride,stereo>
pcm0: Widget 5 is type Audio Output, capabilities
0x211<digital,fmtoverride,stereo>
pcm0: Widget 6 is type Vendor-defined, capabilities 0x201<digital,stereo>
pcm0: Widget 7 is type Audio Selector, capabilities
0x901<lrswap,connlist,stereo>
pcm0: Widget 8 is type Pin Complex, capabilities
0x681<power,digital,unsol,stereo>
pcm0: Widget 9 is type Pin Complex, capabilities
0x301<digital,connlist,stereo>
pcm0: Widget 10 is type Audio Selector, capabilities
0x90d<lrswap,connlist,ampoverride,outamp,stereo>
pcm0: Widget 11 is type Audio Selector, capabilities
0x105<connlist,outamp,stereo>
pcm0: Widget 12 is type Audio Selector, capabilities
0x10d<connlist,ampoverride,outamp,stereo>
pcm0: Widget 13 is type Pin Complex, capabilities
0x181<connlist,unsol,stereo>
pcm0: Widget 14 is type Pin Complex, capabilities
0x181<connlist,unsol,stereo>
pcm0: Widget 15 is type Pin Complex, capabilities
0x181<connlist,unsol,stereo>
pcm0: Widget 16 is type Pin Complex, capabilities
0x181<connlist,unsol,stereo>
pcm0: Widget 17 is type Pin Complex, capabilities 0x104<connlist,outamp>
pcm0: Widget 18 is type Pin Complex, capabilities 0x1<stereo>
pcm0: Widget 19 is type Audio Mixer, capabilities 0x100<connlist>
pcm0: Widget 20 is type Beep Generator Widget, capabilities
0xc<ampoverride,outamp>
pcm0: unregister: mixer busy
pcm0: detached
pcm0: <Intel 82801G High Definition Audio Controller> mem
0xdfebc000-0xdfebffff irq 21 at device 27.0 on pci0
pcm0: <HDA Driver Revision: 20060910_006>
pcm0: unregister: mixer busy
pcm0: detached
pcm0: <Intel 82801G High Definition Audio Controller> mem
0xdfebc000-0xdfebffff irq 21 at device 27.0 on pci0
pcm0: [MPSAFE]
pcm0: Vendor: 0x00008384
pcm0: Device: 0x00007690
pcm0: Revision: 0x00000022
pcm0: Stepping: 0x00000001
pcm0: PCI Subvendor: 0x01c21028
pcm0: Nodes: start=2 endnode=21 total=19
pcm0: [ 2] Ctl nid=11 Bind to NONE
pcm0: [ 4] Ctl nid=17 DISABLED
pcm0: sndbuf_setmap 3e09b000, 4000; 0xe7427000 -> 3e09b000
pcm0: sndbuf_setmap 3e097000, 4000; 0xe742b000 -> 3e097000
pcm0: <HDA Driver Revision: 20060910_006>
pcm0:
pcm0: +-------------------+
pcm0: | DUMPING HDA NODES |
pcm0: +-------------------+
pcm0:
pcm0: Default Parameter
pcm0: -----------------
pcm0: Stream cap: 0x00000001
pcm0: Format: PCM
pcm0: PCM cap: 0x000e07e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 11 16 22 32 44 48
pcm0: IN amp: 0x00000000
pcm0: OUT amp: 0x80051f1f
pcm0:
pcm0: nid: 2 [ANALOG]
pcm0: name: audio output
pcm0: widget_cap: 0x000d0401
pcm0: Parse flags: 0x00000001
pcm0: Ctl flags: 0x00000000
pcm0: Stream cap: 0x00000001
pcm0: Format: PCM
pcm0: PCM cap: 0x000e07e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 11 16 22 32 44 48
pcm0: connections: 0
pcm0:
pcm0: nid: 3 [ANALOG]
pcm0: name: audio input
pcm0: widget_cap: 0x001d0541
pcm0: Parse flags: 0x00000002
pcm0: Ctl flags: 0x00000800
pcm0: Stream cap: 0x00000001
pcm0: Format: PCM
pcm0: PCM cap: 0x000e07e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 11 16 22 32 44 48
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=10 [audio selector]
pcm0:
pcm0: nid: 4 [DIGITAL] [DISABLED]
pcm0: name: audio input
pcm0: widget_cap: 0x00140311
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Stream cap: 0x00000005
pcm0: Format: AC3 PCM
pcm0: PCM cap: 0x000e0160
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 22 44 48
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=8 [pin: SPDIF in (none)] [DISABLED]
pcm0:
pcm0: nid: 5 [DIGITAL] [DISABLED]
pcm0: name: audio output
pcm0: widget_cap: 0x00040211
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Stream cap: 0x00000005
pcm0: Format: AC3 PCM
pcm0: PCM cap: 0x000e01e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 22 32 44 48
pcm0: connections: 0
pcm0:
pcm0: nid: 6 [DIGITAL] [DISABLED]
pcm0: name: vendor widget
pcm0: widget_cap: 0x00f30201
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: connections: 0
pcm0:
pcm0: nid: 7 [ANALOG]
pcm0: name: audio selector
pcm0: widget_cap: 0x00300901
pcm0: Parse flags: 0x00000001
pcm0: Ctl flags: 0x00000081
pcm0: connections: 3
pcm0: |
pcm0: + <- nid=2 [audio output] (selected)
pcm0: |
pcm0: + <- nid=8 [pin: SPDIF in (none)] [DISABLED]
pcm0: |
pcm0: + <- nid=10 [audio selector]
pcm0:
pcm0: nid: 8 [DIGITAL] [DISABLED]
pcm0: name: pin: SPDIF in (none)
pcm0: widget_cap: 0x00430681
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x00010024
pcm0: IN EAPD : UNSOL
pcm0: Pin control: 0x00000020 IN
pcm0: EAPD: 0x00000002
pcm0: connections: 0
pcm0:
pcm0: nid: 9 [DIGITAL] [DISABLED]
pcm0: name: pin: SPDIF out (jack)
pcm0: widget_cap: 0x00400301
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x00000010
pcm0: OUT
pcm0: Pin control: 0x00000040 OUT
pcm0: EAPD: 0x00000000
pcm0: connections: 2
pcm0: |
pcm0: + <- nid=5 [audio output] [DISABLED]
pcm0: |
pcm0: + <- nid=10 [audio selector]
pcm0:
pcm0: nid: 10 [ANALOG]
pcm0: name: audio selector
pcm0: widget_cap: 0x0030090d
pcm0: Parse flags: 0x00000002
pcm0: Ctl flags: 0x00000881
pcm0: Output amp: 0x80050f00
pcm0: mute=1 step=15 size=5 offset=0
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=12 [audio selector]
pcm0:
pcm0: nid: 11 [ANALOG]
pcm0: name: audio selector
pcm0: widget_cap: 0x00300105
pcm0: Parse flags: 0x00000001
pcm0: Ctl flags: 0x00000000
pcm0: Output amp: 0x80051f1f
pcm0: mute=1 step=31 size=5 offset=31
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=7 [audio selector]
pcm0:
pcm0: nid: 12 [ANALOG]
pcm0: name: audio selector
pcm0: widget_cap: 0x0030010d
pcm0: Parse flags: 0x00000006
pcm0: Ctl flags: 0x00000081
pcm0: Output amp: 0x270400
pcm0: mute=0 step=4 size=39 offset=0
pcm0: connections: 5
pcm0: |
pcm0: + <- nid=16 [pin: Mic in (jack)] (selected)
pcm0: |
pcm0: + <- nid=15 [pin: Mic in (fixed)]
pcm0: |
pcm0: + <- nid=14 [pin: speaker (fixed)]
pcm0: |
pcm0: + <- nid=13 [pin: headphones out (jack)]
pcm0: |
pcm0: + <- nid=18 [pin: CD (none)] [DISABLED]
pcm0:
pcm0: nid: 13 [ANALOG]
pcm0: name: pin: headphones out (jack)
pcm0: widget_cap: 0x00400181
pcm0: Parse flags: 0x00000001
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x0000003f
pcm0: ISC TRQD HP OUT IN : UNSOL
pcm0: Pin control: 0x000000c0 HP OUT
pcm0: EAPD: 0x00000000
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=11 [audio selector]
pcm0:
pcm0: nid: 14 [ANALOG]
pcm0: name: pin: speaker (fixed)
pcm0: widget_cap: 0x00400181
pcm0: Parse flags: 0x00000001
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x0000003f
pcm0: ISC TRQD HP OUT IN : UNSOL
pcm0: Pin control: 0x00000040 OUT
pcm0: EAPD: 0x00000000
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=11 [audio selector]
pcm0:
pcm0: nid: 15 [ANALOG]
pcm0: name: pin: Mic in (fixed)
pcm0: widget_cap: 0x00400181
pcm0: Parse flags: 0x00000002
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x00000037
pcm0: ISC TRQD OUT IN : UNSOL
pcm0: Pin control: 0x00000020 IN
pcm0: EAPD: 0x00000000
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=11 [audio selector]
pcm0:
pcm0: nid: 16 [ANALOG]
pcm0: name: pin: Mic in (jack)
pcm0: widget_cap: 0x00400181
pcm0: Parse flags: 0x00000002
pcm0: Ctl flags: 0x00000081
pcm0: Pin cap: 0x00001737
pcm0: ISC TRQD OUT IN : UNSOL
pcm0: Pin control: 0x00000020 IN
pcm0: EAPD: 0x00000000
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=11 [audio selector]
pcm0:
pcm0: nid: 17 [ANALOG] [DISABLED]
pcm0: name: pin: speaker (none)
pcm0: widget_cap: 0x00400104
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x00000010
pcm0: OUT
pcm0: Pin control: 0x00000040 OUT
pcm0: EAPD: 0x00000000
pcm0: Output amp: 0x80051f1f
pcm0: mute=1 step=31 size=5 offset=31
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=19 [audio mixer]
pcm0:
pcm0: nid: 18 [ANALOG] [DISABLED]
pcm0: name: pin: CD (none)
pcm0: widget_cap: 0x00400001
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: Pin cap: 0x00000020
pcm0: IN
pcm0: Pin control: 0x00000020 IN
pcm0: EAPD: 0x00000000
pcm0: connections: 0
pcm0:
pcm0: nid: 19 [ANALOG]
pcm0: name: audio mixer
pcm0: widget_cap: 0x00200100
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000000
pcm0: connections: 1
pcm0: |
pcm0: + <- nid=7 [audio selector]
pcm0:
pcm0: nid: 20 [ANALOG]
pcm0: name: beep widget
pcm0: widget_cap: 0x0070000c
pcm0: Parse flags: 0x00000000
pcm0: Ctl flags: 0x00000021
pcm0: Output amp: 0x80170303
pcm0: mute=1 step=3 size=23 offset=3
pcm0: connections: 0
pcm0:
pcm0: +-----------------------------------+
pcm0: | DUMPING HDA AUDIO/VOLUME CONTROLS |
pcm0: +-----------------------------------+
pcm0:
pcm0: Master Volume (OSS: vol)
pcm0: |
pcm0: +- nid: 12 index: 0 mute: 0 step: 4 size: 39
off: 0 dir=0x1 ossmask=00000081
pcm0: |
pcm0: +- nid: 20 index: 0 mute: 1 step: 3 size: 23
off: 3 dir=0x1 ossmask=00000021
pcm0:
pcm0: Microphone Volume (OSS: mic)
pcm0: |
pcm0: +- nid: 12 index: 0 mute: 0 step: 4 size: 39
off: 0 dir=0x1 ossmask=00000081
pcm0:
pcm0: Recording Level (OSS: rec)
pcm0: |
pcm0: +- nid: 10 index: 0 mute: 1 step: 15 size: 5
off: 0 dir=0x1 ossmask=00000800
pcm0:
pcm0: Speaker/Beep (OSS: speaker)
pcm0: |
pcm0: +- nid: 20 index: 0 mute: 1 step: 3 size: 23
off: 3 dir=0x1 ossmask=00000021
pcm0:
pcm0: Recording sources:
pcm0:
pcm0: nid=12 [audio selector]
pcm0: |
pcm0: + <- nid=16 [pin: Mic in (jack)] [recsrc: vol, mic]
pcm0: |
pcm0: + <- nid=15 [pin: Mic in (fixed)]
pcm0: |
pcm0: + <- nid=14 [pin: speaker (fixed)]
pcm0: |
pcm0: + <- nid=13 [pin: headphones out (jack)]
pcm0:
pcm0: +--------------------------------------+
pcm0: | DUMPING PCM Playback/Record Channels |
pcm0: +--------------------------------------+
pcm0:
pcm0: PCM Playback: 1
pcm0: Stream cap: 0x00000001
pcm0: Format: PCM
pcm0: PCM cap: 0x000e07e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 11 16 22 32 44 48
pcm0:
pcm0: PCM Record: 1
pcm0: Stream cap: 0x00000001
pcm0: Format: PCM
pcm0: PCM cap: 0x000e07e0
pcm0: PCM size: 16 20 24
pcm0: PCM rate: 11 16 22 32 44 48
More information about the freebsd-multimedia
mailing list