[alsa-devel] STAC92xx model problem on HP EliteBook 8740w

Takashi Iwai tiwai at suse.de
Fri May 6 18:12:12 CEST 2011


At Fri, 06 May 2011 18:06:37 +0200,
Johannes Kimmel wrote:
> 
> On 05/04/2011 03:23 PM, Takashi Iwai wrote:
> > At Fri, 29 Apr 2011 23:26:20 +0200,
> > Johannes Kimmel wrote:
> >>
> >> Hi,
> >>
> >> I hope this is the right location for my problem.
> >> When don't specify the model for my soundcard, everything works except
> >> spdif output over displayport. Correct led status, control names etc.
> >> working fine.
> >> But when I want to use sound over displayport, one working option is
> >> model=rev, but then my laptop-speakers don't work anymore.
> >>
> >> I think there is maybe a right model missing, or at least I didn't find
> >> the right.
> >>
> >> Here are 2 alsa-infos:
> >>
> >> spdif working:
> >> http://paste.pocoo.org/show/380474/
> >>
> >> laptop-speaker working:
> >> http://paste.pocoo.org/show/380473/
> >>
> >> I compile my kernel myself and I know the way to the alsa-drivers. So if
> >> there's anything to try that might help solve the problem, just ask.
> >
> > It's likely that BIOS doesn't set up the pin correctly for the digital
> > out.
> >
> > There are two digital out pins, 0x1e and 0x1f.  The model=rev enables
> > both pins.
> >
> > For debugging, try the following:
> >
> > - Build the driver with CONFIG_SND_HDA_HWDEP=y,
> >    CONFIG_SND_HDA_RECONFIG=y, and CONFIG_SND_HDA_PATCH_LOADER=y
> > - Load the driver without model option.
> >    You'll have /sys/class/sound/hwC0D0/user_pin_configs and reconfig.
> > - Stop all sound-related applications, at best, stop X and work on
> >    Linux console
> > - Save the current mixer state, run "alsactl store" as root
> > - Write the 0x1e and 0x1f pin configurations, run as root like:
> >    # echo "0x1e 0x01452050
> >      0x1f 0x01452050">  /sys/class/sound/hwC0D0/user_pin_configs
> > - Reconfigure the sound driver
> >    # echo 1>  /sys/class/sound/hwC0D0/reconfig
> > - Restore the mixer state, run "alsactl restore" as root
> > - Now you'll have the digital out PCM
> >
> > Once when this works, try to figure out which of the pins 0x1e and
> > 0x1f is the really active.  In the procedure above, write only 0x1e or
> > 0x1f entry, and reconfigure.
> >
> > After you get a pin-config setup, you can write a "patch" and load it
> > via the firmware-loader automatically.  The information is found in
> > $linux/Documentation/sound/alsa/HD-Audio.txt.
> >
> >
> > Takashi
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> >
> 
> I found out that using "0x1e 0x01452050" works. Now I have a problem 
> getting the patch working.
> What I have so far is:
> 
> ...
> options snd-hda-indel index=0 patch=hda-8740w
> ...
> 
> for my modprobe config and
> 
> [codec]
> 0x111d7603 0x103c1520 0
> 
> [pincfg]
> 0x1e 0x01452050
> 
> as the patch in /lib/firmware/hda-8740w.
> 
> I'm also a little puzzled about the "address of the codec" in the patch. 
> I assumed 0 as this was what hda-analyzer had standing somewhere.

This is the address found in the corresponding codec proc file.
In your case, it shows "Address: 0", so 0 is the right value.

> There are no errors so far, but the pin config is not set when loading 
> the module.

Check whether the patch parameter is passed correctly.  See
/sys/modules/snd_hda_intel/parameters/patch file.
If it's there, at least the driver must show some message.

If it's not found there, the problem is the kernel configuration.


Takashi


More information about the Alsa-devel mailing list