On Sun, Mar 07, 2010 at 05:53:32PM -0700, Ted Roby wrote:
> On Sun, Mar 7, 2010 at 3:44 PM, Jacob Meuser <jake...@sdf.lonestar.org>wrote:
> 
> > On Sun, Mar 07, 2010 at 11:28:46AM -0700, Ted Roby wrote:
> > > On Sun, Mar 7, 2010 at 5:26 AM, Jacob Meuser <jake...@sdf.lonestar.org
> > >wrote:
> > >
> > > > On Sun, Mar 07, 2010 at 12:10:03PM +0000, Jacob Meuser wrote:
> > > > > On Sun, Mar 07, 2010 at 01:25:54AM -0700, Ted Roby wrote:
> > > > > > I'm running OpenBSD -current on a 3rd gen Macbook, and have sound
> > for
> > > > the
> > > > > > most part.
> > > > > > However, I noticed that the headphones jack doesn't quite work
> > > > properly.
> > > > > >
> > > > > > If I plug in external speakers, with their own power supply, the
> > audio
> > > > over
> > > > > > my
> > > > > > built-in speakers lessens, but does not shut off. Also, zero sound
> > > > comes out
> > > > > > of the
> > > > > > external speakers while this lessened sound continues out of the
> > > > built-in
> > > > > > speakers.
> > > > > >
> > > > > > Of course, I have not had this problem on other platforms. I have
> > not
> > > > even
> > > > > > begun
> > > > > > troubleshooting this. I have not tested to see if the same problem
> > > > exists in
> > > > > > -stable.
> > > > > > I have not tried starting the system up with the headphones plugged
> > in
> > > > for
> > > > > > proper
> > > > > > identification of the hardware.
> > > > > >
> > > > > > This is being experienced on Intel HD Audio.
> > > > >
> > > > > for future reference, don't bother to mention hardware/driver issues
> > if
> > > > you
> > > > > aren't going to include a dmesg.
> > > >
> > > > the output of 'pcidump -x' will probably be useful for this as well.
> > > >
> > > > see src/sys/dev/pci/azalia_codec.c r1.131.
> > > >
> > > >
> > > I'm getting a better idea of audio handling on OpenBSD, but my ignorance
> > > still
> > > extends beyond resolution of this issue. OSX identifies audio as ICH8.
> > >
> > > Here are my outputs:
> >
> > can you apply this and tell me what happens?  if this doesn't fix it,
> > please include 'mixerctl -v' (the -v is important) output.
> >
> > --
> > jake...@sdf.lonestar.org
> > SDF Public Access UNIX System - http://sdf.lonestar.org
> >
> > Index: azalia_codec.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v
> > retrieving revision 1.141
> > diff -u -p azalia_codec.c
> > --- azalia_codec.c      11 Feb 2010 21:33:39 -0000      1.141
> > +++ azalia_codec.c      7 Mar 2010 22:41:35 -0000
> > @@ -132,7 +132,8 @@ azalia_codec_init_vtbl(codec_t *this)
> >                    this->subid == 0x00a3106b) {        /* APPLE_MB4 */
> >                        this->qrks |= AZ_QRK_GPIO_UNMUTE_0;
> >                }
> > -               if (this->subid == 0x00a0106b)
> > +               if (this->subid == 0x00a1106b ||
> > +                   this->subid == 0x00a0106b)
> >                        this->qrks |= AZ_QRK_WID_OVREF50;
> >                break;
> >        case 0x10ec0888:
> >
> >
> applied patch
> cd /tmp/bsd-build
> make clean && make depend && make
> cp bsd /pbsd
> >boot hd0a:/pbsd
> 
> There is no difference in the way audio is handled prior to the patch.
> Sound is diminished on built-in. Sound is zero on headphones.
> 
> In my own personal testing prior to your test patch I attempted:
> mixerctl outputs.hp_source=mix4
> 
> My logic behind this was to attempt forced selection of stereo (channels 0
> and 1)
> Wrong or right, it made no difference. No permanent changes were made to my
> configs.

hmm.  ok.  I think I know what the problem is.  that change you made to
set outputs.hp_source=mix4 makes sense.  did you try that with the diff?

but the real bugger is that you have 'spkr' and 'spkr2'.  are there really
two sets of built-in speakers?  I guess so, as this would explain why
muting outputs.spkr only diminishes the sound.  the problem is that
spkr2 ends up where hp should be (that is, hp should get mix4, the
first stereo pair output, by default).

can you build a kernel with AZALIA_DEBUG defined (uncomment it it
azalia.h) and send me the dmesg from that?  I need to know how the
widgets are described by the codec.

> 
> output from mixerctl -v:
> 
> record.adc-0:1_mute=off  [ off on ]
> record.adc-0:1=125,125
> record.adc-2:3_mute=off  [ off on ]
> record.adc-2:3=125,125
> record.adc-4:5_mute=off  [ off on ]
> record.adc-4:5=125,125
> record.dig-adc-0:1_sou=SPDIF-in  [ SPDIF-in ]
> inputs.mix_source=line-in,beep,hp,spkr2  { mic line-in beep hp spkr2 }
> inputs.mix_mic=120,120
> inputs.mix_line-in=120,120
> inputs.mix_beep=120,120
> inputs.mix_hp=120,120
> inputs.mix_spkr2=120,120
> outputs.mix2=126,126
> inputs.mix2_source=dac-4:5,mix  { dac-4:5 mix }
> outputs.mix3=126,126
> inputs.mix3_source=dac-2:3,mix  { dac-2:3 mix }
> outputs.mix4=126,126
> inputs.mix4_source=dac-0:1,mix  { dac-0:1 mix }
> outputs.mix5=126,126
> inputs.mix5_source=dac-6:7,mix  { dac-6:7 mix }
> outputs.spkr_source=mix5  [ mix2 mix3 mix4 mix5 mix9 ]
> outputs.spkr_mute=on  [ off on ]
> outputs.spkr_dir=output  [ none output input input-vr0 input-vr50 input-vr80
> input-vr100 ]
> outputs.spkr_boost=off  [ off on ]
> outputs.hp_source=mix3  [ mix2 mix3 mix4 mix5 mix9 ]
> outputs.hp_mute=off  [ off on ]
> inputs.hp=85,85
> outputs.hp_dir=output  [ none output input input-vr0 input-vr50 input-vr80
> input-vr100 ]
> outputs.hp_boost=off  [ off on ]
> outputs.spkr2_source=mix4  [ mix2 mix3 mix4 mix5 mix9 ]
> outputs.spkr2_mute=off  [ off on ]
> inputs.spkr2=85,85
> outputs.spkr2_dir=output  [ none output input ]
> outputs.spkr2_boost=off  [ off on ]
> inputs.mic=85,85
> outputs.mic_dir=input-vr80  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.line-in_source=mix2  [ mix2 mix3 mix4 mix5 mix9 ]
> outputs.line-in_mute=off  [ off on ]
> inputs.line-in=85,85
> outputs.line-in_dir=input  [ none output input input-vr0 input-vr50
> input-vr80 input-vr100 ]
> outputs.line-in_boost=off  [ off on ]
> outputs.SPDIF_source=dig-dac-0:1  [ dig-dac-0:1 ]
> record.adc-4:5_source=mic,line-in,beep,hp,spkr2,mix  { mic line-in beep hp
> spkr2 mix }
> record.adc-2:3_source=mic,line-in,beep,hp,spkr2,mix  { mic line-in beep hp
> spkr2 mix }
> record.adc-0:1_source=mic,line-in,beep,hp,spkr2,mix  { mic line-in beep hp
> spkr2 mix }
> outputs.mix9=126,126
> inputs.mix9_source=dac-8:9,mix  { dac-8:9 mix }
> outputs.hp_sense=plugged  [ unplugged plugged ]
> outputs.line-in_sense=unplugged  [ unplugged plugged ]
> outputs.spkr_muters=hp,line-in  { hp line-in }
> outputs.master=126,126
> outputs.master.mute=off  [ off on ]
> outputs.master.slaves=mix4,mix5,spkr,spkr2  { mix2 mix3 mix4 mix5 spkr hp
> spkr2 mic line-in mix9 }
> record.volume=125,125
> record.volume.mute=off  [ off on ]
> record.volume.slaves=adc-0:1,adc-2:3,adc-4:5  { adc-0:1 adc-2:3 adc-4:5 spkr
> hp spkr2 mic line-in }
> outputs.mode=analog  [ analog digital ]
> record.mode=analog  [ analog digital ]

-- 
jake...@sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org

Reply via email to