[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 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 :

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


More information about the Alsa-devel mailing list