Subject: Re: azalia(4) and volume control
To: None <port-i386@NetBSD.org>
From: Stuart Brooks <stuartb@cat.co.za>
List: port-i386
Date: 02/28/2006 09:11:35
> > > azalia0 at pci0 dev 27 function 0: Generic High Definition Audio
> > Controller
> > > azalia0: interrupting at ioapic0 pin 19 (irq 5)
> > > azalia0: host: 82801GB/GR High Definition Audio Controller (rev.
1)
> > > azalia0: host: High Definition Audio rev. 1.0
> > > azalia0: codec: Realtek ALC882 (rev. 1.1)
> > > azalia0: codec: High Definition Audio rev. 1.0
> > >
> > > Audio playback works fine but the volume is very low. All my
> attempts
> > > to turn boosts or change the mixer volume have not worked. And the
> > > driver doesn't provide a "outputs.master" property.
> >
> > I have seen a similar thing. The play.gain (audioctl) seems frozen
at
> > 127 on the azalia audio controller and the volume is very low. My
> dmesg
> > is as follows:
> >
> > NetBSD 3.0_STABLE (GENERIC) #2: Tue Feb 14 12:42:15 SAST 2006
> > azalia0 at pci0 dev 27 function 0: Generic High Definition Audio
> > Controller
> > azalia0: interrupting at irq 9
> > azalia0: host: 82801GB/GR High Definition Audio Controller (rev. 1)
> > azalia0: host: High Definition Audio rev. 1.0
> > azalia0: codec: 0x8384/0x7683 (rev. 50.1)
>
> "play.gain" behaves like an alias of "outputs.master" mixer
> item. However, azalia diver doesn't provide "ouputs.master" for
> any codec at this moment.
> High Definition Audio doesn't define the master volume, and we
> need to investigate what is the master volume on each of codecs.
> As for ALC882, "outputs.green.*" or "outputs.heaphones.*", and
> "outputs.mix0c" are important for playback volume. I don't know
> about STAC9221D (0x8384/0x7683) codec.

The mixerctl options (-a -v) for the STAC9221D (0x8384/0x7683) codec are
as follows:

inputs.dac02.mute=off [ off on ]
inputs.dac02=126,126 delta=2
inputs.dac03.mute=off [ off on ]
inputs.dac03=126,126 delta=2
inputs.dac04.mute=off [ off on ]
inputs.dac04=126,126 delta=2
inputs.dac05.mute=off [ off on ]
inputs.dac05=126,126 delta=2
outputs.green0a.dir=output [ input output ]
outputs.green0a.boost=on [ off on ]
outputs.pink0b.dir=input [ input output ]
outputs.blue0c.dir=input [ input output ]
outputs.green0d.dir=output [ input output ]
outputs.green0d.boost=off [ off on ]
outputs.other0f.dir=input [ input output ]
outputs.other10.source=dac08 [ dac08 sel17 widget19 ]
inputs.sel12.source=other0e [ other0e pink15 other0f pink0b blue0c
green0d green0a ]
outputs.sel12=255,255 delta=63
inputs.sel13.source=pink15 [ other0e pink15 other0f pink0b blue0c
green0d green0a ]
outputs.sel13=255,255 delta=63
inputs.beep14=85 delta=85
outputs.volume16=255 delta=2
inputs.sel17.sel12.mut=off [ off on ]
inputs.sel17.sel12=109,109 delta=18
inputs.sel18.sel13.mut=off [ off on ]
inputs.sel18.sel13=109,109 delta=18
inputs.usingdac=02 [ 02 0304 05 08 1a ]
record.usingadc=adc06 [ adc06 adc07 adc09 ]

I was wondering if there is anything here which is worth changing? I
have played with the outputs.* settings without any luck. Is this a case
of an unsupported/semi-supported codec which needs development and, if
so, would it be worthwhile diving into the azalia driver code?

Regards
 Stuart