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] &&