[alsa-devel] Problem and workaround for Intel HDA
Yann Le Brech
yann at le-brech.fr
Thu Jul 19 18:58:42 CEST 2007
The problem : missing controls of the sound cards for an Intel HDA,
Toshiba Satellite Pro U200
Full description :
I was using the kernel 2.6.19 for a while, and I got some interesting
functions like controlling the sound level on headphones or speakers
separately. Then I upgraded to the kernel 2.6.21.1 and suddently the
level controls changed, to useless level controls, like Master and PCM
only (and some other useless). I wanted to get back to the previous
control set, and I've found a solution by checking what was done in
debugging mode. The previous kernel was not detecting the model
config, but the new one did. So I simply strapped the detection
routine by a return -1 and it did the trick. I know its not the best
thing to do, but it was the simplest thing I thought about.
Outputs :
2.6.19's Alsa output :
ALSA sound/pci/hda/hda_intel.c:695: codec_mask = 0x3
2.6.21.1 :
ALSA sound/pci/hda/hda_intel.c:695: codec_mask = 0x3
ALSA sound/pci/hda/hda_codec.c:1757: hda_codec: model 'toshiba' is
selected for config 1179:1 (Toshiba U205)
How to see the problem :
Just see the list of controls in any mixer software.
Environment :
Toshiba Satellite Pro U200
Software :
KateOS 3.2 with Linux 2.6.19 (working) and 2.6.21.1 (not working)
Workaround :
int __devinit snd_hda_check_board_config(struct hda_codec *codec,
int num_configs, const char **models,
const struct snd_pci_quirk *tbl)
{
return -1; // WORKAROUND
if (codec->bus->modelname && models) {
int i;
for (i = 0; i < num_configs; i++) {
if (models[i] &&
--
a++
Y.
More information about the Alsa-devel
mailing list