[hsflinux] Volume control issues..
rodrigo at editau.com.br
Fri May 4 14:57:46 EDT 2007
Lewis Hopfe wrote:
> Thanks. I'll wait for the patch and give it a try tomorrow.
Today, I download the latest version of HSF driver to update my patch
before send it. And for my surprise, the Linuxant merged the code with
Alsa code. So, there exists so minor differences in code between Alsa
modules and HSF modules. When I made this patch, the version of HSF
driver was 7.60.00.02. So, I don't see necessity to send this patch,
because is too litte. But you want, I will send to you.
But I understood your question.
What it is happening is that: This modification of these channels was
not made by the Linuxant. The maintainers of Alsa responsible for
conexant audio chipsets had removed this feature. Verions of kernel >=
2.6.21 just has only one mixer to control speaker and headphone in this
So, if you *really* need these two channels separately, and you download
the latest kernel, or, you use the HSF drivers, you every need apply a
little patch in patch_conexant.c to show these channels (sound/pci/hda
in kernel, or modules/GPL/hda in HSF driver)
This is a diff to apply in latest HSF driver (7.60.00.04) to you view
these two channels (I don't tested it, but maybe work):
--- patch_conexant.c.orig 2007-05-04 13:38:51.000000000 -0300
+++ patch_conexant.c 2007-05-04 13:39:23.000000000 -0300
@@ -862,6 +862,8 @@
HDA_CODEC_MUTE("Int Mic Switch", 0x1a, 0x01, HDA_INPUT),
HDA_CODEC_VOLUME("Ext Mic Volume", 0x1a, 0x02, HDA_INPUT),
HDA_CODEC_MUTE("Ext Mic Switch", 0x1a, 0x02, HDA_INPUT),
+ HDA_CODEC_MUTE("Speaker Playback", 0x10, 0, HDA_OUTPUT);
+ HDA_CODEC_MUTE("Headphone Playback", 0x11, 0, HDA_OUTPUT);
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Master Playback Volume",
Just save it in a file, and apply with "patch < your_file".
In kernel, because the code is different, you can apply the code
manually, in struct snd_kcontrol_new cxt5045_mixers.
More information about the hsflinux