LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   No Alsa after kernel upgrade (https://www.linuxquestions.org/questions/linux-software-2/no-alsa-after-kernel-upgrade-134751/)

hopmedic 01-14-2004 11:02 AM

No Alsa after kernel upgrade
 
This is a frustrating problem for me. I have a Toshiba Tecra 8000 laptop, with Redhat 9 installed, and have to use Alsa to get sound in linux. I have installed Alsa several times, and have had very good results with it. The biggest problem lies in the fact that every time the kernel is upgraded, it trashes my sound configuration, and I have to reinstall Alsa. This time, however, when the kernel was upgraded, and it (of course) trashed my Alsa configs, I cannot get the sound back. I have reinstalled Alsa 3 times, unsuccessfully. I have used Synaptic to remove the packages and start over. I have tried using Synaptic to install Alsa. All unsuccessfully. I should note that the last time I had to reinstall it, I used Synaptic to uninstall, but it would not work using Synaptic to install - I've had to compile (I guess) each time. Here is the script that I use to install Alsa when needed:

Code:

bunzip2 alsa*
tar -xf alsa-dri*
tar -xf alsa-oss*
tar -xf alsa-lib*
tar -xf alsa-tool*
tar -xf alsa-util*

cd alsa-dri*
./configure --with-cards=opl3sa2 --with-sequencer=yes;make;make install
./snddevices
chmod a+rw /dev/dsp /dev/mixer /dev/sequencer /dev/midi

cd ../alsa-lib*
./configure;make;make install

cd ../alsa-uti*
./configure;make;make install

cd ../alsa-oss*
./configure;make;make install

modprobe snd-opl3sa2
modprobe snd-pcm-oss
modprobe snd-mixer-oss
modprobe snd-seq-oss

All of the modprobes are failing. Up until that point, however, things appear to be running normally. After install is complete, and I reboot, the AlsaMixer isn't there. If it helps, here is the code in my /etc/modules.conf file:

Code:

alias usb-controller usb-uhci
alias eth0 pcnet_cs

#Alsa
alias char-major-116 snd
options snd cards_limit=1 major=116
alias snd-card-0 snd-opl3sa2
options snd-opl3sa2 dma1=1 \
                    dma2=0 \
                    fm_port=0x388 \
                    irq=5 \
                    isapnp=0 \
                    midi_port=0x330 \
                    port=0x538 \
                    sb_port=0x220 \
                    wss_port=0x530
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias char-major-14 soundcore

#DVD support / DMA
options ide-cd dma=1

Thanks for any help that you can provide.

Rich
:newbie:

Rounan 01-16-2004 11:30 AM

What kernel did you upgrade to?

If it was a 2.6 series, ALSA can be compiled into the kernel - if you didn't do this, you may not have soundcore, and if you did, it might be confusing things.

s'all I got. :P
--Rounan

a7bo 01-16-2004 12:21 PM

Compiled ALSA into 2.6 config - no sound
 
I compiled ALSA into my 2.6 config and I don't get sound. In fact the soundcore module doesn't compile in. I'd appreciate knowing where the soundcore mod is in 2.6 so I can get it installed. I looked for the module in the config file, but I can't find it. I did have the soundcore mod compiled, but it disappeared over several reworks of the config file. Everything else is there. All I have to do is get soundcore back and I can set up the modules.conf and be off-and-running. Oh well!!

BTW - I'm running the 9.1 Slackware distro (has a stock 2.4.22 kernel). I'm using the 2.3 gcc to compile.

hopmedic 01-16-2004 12:32 PM

I got my problem solved - installed older version of Alsa 0.9.8, and it works fine now.

Rounan 01-16-2004 12:37 PM

Couple things to check out:

Kernel 2.6 means changes to modules.
modules.conf has been replaced by modprobe.conf, so you'll need to make sure modprobe.conf is doing what it should.

try just modprobe soundcore.
If that doesn't work, do 'locate soundcore' to find the module, and check the extension. 2.6 has changed it to .ko instead of .o
Just changing my nvidia.o to nvidia.ko fixed that module - maybe it'll work here.

I'm in your boat for now, my man. I don't have sound up and running 100% on my 2.6 machine yet, either. I did some stuff over ssh today that I hope fixed it, but I won't know for sure til I poke it this weekend.

--Rounan

a7bo 01-16-2004 12:53 PM

thanks for the info
 
Yeah - I forgot about modprobe. conf .

Actually I had soundcore compiled in at some point, but I did something and "it went away". I'll try copying the mod from my 2.4.22 and see what happens. I might try it with my Via82xx mod, too. I can avoid having to add any OSS stuff if that works.

Rounan 01-19-2004 10:15 AM

Well, I've hit a wall...

Couldn't get alsa working after upgrading to 2.6, so I tried to upgrade to the latest version.

In my kernel config I specified ALSA as a module, so to the best of my knowledge upgrading ALSA shouldn't require a kernel recompile... am I wrong?

So I did apt-get remove alsa, which removed alsa-base and alsa-lib, and then compiled and installed ALSA v1.0.1 from source.

During the compile, I got several warnings that were something like this:
Warning: You have stale modules. You messed with SUBDIR - don't complain if something goes wrong.

After installing alsa-driver, alsa-utils, alsa-lib, alsa-oss and alsa-tools, all of which completed successfully, I ran the module-options script in the utils directory as recommended during driver compilation, and was told:
Nothing to be changed

I then ran alsaconf, which detected my soundcard, and set up modprobe.conf(see below), but then failed to start ALSA. this has since stopped working - alsaconf now fails to locate any sound cards.

When I try to modprobe cs46xx (my soundcard driver), I get:

# modprobe cs46xx
WARNING: Error inserting snd_page_alloc (/lib/modules/2.6.1/kernel/sound/acore/snd-page-alloc.ko): Invalid module format
WARNING: Error inserting snd (/lib/modules/2.6.1/kernel/sound/acore/snd.ko): Invalid module format
WARNING: Error inserting snd_timer (/lib/modules/2.6.1/kernel/sound/acore/snd-timer.ko): Invalid module format
WARNING: Error inserting snd_pcm (/lib/modules/2.6.1/kernel/sound/acore/snd-pcm.ko): Invalid module format
WARNING: Error inserting snd_ac97_codec (/lib/modules/2.6.1/kernel/sound/pci/ac97/snd-ac97-codec.ko): Invalid module format
WARNING: Error inserting snd_seq_device (/lib/modules/2.6.1/kernel/sound/acore/seq/snd-seq-device.ko): Invalid module format
WARNING: Error inserting snd_rawmidi (/lib/modules/2.6.1/kernel/sound/acore/snd-rawmidi.ko): Invalid module format
FATAL: Error inserting cs46xx (/lib/modules/2.6.1/kernel/sound/pci/cs46xx/cs46xx.ko): Invalid module format

So, basically, it looks like I've managed to royally confuse my kernel. It has to be just a matter of symlinking or redirecting something, I'm sure, but I don't know what. Here's some relevant info:

Any ideas? Help is much appreciated.
A thought: since compiling the kernel, I've probably upgraded gcc while transitioning to the debian unstable tree... could compiling the kernel and modules using a different version of gcc be producing this?

----------------------
dmesg:
request_module: failed /sbin/modprobe -- char-major-5-2. error = 256
snd_page_alloc: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_timer: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_pcm: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_ac97_codec: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_seq_device: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_rawmidi: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_cs46xx: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_page_alloc: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_timer: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_pcm: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_ac97_codec: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_seq_device: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_rawmidi: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_cs46xx: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_page_alloc: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_timer: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_pcm: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_ac97_codec: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_seq_device: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_rawmidi: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_cs46xx: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_page_alloc: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_timer: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_pcm: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_ac97_codec: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_seq_device: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_rawmidi: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_cs46xx: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_page_alloc: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_timer: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_pcm: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_ac97_codec: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_seq_device: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_rawmidi: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'
snd_cs46xx: version magic '2.6.1 preempt PENTIUM4 gcc-3.3' should be '2.6.1 preempt PENTIUM4 gcc-2.95'

--------------------------------------------------------
/etc/modprobe.conf:

include /lib/modules/modprobe.conf

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.1 ---
alias snd-card-0 snd-cs46xx
alias sound-slot-0 snd-cs46xx
# --- END: Generated by ALSACONF, do not edit. ---

----------------------------------------------------------
relevant section of /lib/modules/modprobe.conf:
### DEBCONF MAGIC
# This file was automatically generated by alsa-base's debconf stuff

alias char-major-116 snd
alias char-major-14 soundcore

options snd major=116 cards_limit=4

alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias /dev/dsp* snd-pcm-oss

alias snd-card-0 snd-cs46xx

alias snd-slot-0 snd-card-0
alias sound-slot-0 snd-slot-0

### update-modules: end processing alsa ###

hopmedic 01-19-2004 04:25 PM

I had exactly the same problem - updated the kernel, Alsa not working. Upgraded Alsa to latest - no luck. Following a suggestion on another post, I installed an older version of Alsa - 0.9.8. Problem solved.

Hope this helps

Rounan 01-19-2004 10:57 PM

I fixed it.

Had to recompile kernel, this time with my latest gcc, and after patching in ALSA 1.0.1 by copying the directories into kernel source. Worked like a charm. ;)

Now the problem I'm having is no sound when I'm not root - check the post I just put under "Permissions", this forum, for details.

Any help would be appreciated.

--Rounan

a7bo 01-21-2004 10:59 AM

check permissions on /dev/dsp
 
cd to /dev and check permission on all dsp devices. ls -l /de/dsp* should do it. chown all them to youruser.yourgroup
ex:
su
cd /dev
ls -l dsp*
chown rowan.users dsp*
ls -l [ to check that the change was made]


Try is again. Rights to dsp devices have usually been my problem when only root can access.

BTW - I got my ALSA working. I took out ALL of the OSS moduels and compiled ONLY ALSA mods. Sound works. Still no luck on the ZiO CF card reader, but then NOBODY can get it to work [even though the mod is compiled into the 2.6 libs]. I cna get the thing to work read-write in 2.4.22 by loading a kludged usb-storage mod that a guy wrote. Go to the US-BAT02 page at Sourceforge.

I have the mod compiled in the /usr/local/modules directory and I can insmod it after rrmod 'ing the regular usb-storage mod. Like I said; a kludge but it works read/write! When I get some time I'll bumble through the code and try to 2.5 patch to see if I can make it work.

Rounan 01-21-2004 11:25 AM

I got it fixed:
ALSA 1.0.1 uses the /dev/snd directory, and though I had set it and everything inside it with chmod 666, I hadn't given ENTRY permission. *bonk self*

chmod a+rwx snd

fixed my problem.

a7bo 01-21-2004 12:54 PM

OOPS :D

I forgot - I'm running Debian on the Laptop and Slackware on the desktop. Slightly different device names for some things. Oh, well! Sorry 'bout that...


All times are GMT -5. The time now is 02:20 AM.