[alsa-devel] Linux 2.6.21 regression with hda-intel (Conexant 5045)
Hi!
First of all: Sorry if this question is dumb or a fix should be obvious, but as a non-ALSA_expert I'm a bit a a loss at the moment... I searched the bugtracker and this list but could not find anything appropriate - most probably I missed a relevant post or didn't recognize it as being relevant...
Any pointers are greatly appreciated!
The situation is as follows: Using Linux 2.6.20.4, my laptop's soundcard works just fine. Using 2.6.21.1, it also works, but the headphone socket is dead. Plugging a headphone into it correctly mustes the internal speakers, but no sound is output via the headphones.
Details:
- Fujitsu Simens Amilo Si1520 - Codec: Conexant ID 5045 (as reported by Linux 2.6.20.4)
Alsa device details between both Linux kernels differ completely, with Linux 2.6.20.4 only reporting a single a single analog PCM device and Linux 2.6.21.1 reporting a Conexant Analog and a Conexant Digital device. Should I still post the complete information from /proc/asound/* for both kernels?
I tried applying conexant-test22.patch by Tobin Davis, but it does not seem to match the in-kernel ALSA code. It also does not seem to be related to the 5045 chip...
Any ideas?
Greetings,
Gunter
Patch 22 was specific to a few HP laptops with the CX20551 codec (you have the CX20549). The driver has been undergoing quite a bit of refinement over the last few months, so I'm not sure which version is in what kernels. The best thing to do is download the alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it. It is the most current for that codec.
Tobin
On Thu, 2007-05-17 at 12:04 +0200, Gunter Ohrner wrote:
Hi!
First of all: Sorry if this question is dumb or a fix should be obvious, but as a non-ALSA_expert I'm a bit a a loss at the moment... I searched the bugtracker and this list but could not find anything appropriate - most probably I missed a relevant post or didn't recognize it as being relevant...
Any pointers are greatly appreciated!
The situation is as follows: Using Linux 2.6.20.4, my laptop's soundcard works just fine. Using 2.6.21.1, it also works, but the headphone socket is dead. Plugging a headphone into it correctly mustes the internal speakers, but no sound is output via the headphones.
Details:
- Fujitsu Simens Amilo Si1520
- Codec: Conexant ID 5045 (as reported by Linux 2.6.20.4)
Alsa device details between both Linux kernels differ completely, with Linux 2.6.20.4 only reporting a single a single analog PCM device and Linux 2.6.21.1 reporting a Conexant Analog and a Conexant Digital device. Should I still post the complete information from /proc/asound/* for both kernels?
I tried applying conexant-test22.patch by Tobin Davis, but it does not seem to match the in-kernel ALSA code. It also does not seem to be related to the 5045 chip...
Any ideas?
Greetings,
Gunter
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Tobin Davis wrote:
what kernels. The best thing to do is download the alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it. It is the most current for that codec.
This driver version does not seem to compile with Linux 2.6.21:
In file included from /usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.inc:13, from /usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.c:1: /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h: In function 'snd_pci_orig_save_state': /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state' /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h: In function 'snd_pci_orig_restore_state': /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1172: error: too many arguments to function 'pci_restore_state' make[4]: *** [/usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.o] Fehler 1 make[3]: *** [/usr/src/tmp/alsa-driver-1.0.14rc4/acore] Fehler 2 make[2]: *** [_module_/usr/src/tmp/alsa-driver-1.0.14rc4] Fehler 2
I noticed no errors before this one and no failed includes or similar in paticular.
Greetings,
Gunter
At Fri, 18 May 2007 11:05:15 +0200, Gunter Ohrner wrote:
Tobin Davis wrote:
what kernels. The best thing to do is download the alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it. It is the most current for that codec.
This driver version does not seem to compile with Linux 2.6.21:
In file included from /usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.inc:13, from /usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.c:1: /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h: In function 'snd_pci_orig_save_state': /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state' /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h: In function 'snd_pci_orig_restore_state': /usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1172: error: too many arguments to function 'pci_restore_state' make[4]: *** [/usr/src/tmp/alsa-driver-1.0.14rc4/acore/memalloc.o] Fehler 1 make[3]: *** [/usr/src/tmp/alsa-driver-1.0.14rc4/acore] Fehler 2 make[2]: *** [_module_/usr/src/tmp/alsa-driver-1.0.14rc4] Fehler 2
I noticed no errors before this one and no failed includes or similar in paticular.
The configure script couldn't detect some conditions by some reasons on your system. Try to build from the HG version, or daily snapshot at ftp://ftp.suse.com/pub/projects/alsa/snapshot
Takashi
Takashi Iwai wrote:
alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it.
This driver version does not seem to compile with Linux 2.6.21:
/usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state'
The configure script couldn't detect some conditions by some reasons on your system.
I found a reference to exactly the same problem here:
http://thread.gmane.org/gmane.linux.alsa.devel/46343/focus=46387
This thread mentions just this compile error and that it was supposed to be fixed with 1.0.14rc4 but in fact wasn't.
My kernel was also built for the Core2 CPU, recompiling the whole kernel for Pentium M helped and the compilation finished successfully.
There seems to be some macro magic going awry if Core2 is selected as the target CPU.
I'll now test the freshly compiled driver and report if it works better than the driver contained in vanilla Linux 2.6.21. :-)
Greetings,
Gunter
At Fri, 18 May 2007 11:35:39 +0200, Gunter Ohrner wrote:
Takashi Iwai wrote:
alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it.
This driver version does not seem to compile with Linux 2.6.21:
/usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state'
The configure script couldn't detect some conditions by some reasons on your system.
I found a reference to exactly the same problem here:
http://thread.gmane.org/gmane.linux.alsa.devel/46343/focus=46387
Does the configure script detect it as "mcore2", or not?
(BTW, any reason that you add Reply-To: header?)
Takashi
Takashi Iwai wrote:
/usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state'
Does the configure script detect it as "mcore2", or not?
Yes, both configures (1.0.14rc4 and hb-20070518) detect it as mcore2 if I try to compile it against a corresponding kernel, and both fail with the mentioned error.
******************************* checking for processor type... mcore2 *******************************
******************************* In file included from /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:930,
from /usr/src/tmp/alsa-driver-hg20070518/include/sound/driver.h:46, from /usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.c:22: include/linux/pci.h:531: error: expected identifier or '(' before numeric constant In file included from /usr/src/tmp/alsa-driver-hg20070518/include/sound/driver.h:46, from /usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.c:22: /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h: In function 'snd_pci_orig_save_state': /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:1172: error: too many arguments to function 'pci_save_state' /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h: In function 'snd_pci_orig_restore_state': /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:1176: error: too many arguments to function 'pci_restore_state' make[4]: *** [/usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.o] Fehler 1 make[3]: *** [/usr/src/tmp/alsa-driver-hg20070518/acore] Fehler 2 *******************************
If I compile against my Pentium M kernel, both configures report "i686" and at least alsa driver 1.0.14rc4 compiles. (Not tested with the HG snapshot.)
(BTW, any reason that you add Reply-To: header?)
Yes, but no paticularily good one. I tried to improve my client side configuration a bit and the "Reply-To"s should be gone now.
Greetings,
Gunter
At Fri, 18 May 2007 12:45:58 +0200, Gunter Ohrner wrote:
Takashi Iwai wrote:
/usr/src/tmp/alsa-driver-1.0.14rc4/include/adriver.h:1168: error: too many arguments to function 'pci_save_state'
Does the configure script detect it as "mcore2", or not?
Yes, both configures (1.0.14rc4 and hb-20070518) detect it as mcore2 if I try to compile it against a corresponding kernel, and both fail with the mentioned error.
checking for processor type... mcore2
OK, then at least it's something else. Could you attach config.log with mcore2?
In file included from /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:930,
from /usr/src/tmp/alsa-driver-hg20070518/include/sound/driver.h:46, from /usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.c:22: include/linux/pci.h:531: error: expected identifier or '(' before numeric constant In file included from /usr/src/tmp/alsa-driver-hg20070518/include/sound/driver.h:46, from /usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.c:22: /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h: In function 'snd_pci_orig_save_state': /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:1172: error: too many arguments to function 'pci_save_state' /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h: In function 'snd_pci_orig_restore_state': /usr/src/tmp/alsa-driver-hg20070518/include/adriver.h:1176: error: too many arguments to function 'pci_restore_state' make[4]: *** [/usr/src/tmp/alsa-driver-hg20070518/acore/hwdep.o] Fehler 1 make[3]: *** [/usr/src/tmp/alsa-driver-hg20070518/acore] Fehler 2
If I compile against my Pentium M kernel, both configures report "i686" and at least alsa driver 1.0.14rc4 compiles. (Not tested with the HG snapshot.)
Yes, I've also used 2.6.21 and 2.6.22-rc* and it'OK with i686 (I have no such a brand mew laptop here ;)
(BTW, any reason that you add Reply-To: header?)
Yes, but no paticularily good one. I tried to improve my client side configuration a bit and the "Reply-To"s should be gone now.
Looks Working fine. Thanks.
Takashi
Takashi Iwai wrote:
checking for processor type... mcore2
OK, then at least it's something else. Could you attach config.log with mcore2?
Attached.
I called this configure explicitely specifying an mcore2-compiled 2.6.20.4 kernel source tree as I'm currently running a Pentium M compiled 2.6.21.1 kernel.
Greetings,
Gunter
At Fri, 18 May 2007 15:42:07 +0200, Gunter Ohrner wrote:
Takashi Iwai wrote:
checking for processor type... mcore2
OK, then at least it's something else. Could you attach config.log with mcore2?
Attached.
I called this configure explicitely specifying an mcore2-compiled 2.6.20.4 kernel source tree as I'm currently running a Pentium M compiled 2.6.21.1 kernel.
Thanks. Could you try the patch below?
Takashi
diff -r cbf6ee3d6e14 configure.in --- a/configure.in Fri May 18 14:38:11 2007 +0200 +++ b/configure.in Fri May 18 16:15:17 2007 +0200 @@ -1214,7 +1214,7 @@ esac
dnl set ia32 (X86) case "$processor" in - i?86*|k?|crusoe|mcyrixiii|mwinchip|viac3_2) + i?86*|k?|crusoe|mcyrixiii|mwinchip|viac3_2|mcore2|geodegx*) if $KCC -mpreferred-stack-boundary=2 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then c_opts="-mpreferred-stack-boundary=2 $c_opts" CONFIG_X86=y
Takashi Iwai wrote:
Thanks. Could you try the patch below?
After applying the patch and running autoconf manually, it's currently compiling - thus, it seems to work. :-)
Greetings,
Gunter
At Fri, 18 May 2007 17:40:41 +0200, Gunter Ohrner wrote:
Takashi Iwai wrote:
Thanks. Could you try the patch below?
After applying the patch and running autoconf manually, it's currently compiling - thus, it seems to work. :-)
OK, I applied it HG tree now.
Thanks.
Takashi
Tobin Davis wrote:
what kernels. The best thing to do is download the alsa-driver-1.0.14rc4.tar.bz2 release from alsa-project.org and use it. It is the most current for that codec.
Seems to work fine so far.
Looks as if Linux 2.6.21 contains a broken driver which has subsequently been fixed.
Thanks a lot!
Greetings,
Gunter
participants (3)
-
Gunter Ohrner
-
Takashi Iwai
-
Tobin Davis