Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew R Hurne <matt.hurne@versatile.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Rene Dohmen <acidjunk@gmail.com>, alsa-devel@alsa-project.org
Subject: Re: no front speaker sound with ALC262
Date: Mon, 17 Mar 2008 13:07:07 -0400	[thread overview]
Message-ID: <47DEA53B.4030207@versatile.com> (raw)
In-Reply-To: <s5h1w6zvrz4.wl%tiwai@suse.de>

Takashi Iwai wrote:
> At Mon, 25 Feb 2008 13:49:43 +0100,
> Rene Dohmen wrote:
>> Hi List,
>>
>> Is there any chance that this bug will be fixed soon?
> 
> Well, it's up to you.
> 
> One of the problems is that BIOS on your machine doesn't give the
> useful information for auto-probing at all.  A typical workaround in
> such a case is to try the existing preset models.  Pass model=basic or
> model=benq to snd-hda-intel module, for example.  The available model
> values can be found in ALSA-Configuration.txt.  Don't forget to
> check and adjust the mixer status again after changing the model
> because the mixers appear completly differently depending on the
> model.
> 
> If none of the existing models doesn't match with your device, we have
> to figure out the exact codec configuration.  For some codecs like
> ALC880 or ALC260, you have model=test option that allows you to test
> all codec configurations via mixer interface.  Unfortunately, ALC262
> has no model=test support, so you have to do check it literally
> manually.  Below is a brief instruction how to explore the mysterious
> world of HD-audio codecs.
> 
> First of all, install the very latest ALSA HG version.  Don't stick
> with 1.0.16 release.  You can use the daily snapshot tarball instead,
> too.
> 
> Then, get hda-verb program found on
> 	ftp://ftp.suse.com/pub/people/tiwai/misc/
> Extract the tarball, run make.  Install it or invoke it locally.  This
> program can be usable only as root.
> 
> The next step is to get ALC262 datasheet from Realtek web site.  Take
> a look at the block diagram page.  There are pins in the right side
> and two DACs in the left side.  We have to set up the correct pins and
> connect to the DAC properly.
> 
> Now, assume the port-D (NID 0x14) is the speaker output.  Check
> /proc/asound/card0/codec#0 and look for Node 0x14.  It may have the
> entry like the following:
> 
> 	Node 0x14 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
> 	  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
> 	  Amp-In vals:  [0x00 0x00] [0x00 0x00]
> 	  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
> 	  Amp-Out vals:  [0x80 0x80]
> 	  Pincap 0x083e: IN OUT HP Detect Trigger
> 	  Pin Default 0x411111f0: [N/A] Speaker at Ext Rear
> 	    Conn = 1/8, Color = Black
> 	    DefAssociation = 0xf, Sequence = 0x0
> 	    Misc = NO_PRESENCE
> 	  Pin-ctls: 0x20: IN
> 	  Unsolicited: tag=00, enabled=0
> 	  Connection: 2
> 	     0x0c* 0x0d
> 
> For this widget, we have a couple of things to do: fix the pin type,
> adjust the amp and check the connection.  First, change the pin type
> to the correct one, the output type.  Usually, it's either 0x40 or
> 0xc0.  The latter type is with a headphone amplifier.  Let's take
> 0xc0 as an example.  Call hda-verb like below (as root user):
> 
> 	# hda-verb /dev/snd/hwC0D0 0x14 SET_PIN_WID 0xc0
> 
> Check /proc/asound/card0/codec#0 again whether the pin-ctls is changed
> properly.  Similarly, unmute the output volume of this widget with
> hda-verb.  For this, pass 0xb000 to SET_AMP verb:
> 
> 	# hda-verb /dev/snd/hwC0D0 0x14 SET_AMP 0xb000
> 
> 0xb000 means to set the AMP-output to 0x00.  The mute bit is 0x80, so
> 0x00 means to unmute and set the volume 0.  (The volume 0 doesn't
> matter because this widget has no volume but only mute control.)
> 
> In the example above, this pin is connected from the NID 0x0c, which
> is a mixer amp.  That's fine and let's keep as is.
> Check this widget 0x0c whether the first Amp-In vals is unmuted
> (i.e. has *no* 0x80 bit mask).  The first element of 0x0c is connected
> to the DAC, 0x02, directly.  If it's muted, call like below 
> 
> 	# hda-verb /dev/snd/hwC0D0 0x0c SET_AMP 0x7000
> 
> 0x7000 means to set the AMP-input of the first element (index 0) to
> 0x00.  For the second element, it'd be 0x7100.
> 
> OK, all set ready.  Try aplay and pray.  If this doesn't work, try
> other ports as well until you find a gold mine.
> 
> You could check the inputs similarly if anything doesn't work.
> Once after you figure out all pin configurations, we can create a new
> model (or fix the existing model) to adapt your device.
> 
> Have fun,
> 
> 
> Takashi

Takashi,
   For my part, I have no idea what you're talking about.  That's not a criticism of you, its a criticism of myself.  :-)  Is there somewhere where things like "verb" and "NID" and "widget" are documented?  I skimmed through the driver development guide and didn't see such references.  I played with hda-verb briefly, but since I have no clue what I'm doing, decided that I'm better off trying to learn the fundamentals I need to understand before messing with hda-verb.  I know its tough dealing with someone like myself who is a user, not a developer (well, not a hardware driver developer, anyway).  I apologize for that.  Perhaps my company could send you a unit?  I'd have to discuss with them, but I suspect they would be willing to do so.

Thanks,
-- 
Matthew Hurne
Versatile Systems, Inc.
717.919.9102
matthew.hurne@versatile.com

  parent reply	other threads:[~2008-03-17 17:07 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-23  0:45 no front speaker sound with ALC262 Rene Dohmen
2008-02-23  2:28 ` Matthew R. Hurne
2008-02-23  2:29   ` Matthew R. Hurne
2008-02-25 12:49     ` Rene Dohmen
2008-02-26 12:10       ` Takashi Iwai
2008-02-26 12:21         ` Rene Dohmen
2008-02-26 23:19           ` Rene Dohmen
2008-02-27 10:42             ` Takashi Iwai
2008-02-27 18:16               ` Rene Dohmen
2008-02-28 11:14                 ` Takashi Iwai
2008-02-28 11:20                   ` Takashi Iwai
     [not found]                     ` <01CED47B-533E-4913-BED5-4DD6E9E86414@gmail.com>
2008-02-29 16:57                       ` Takashi Iwai
2008-03-04 13:37                         ` Rene Dohmen
2008-03-04 13:54                           ` Takashi Iwai
2008-03-14 20:54                           ` Matthew R Hurne
2008-02-26 16:59         ` Matthew R. Hurne
2008-03-17 17:07         ` Matthew R Hurne [this message]
2008-03-17 18:35           ` Tobin Davis
2008-03-17 19:04             ` Matthew R Hurne
     [not found]               ` <1205781169.27317.165.camel@razman.gruemaster.com>
     [not found]                 ` <47DECB8E.7060007@versatile.com>
     [not found]                   ` <1205792180.27317.188.camel@razman.gruemaster.com>
2008-03-18 13:11                     ` Matthew R Hurne
2008-03-18 13:24                       ` Takashi Iwai
2008-03-21 20:14                         ` Tobin Davis
2008-03-22 17:59                         ` Rene Dohmen
2008-03-22 19:09                           ` Tobin Davis
2008-03-25 10:40                             ` Rene Dohmen
2008-03-28 18:28                               ` Tobin Davis
     [not found]                                 ` <69D07E29-4C67-45C7-B980-BBF6B553C070@gmail.com>
     [not found]                                   ` <1206970216.756.648.camel@razman>
2008-04-15 10:02                                     ` Rene Dohmen
2008-04-15 13:31                                       ` Tobin Davis
2008-04-28 20:57                               ` Tobin Davis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47DEA53B.4030207@versatile.com \
    --to=matt.hurne@versatile.com \
    --cc=acidjunk@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox