[alsa-devel] no front speaker sound with ALC262

Tobin Davis tdavis at dsl-only.net
Mon Mar 17 19:35:00 CET 2008

I am finishing up my current course tomorrow night, and the next
{required} course I am taking is "Linux Fundamentals" - which is to say
I will have spare cycles to help out again on this.

Going through the message thread, you mentioned a Crystal A410 system
that works, whereas your Tangent 8000S does not.    It would be
interesting to recompile the drivers with "--with-debug=detect" and see
what shows up in dmesg (for alsa only, not the entire boot log).  Based
on that, we may be able to construct a driver model.  Also, if you have
access to the Crystal still, could you run alsa-info.sh on it as well?
I'd like to verify the audio subsystem ID.

In reviewing an earlier alsa-info posting, it shows your mixer as all
channels muted.  I'm assuming you tried changing the volume levels in

At any rate, they list a 30 day trial unit.  I'll see if I can get one
for driver development.  Nothing ventured, nothing gained.


On Mon, 2008-03-17 at 13:07 -0400, Matthew R Hurne wrote:

> 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,

Tobin Davis 

Now I think I just reached the state of HYPERTENSION that comes JUST

More information about the Alsa-devel mailing list