[haiku-bugs] Re: [Haiku] #8270: [HDA] very quiet on Lenovo laptop (due to hda mixer?)

  • From: "ttcoder" <trac@xxxxxxxxxxxx>
  • Date: Tue, 28 Aug 2012 12:09:33 -0000

#8270: [HDA] very quiet on Lenovo laptop (due to hda mixer?)
---------------------------------+----------------------------
   Reporter:  ttcoder            |      Owner:  korli
       Type:  bug                |     Status:  new
   Priority:  normal             |  Milestone:  R1
  Component:  Drivers/Audio/HDA  |    Version:  R1/Development
 Resolution:                     |   Keywords:
 Blocked By:                     |   Blocking:
Has a Patch:  0                  |   Platform:  All
---------------------------------+----------------------------

Comment (by ttcoder):

 @korli: that patch brings line-in/mic-in to 100% perfection! Though for
 some reason there still needs to be verb-zero'ing as well (BTW I've found
 out only one zero is needed, see below)... I've tested with/without verb
 zeroing and with/without the above patch, here's the results of the
 interesting combinations:

 - withOUT the above diff and with zeroed verb: playback is perfect, and
 microphone-in works but strangely, I have to unmute it in ''both'' the
 Input pane and Output pane of the Media preflet, otherwise SoundRecorder
 receives nothing. That's odd because SoundRecorder should only be affected
 by "Input" settings, and that's annoying because you hear youself speak in
 the mike as you record :-].. So verb zeroing alone was not enough.
 - with the above diff but withOUT zeroed verb: playback is muted, but
 input works somewhat now (IIRC one has to shout loudly into the mike). So
 the above patch alone is not enough.
 - with the above diff ''and'' with zeroed verb: '''playback''' is perfect
 (even more loud/clear than when the HDA mixer is bypassed), and
 '''input''' as well, meaning ticket #8333 is thoroughly fixed for me as
 well: sound is loud and clear, and I just have to unmute Mic-in in the
 "Input" pane of media prefs, I do not have to unmute it in the Output
 pane. Perfection everywhere.

 I've narrowed down the verb zero'ing though, I've realized it's sufficient
 to zero out only the first, at index j=0. I'll do some cold-boot testing
 in case behavior differs from a media_server warm restart but here I doubt
 it has an impact:

 '''if(j==0)
 verb[j]=0;'''

 Resulting in this syslog'ging:

 {{{
 KERN: hda: set_mix: 23 mixer: 3
 KERN: hda: set_mix: 23 mixer muting 0 (0)
 KERN: hda: set_mix: 23 mixer muting 1 (1737180)
 KERN: hda: set_mix: 23 mixer muting 2 (1737280)
 KERN: hda: set_mix: 23 mixer unmuting 3 (1737300)
 KERN: hda: set_mix: 23 mixer muting 4 (1737480)
 KERN: hda: Setting mixer 3 failed on widget 23!
 }}}

 Note the "failed on widget..." last line; it appeared today or maybe
 yesterday; I've only noticed it now. Does not seem to impact things
 anyway, apart from the need to tick/untick some checkboxes sometimes (they
 seem to vary from session to session) everything is perfect.

 So I guess now the question is, why does "set_mix: 23 mixer muting 0" mess
 up the output (and quiets down the input IIRC) ?

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8270#comment:10>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: