[alsa-devel] Suggestion for getting alsa to use Conexant
How about being able to parameterize Alsa modules so that the intel 80xm module finds any hda modem that also acts as an Intel hda chip? I am referring to the Conexant combination modem and hda chip that gets identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a modem. Giving the 80xm module the device:identifier value to override its detection of the Intel version of the Conexant hda modem might let slmodemd work.
At Wed, 2 May 2007 21:13:15 -0500, Victor Schneider wrote:
How about being able to parameterize Alsa modules so that the intel 80xm module finds any hda modem that also acts as an Intel hda chip? I am referring to the Conexant combination modem and hda chip that gets identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a modem. Giving the 80xm module the device:identifier value to override its detection of the Intel version of the Conexant hda modem might let slmodemd work.
The mixer name problem was already fixed.
Takashi
I don't think this is limited to the Conexant CX20549 (5045) or the CX20551 (5047). I have a laptop with a Conexant vendor ID of 2bfa. The hda-intel driver picks it up, but uses the hda-generic configuration.
On the CX20549 & CX20551, I think I need to toggle a bit to enable the MFG portion. I have a test board here, but the drivers are not detecting it, even without my patch_conexant code. I'll look at the intel-80xm module, but it is written for the AC'97 bus specification, which is very different from the HDA bus specification.
Tobin
On Wed, 2007-05-02 at 21:13 -0500, Victor Schneider wrote:
How about being able to parameterize Alsa modules so that the intel 80xm module finds any hda modem that also acts as an Intel hda chip? I am referring to the Conexant combination modem and hda chip that gets identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a modem. Giving the 80xm module the device:identifier value to override its detection of the Intel version of the Conexant hda modem might let slmodemd work.
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Thu, 24 May 2007 19:32:55 -0700, Tobin Davis wrote:
I don't think this is limited to the Conexant CX20549 (5045) or the CX20551 (5047). I have a laptop with a Conexant vendor ID of 2bfa. The hda-intel driver picks it up, but uses the hda-generic configuration.
On the CX20549 & CX20551, I think I need to toggle a bit to enable the MFG portion. I have a test board here, but the drivers are not detecting it, even without my patch_conexant code. I'll look at the intel-80xm module, but it is written for the AC'97 bus specification, which is very different from the HDA bus specification.
The bus design isn't a so big issue, but the problem would be rather the difference of the codec/controller communication. For example, smartlink modem codecs (si3054) and compatibles are already supported in patch_si3054.c. As you can see, the code is really small.
AFAIK, the conexant modem codec requires extra communication, a kind of ACK, and thus incompatible with smartlink codecs. Similarly, the intel8x0m driver also doesn't support conexant chips because the conexant codecs need different controls.
Ideally, the whole encoding stuff should go to the user-space like slmodemd. I once tried to convince Conexant guys to do that, but they disagreed because of lack of man power. To me, it's hard to imagine because keeping the kernel driver needs more effort...
Takashi
Tobin
On Wed, 2007-05-02 at 21:13 -0500, Victor Schneider wrote:
How about being able to parameterize Alsa modules so that the intel 80xm module finds any hda modem that also acts as an Intel hda chip? I am referring to the Conexant combination modem and hda chip that gets identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a modem. Giving the 80xm module the device:identifier value to override its detection of the Intel version of the Conexant hda modem might let slmodemd work.
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
-- Tobin Davis tdavis@dsl-only.net _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Just out of curiosity, has anyone with these codecs tried the linuxant software? I looked at it briefly, and they are modifying my patch_conexant.c driver. Some of the changes I may include in the main alsa driver (hey, I wrote the bulk, so why not), some of it would never pass kernel coding style.
I am kind of peeved that they don't bother to communicate with the alsa team, instead they take all of the hda code and hack it up, adding their copyright info to the code header (see header patch attached). Takashi, what's your take on this?
Tobin
On Fri, 2007-05-25 at 12:14 +0200, Takashi Iwai wrote:
At Thu, 24 May 2007 19:32:55 -0700, Tobin Davis wrote:
I don't think this is limited to the Conexant CX20549 (5045) or the CX20551 (5047). I have a laptop with a Conexant vendor ID of 2bfa. The hda-intel driver picks it up, but uses the hda-generic configuration.
On the CX20549 & CX20551, I think I need to toggle a bit to enable the MFG portion. I have a test board here, but the drivers are not detecting it, even without my patch_conexant code. I'll look at the intel-80xm module, but it is written for the AC'97 bus specification, which is very different from the HDA bus specification.
The bus design isn't a so big issue, but the problem would be rather the difference of the codec/controller communication. For example, smartlink modem codecs (si3054) and compatibles are already supported in patch_si3054.c. As you can see, the code is really small.
AFAIK, the conexant modem codec requires extra communication, a kind of ACK, and thus incompatible with smartlink codecs. Similarly, the intel8x0m driver also doesn't support conexant chips because the conexant codecs need different controls.
Ideally, the whole encoding stuff should go to the user-space like slmodemd. I once tried to convince Conexant guys to do that, but they disagreed because of lack of man power. To me, it's hard to imagine because keeping the kernel driver needs more effort...
Takashi
Tobin
On Wed, 2007-05-02 at 21:13 -0500, Victor Schneider wrote:
How about being able to parameterize Alsa modules so that the intel 80xm module finds any hda modem that also acts as an Intel hda chip? I am referring to the Conexant combination modem and hda chip that gets identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a modem. Giving the 80xm module the device:identifier value to override its detection of the Intel version of the Conexant hda modem might let slmodemd work.
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
-- Tobin Davis tdavis@dsl-only.net _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
At Fri, 25 May 2007 09:37:44 -0700, Tobin Davis wrote:
Just out of curiosity, has anyone with these codecs tried the linuxant software? I looked at it briefly, and they are modifying my patch_conexant.c driver. Some of the changes I may include in the main alsa driver (hey, I wrote the bulk, so why not), some of it would never pass kernel coding style.
I am kind of peeved that they don't bother to communicate with the alsa team, instead they take all of the hda code and hack it up, adding their copyright info to the code header (see header patch attached). Takashi, what's your take on this?
It's GPL and they are allowed to that. And I'm not surprised at all by their action. It's a typical one that many hardware vendors take.
The problem is that their modification would be never accepted because of the binary-only part. As long as this exists, Conexant will keep doing in this way because _they_ need the control over this, not we, the open-source community.
I think the best would to convince them to rewrite the code to user-space daemon like slmodemd, so that they no longer need to touch the kernel world. This will make it eventually easier for them to maintain their codes. My upcoming hda-tools is developed also for such a purpose...
Takashi
Tobin
On Fri, 2007-05-25 at 12:14 +0200, Takashi Iwai wrote:
At Thu, 24 May 2007 19:32:55 -0700, Tobin Davis wrote: > > I don't think this is limited to the Conexant CX20549 (5045) or the > CX20551 (5047). I have a laptop with a Conexant vendor ID of 2bfa. The > hda-intel driver picks it up, but uses the hda-generic configuration. > > On the CX20549 & CX20551, I think I need to toggle a bit to enable the > MFG portion. I have a test board here, but the drivers are not > detecting it, even without my patch_conexant code. I'll look at the > intel-80xm module, but it is written for the AC'97 bus specification, > which is very different from the HDA bus specification. The bus design isn't a so big issue, but the problem would be rather the difference of the codec/controller communication. For example, smartlink modem codecs (si3054) and compatibles are already supported in patch_si3054.c. As you can see, the code is really small. AFAIK, the conexant modem codec requires extra communication, a kind of ACK, and thus incompatible with smartlink codecs. Similarly, the intel8x0m driver also doesn't support conexant chips because the conexant codecs need different controls. Ideally, the whole encoding stuff should go to the user-space like slmodemd. I once tried to convince Conexant guys to do that, but they disagreed because of lack of man power. To me, it's hard to imagine because keeping the kernel driver needs more effort... Takashi > > Tobin > > On Wed, 2007-05-02 at 21:13 -0500, Victor Schneider wrote: > > > How about being able to parameterize Alsa modules so that the intel 80xm > > module finds any hda modem that also acts as an Intel hda chip? I am > > referring to the Conexant combination modem and hda chip that gets > > identified as "Conexant Waikiki" by alsamixer, but that 80xm can't find as a > > modem. Giving the 80xm module the device:identifier value to override its > > detection of the Intel version of the Conexant hda modem might let slmodemd > > work. > > > > _______________________________________________ > > Alsa-devel mailing list > > Alsa-devel@alsa-project.org > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > -- > Tobin Davis <tdavis@dsl-only.net> > _______________________________________________ > Alsa-devel mailing list > Alsa-devel@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >
-- Tobin Davis tdavis@dsl-only.net
[2 cxtheader.patch <text/x-patch; UTF-8 (7bit)>] --- ../../../../../../../alsa/alsa-project/alsa-driver/alsa-kernel/pci/hda/patch_conexant.c 2007-05-23 09:54:08.000000000 -0700 +++ patch_conexant.c 2007-05-25 09:16:39.000000000 -0700 @@ -1,10 +1,12 @@ /*
- HD audio interface patch for Conexant HDA audio codec
- HD audio interface patch for Conexant HDA audio/modem codec
- Copyright (c) 2006 Pototskiy Akex alex.pototskiy@gmail.com
Takashi Iwai <tiwai@suse.de>
Tobin Davis <tdavis@dsl-only.net>
- Copyright (c) 2005-2006 Linuxant inc.
- This driver is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
participants (3)
-
Takashi Iwai
-
Tobin Davis
-
Victor Schneider