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@xxxxxxxxxxxxx _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel