LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Debian (https://www.linuxquestions.org/questions/debian-26/)
-   -   snd-cs46xx alsa kernel module missing (https://www.linuxquestions.org/questions/debian-26/snd-cs46xx-alsa-kernel-module-missing-681492/)

Speek 11-06-2008 06:30 AM

snd-cs46xx alsa kernel module missing
 
I've just installed Lenny (linux-image-2.6.26-1-686), but can't get my soundcard working. It needs the snd-cs46xx module, but that's not installed. I've searched the package database, but can't find a file named snd-cs46xx.ko. Any tips?

radiodee1 11-06-2008 01:21 PM

Here's something to try, you can download the alsa source package and build the modules yourself.
Code:

# aptitude update
# aptitude install alsa-source
# m-a prepare
# m-a a-i alsa-source

Then if the building of the alsa modules went OK, you can restart (I think, or just modprobe it) and find that you have your snd-cs46xx.ko module in place and sound works. Hope this helps.

Speek 11-06-2008 01:42 PM

Thanks for your help radiodee1. I already tried that, but the snd-cs46xx module was not in the alsa-modules package built by module-assistant.

radiodee1 11-06-2008 02:16 PM

Could it be called 'cs46xx' and not 'snd-cs46xx' ?? (That probably doesn't help much. If the file's not there, it's not there.)

Speek 11-06-2008 02:31 PM

From some posts in de Debian-kernel mailinglist I understand that this module contains some proprietary stuff ("blob"/firmware) and is therefore removed.

radiodee1 11-06-2008 02:42 PM

http://www.alsa-project.org/main/ind...:Module-cs46xx
This page comes from the alsa site. It explains how to build the cs46xx module. Since you're running a debian system (?) I would suggest NOT following the instructions on this page, but paying attention to the line that reads
Quote:

./configure --with-cards=cs46xx --with-sequencer=yes ; make ; make install
and try to figure out how to get that ./configure line recognized by module-assistant, or some other debian based tool that you could use to build your module. That may sound stupid, but the alsa-source package deposits the package 'alsa-driver.tar.bz2' in the /usr/src directory. Maybe you could unpack this archive (it unpacks to a subdirectory of '/usr/src/modules/alsa-driver/'. There is a 'configure' file there.

You could run './configure --with-cards=cs46xx --with-sequencer=yes' then 'make' then find the resultant kernel module, place it in the right place (where? I dunno) and modprobe it. There are more instructions on that page for how you have to set up modutils and modprobe.d

I have to say at this point that this all may not be good for the stability of your system, that you should look to other ideas about how to fix your problem... etc etc. I've also never done it, and I don't know if you'll really get cs46xx out of it.

That said, I hope this helps.

KeithE 11-06-2008 02:45 PM

Debian cs46xx Problem
 
Quote:

Originally Posted by Speek (Post 3333790)
From some posts in de Debian-kernel mailinglist I understand that this module contains some proprietary stuff ("blob"/firmware) and is therefore removed.

IIRC, the problem was that one of the files in the source code didn't contain licensing information, therefore this module was declared Politically Incorrect by the Debian honchos (Apparently, it's not a problem with Linus or the other distros, however, as it's still part of the standard kernel source).

The last kernel version that had this module included was 2.6.22.

Also, with Debian kernels later than 2.6.24, the Alsa source code for the module won't even compile - at least it didn't for me. 2.6.24 was the last kernel under which I could compile this module.

So, the bottom line is: There are a lot of older machines that can no longer use Debian if sound is desired. This module was used on quite a few 1999-era boxes, eMachines in particular. This is unfortunate as there are few distros anymore that will run on these machines at all (I could only get Debian and Slackware to work on mine) without crashing or very poor performance.

radiodee1 11-06-2008 02:47 PM

I didn't see your post about the mailing list. Maybe then the alsa package from the alsa site is the way for you.

Speek 11-06-2008 03:39 PM

Quote:

Originally Posted by radiodee1 (Post 3333805)
(...) Maybe then the alsa package from the alsa site is the way for you.

Yeah! I've got music! :-)

For others with the same problem, this is what I did. First make sure you have the linux-headers package installed. Then download the original alsa-driver 1.0.17 tarball and:
tar xf alsa-driver-1.0.17.tar.bz2
cd alsa-driver-1.0.17/
./configure --with-cards=cs46xx --with-sequencer=yes --with-isapnp=no --disable-verbose-printk
make
make install
modprobe snd-cs46xx

Thanks radiodee1!

n6yga 11-22-2008 10:34 AM

Using the latest version of alsa source: 1.0.18a,
I followed these instructions and the build went fine. Then I used alsaconf to configure alsa and it found the cs46xx card and driver. However, when alsaconf, or a raw modprobe, tries to insert the kernel module it fails with the following errors logged in dmesg:
[ 2452.740993] snd_cs46xx: disagrees about version of symbol snd_rawmidi_receive
[ 2452.741005] snd_cs46xx: Unknown symbol snd_rawmidi_receive
[ 2452.741055] snd_cs46xx: disagrees about version of symbol snd_info_register
[ 2452.741057] snd_cs46xx: Unknown symbol snd_info_register


I looked at the ./configure help but didn't see anything that would help.

Any ideas?


Mark.


All times are GMT -5. The time now is 04:55 AM.