I have a Toshiba A100 with an ATI SB450 sound controller. Using media-sound/alsa-driver-1.0.14-r1, alsa functions well, as long as I add options snd-hda-intel model=auto position_fix=1 to the end of /etc/modules.d/alsa . However, when I try to use the kernel alsa drivers with sys-kernel/gentoo-sources-2.6.22-r8, snd_hda_intel appears to load, but when I do an lsmod, its "used by" field is zero (instead of 2 when it's working), and running amixer returns no output. I'm concerned that people have threatened to abandon alsa-driver completely in favour of kernel modules, because they're extremely broken. Reproducible: Always Steps to Reproduce:
Can you try 2.6.23? We're still supporting 2.6.22 and can likely backport this easily, but testing 2.6.23 is the starting point we would work from. From a working setup (either alsa-driver or 2.6.23) please post /proc/asound/cards contents, and the "Card" and "Chip" descriptions from alsamixer. Also, lspci output would be useful. Thanks.
Now that 2.6.24-rc1 is out it would also be useful if you could test that version.
Greg, Have you had a chance to test with 2.6.23 and with the latest vanilla-sources (2.6.24_rc2 at this time) as asked in comment #2
Sorry it took me so long to respond. I had a difficult time moving from the alsa-driver package to the kernel modules. Even after I unmerged the alsa-driver package, the whole /lib/modules/2.6.22-gentoo-r8/alsa-driver directory was still populated, and every time I tried to modprobe snd_hda_intel, it would try to use that module and would fail with a bunch of unknown symbol errors. After manually killing the entire directory and rebooting, sound from the kernel modules works!! Here is /proc/asound/cards: 0 [SB ]: HDA-Intel - HDA ATI SB HDA ATI SB at 0xc0500000 irq 18 I'm very impressed. Thanks a lot, folks. I have another question - is there anything else I need to do to clean out the lurking remnants of alsa-driver?
Portage deliberately never removes kernel modules, it's not ideal but is the best solution we have at the moment. Unfortunately it can cause problems like the one you ran into. Which kernel version are you running now where it is working? i.e. what is the difference between comment #4 and comment #0?
My uname is now: Linux shuffles 2.6.22-gentoo-r8 #20 PREEMPT Thu Nov 8 23:18:50 EST 2007 i686 Intel(R) Celeron(R) M CPU 420 @ 1.60GHz GenuineIntel GNU/Linux This is *really* strange. Firstly, I forgot to eselect the new sources, which is my fault. Secondly, I explicitly unmerged gentoo-sources-2.6.22-r8 with a prune, but /usr/src/linux-2.6.22-gentoo-r8 is still there - is this another thing that portage doesn't touch? Thirdly, if the snd_hda_intel module is being built against the old sources and is now working, I'm at a loss as to what convinced it to work where it wasn't before.
portage doesn't remove /usr/src/linux-2.6.22-gentoo-r8 because there are files within which were not put there by portage itself - namely all the .o (compiled object) files, your .config, and whatever else the kernel creates during it's build process. This is normal, and another little oddity due to the fact that kernels are quite different from other packages in portage. It is documented however in the gentoo kernel upgrade guide (as is the modules thing) :) Maybe the problem in comment #0 was the /lib/modules clash between alsa-driver and the kernel. Anyway, if it's working, I'll close this.
I can say with certainty that the bug wasn't caused by the alsa-driver conflict, as it existed before I installed alsa-driver. It's strange, though: with the kernel drivers, the xfce4 volume panel plugin does correctly change the volume when you open it, but on the panel itself the volume always reads as zero. Anyway, thanks for all of your help.