Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I seem to have some sort of sound problem.
I have run as root the following:
alsaconf
alsamixer
alsactl store
nevertheless, my sound does not work.
Sound is switched off in KDE and when I switch it on, KDE hangs and I have to kill -15 $(pidof X), remove my $HOME/kde, & switch off alsa (which starts at boot) before I can use KDE again.
Gnome reacts differently, in that when I switch the sound on (within gnome, of course), beeps and other sounds emanate from my speakers and take an age to stop. In the meantime, the pc doesn't respond; it just sits there and enjoys the sound.
At the console, "play /usr/local/sounds/KDE_Error.wav"
plays a repetitive sound which I can stop with ^C.
Here is result of lspci:
[ros@localhost TextFiles]$ lspci
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 3205
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235 AC97 Audio Controller (rev 50)
01:00.0 VGA compatible controller: VIA Technologies, Inc.: Unknown device 7205 (rev 01)
and /etc/modules.conf:
[ros@localhost TextFiles]$ cat /etc/modules.conf
I downloaded 3 files:
alsa-driver-1.06a...
alsa-lib-1.06...
alsa-tools-1.06
and read loads of stuff. 1 document was very useful, telling me exactly how to install the snd-via-82xx.
I followed these instructions, untarring and unzipping everything in sequence.
I successfully executed the following command:
/.configure --with -cards=via82xx --with-sequences=yes;make;make install
then I started on the alsa-lib package, and when I configured it, it came up with the following message:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
[root@localhost alsa-lib-1.0.6]#
I looked in config.log for more details and got a long list of C code which doesn't mean a thing to me.
Thanks, I installed the missing compiler and compiled everything with no errors. Then (I just have to follow these instructions blindly..) I had to "insert the modules into the kernal" and executed the following:
this generated a whole string of errors, so I shortened it to
modprobe snd-via82xx
but the error list was still long. In fact, when I don't know how to deal with these errors, 1 error is just as bad as 50. Anyway, this is what appeared on my console:
[root@localhost alsa]# modprobe snd-via82xx
WARNING: Error inserting snd-mpu401-uart (/lib/modules/2.6.3-7mdk/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko.gz): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd-mpu401-uart (/lib/modules/2.6.3-7mdk/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko.gz): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd-via82xx (/lib/modules/2.6.3-7mdk/kernel/sound/pci/snd-via82xx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error running install command for snd-via82xx
[root@localhost alsa]#
Just in case it helps, here are the last few lines of dmesg
mtrr: 0xd8000000,0x2000000 overlaps existing 0xd8000000,0x1000000
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_receive
snd-mpu401-uart: Unknown symbol snd_rawmidi_receive
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_transmit_ack
snd-mpu401-uart: Unknown symbol snd_rawmidi_transmit_ack
snd-mpu401-uart: Unknown symbol snd_kcalloc
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_transmit_peek
snd-mpu401-uart: Unknown symbol snd_rawmidi_transmit_peek
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_new
snd-mpu401-uart: Unknown symbol snd_rawmidi_new
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_set_ops
snd-mpu401-uart: Unknown symbol snd_rawmidi_set_ops
snd-mpu401-uart: disagrees about version of symbol snd_device_free
snd-mpu401-uart: Unknown symbol snd_device_free
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_receive
snd-mpu401-uart: Unknown symbol snd_rawmidi_receive
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_transmit_ack
snd-mpu401-uart: Unknown symbol snd_rawmidi_transmit_ack
snd-mpu401-uart: Unknown symbol snd_kcalloc
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_transmit_peek
snd-mpu401-uart: Unknown symbol snd_rawmidi_transmit_peek
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_new
snd-mpu401-uart: Unknown symbol snd_rawmidi_new
snd-mpu401-uart: disagrees about version of symbol snd_rawmidi_set_ops
snd-mpu401-uart: Unknown symbol snd_rawmidi_set_ops
snd-mpu401-uart: disagrees about version of symbol snd_device_free
snd-mpu401-uart: Unknown symbol snd_device_free
snd-via82xx: Unknown symbol snd_mpu401_uart_interrupt
snd-via82xx: Unknown symbol snd_mpu401_uart_new
[root@localhost alsa]#
Should I give up and live without sound? The thing is that I'm trying very hard to make the switch and within the old Monopole environment I could listen to the good old BBC on this very same archecture no probs, and now I can't. Praps I should just go out and buy a SW radio instead.
Yuck, more errors. Hopefully this fi will be as simple as the last.
When you downloaded the alsa files you untared them to a directory yes? In my case that is /usr/src/alsa
In there I have a folder called alsa-driver-1.0.5.rcl .... yours may have a different suffix number. Navigate using a command console to that directory (make sure you are root as you will need to be to do this). Rem that cd is the command to change directory and you need to include the first / before usr if you are starting anywhere other than the / directory.
Once there type,
./snddevices
A whole load of text should whizz by with lots of 'creating' in it and no errors.
Alsa has just created all the device files for you.
No carry on with your modprobes and then with the alsaconf, alsamixer, alsactl store routine.
BTW In alsamixer, use the cursor keys to move left/right and the m key to unmute a channel.
Stick with it, it's just a diferent language - remember how hard Windows was when you first started?
Which distro are you running? SuSe? Slackware? Debian? D'oh!! Mandrake 10!!!
What version of kernel have you got? (uname -a at the console will tell you)
What sound card is it?
Is there an on-board soundcard as well as a PCI one?
It sounds like modules aren't enabled in the kernel - that isn't the end of the world but would involve a re-compile. Not too hard but worth avoiding if you don't need to.
I'm running mandrake 10 official on a dual boot machine. W XP is on the Other Side. The result of uname -a is:
[root@localhost alsa-driver-1.0.6a]# uname -a
Linux localhost 2.6.3-7mdk #1 Wed Mar 17 15:56:42 CET 2004 i686 unknown unknown GNU/Linux
[root@localhost alsa-driver-1.0.6a]#
What sound card have I got - do I feel ignorant, or what!! I blame it all on The Other Side, where everything is done for you.
I'm not even sure how to find out, so I have consulted my manual that accompanied the PC in March. It says the following:
This mainboard integrates the VIA KM400A/400 Northbridge along with VT8237/8235CE Southbridge chipsets that supports built in AC97 codec, .... This mainboard has one CNR slot to support Audio & Modem aplication...
The blurb that describes the BIOS Features setup says that the audio device option enables or disables the AC'97 audio chip.
In the Mandrake Control Centre it says:
Vendor: VIA Technologies
Alternative drivers: via82cxxx_audio
Bus: PCI
Bus identification: 1106:3059:1106:4161
Location on the bus: 0:11:5
Description: VT8233 [AC97 Audio Controller]
Module: snd-via82xx
Media class: MULTIMEDIA_AUDIO
I'm not aware of any other soundcard present - how would I know?
I don't know why it doesn't work and the MCC can't slot everything into place and make all the bits tick as I expect them too.
FYI you have a 2.6.3 kernel (that's just it's version number) which should have no problems with sound.
All this alsa stuff that we are doing is really just adding bits to your kernel so that it can properly play with your audio devices. Much the same as when in window you have to load drivers on for new hardware. 'Cos M$ is still the dominant player in the OS market, all manufacturers make very sure that they issue M$ compatible drivers for their kit otherwise very few people would buy it. Linux support however often relies on third party projects (alsa or oss) who write modules (drivers) for each piece of hardware.
The situation as regards support is getting better all the time with some manufacturers (notably Nvidia in the graphics world) releasing factory drivers designed for Linux.
Most linux installations are still geared towards the server end of the market - running mail, web, comunication, IM file sharing servers is what Linux is very very good at.
Linux on the desktop as most M$ users use XP, is an upcoming thing with distros like SuSE and Fedora Core dominating the newbie market with loads of bloating GUIs and user desktop tools.
But enough theory and back to your problem.
Linux runs from a compiled version of a kernel (in your case version 2.6.3). The compilation happens at installation time and makes sure that Linux is optimised for your hardware and that unneccesary files aren't usually included. The smaller the kernel is, the faster it operates. In order to make any additions to the kernel
)like adding audio drivers) there are two methods,
1. Re-compile teh kernel with the new files written in (an old way of doing things and requiring a re-compiled everytime you change hardware)
2. Use a kernel with 'loadable modules' enabled. Any new hardware just needs a module associated with the kernel and then it'll be loaded whenever it's needed.
So far so good - we are trying to use modules in your case hence the modprobe command. In order to function, modules need access to an un-compiled version of teh kernel called the source and be able to find it. A lot of distros do not load the source on to your harddrive by default - I don't know about Mandrake but I'm pretty sure that it doesn't.
We can check this easily because it you have it, it will be in /usr/src and will be in a folder called something like linux-2.6.3 In that folder will be lots of other stuff including folders called arch, crypto, driver and kernel (besides many others) .
Use konqueror to go see if you have the source installled and if not, we have found your problem.
The fix is easy as the source for your kernel will be in package format on your installation CDs (same deal as the complier).
I have a KM400 based mobo running Linux 2.6.x right here - it should work fine.
You'll now if you have two sound cards because if you look round the back of your PC you'll see two SETS of audio connections. Unless you've fitted an after market audio board you almost certainly do not have two sound cards so relax.
The easiest way to identify your sound card is to either read what M$ tells you in XP or look in the manual - knowing that it is a KM400 based board with Via 8237 sound is enough for us.
RIght, I didn't have the kernal source code installed, but when I came to install my alsa driver
packageearlier in the week, it failed because of the lack of source code, which I duly installed from
my installation disks. It is, as you say, in /usr/src. Here's whats in /usr/src/linux-2.6.3-7mdk:
It looks like I only have one soundcard cos there are only one l set of audio connections at the
back there. Should I reboot to XP to find out more about the soundcard??
Hmmm.....I can see the bottom of the barrel and it's time to start scraping :-)
In KDE, navigate to SETTINGS>CONTROL_CENTRE>SOUND_SYSTEM
On the GENERAL TAB is sound sytem enabled?
On the HARDWARE TAB what is the 'SELECT THE AUDIO DEVICE' bit set to? ALSA? OSS? AUTO? Try one of those three in turn, apply and see what sort of sounds you get.
Check and post the contents of your /etc/modules.conf file (it might be called /etc/conf/modules). Check that it includes the lines specified in the ALSA document - it'd be worth doing this one first maybe....Also, if the specified lines ARE there, add the following above teh line that starts 'alias snd-card-o snd-via82xx,
options snd-via82xx dxs_support=4
Use kEdit to do it.
If none of that gets us anywhere then it is time to assume that something has gone very wrong and to start again from the beginning (only about 20 minutes work including waiting for compiles to complete).
If we have to do this then make sure that all alsa instructions are followed in the exact order specified and I'll do a check list for you if we have to go there.
no the sound systemis not enabled within KDE. If I enable the sound system, regardless of whether
I select ALSA or AUTO, KDE refuses to play any sound. Then whenever I relog into KDE, the splash
screen hangs at 85%. Eventually it clears, but I have no icons, no task bar and an unresponsive
keyboard and mouse. In order to be able to reuse KDE, I have to logon to some virtual screen
(<ctrl><alt><F2>) as root and execute kill -15 $(pidof X), remove $HOME/.kde and switch off alsa
(not that there has hitherto been much point in having alsa switched on...) which loads at boot.
If I don't switch off alsa too, the KDE splash screen hangs at 42%, and then I have to kill X and
remove the .kde directory. THis has always been the case, even b4 I upgraded to 10.0. In fact, I
kind of hoped that the upgrade (actually I did a competly new install) would solve all my
.problems
Incidentally, since I compiled and tried to install these alsa drivers, alsa doesn't load at boot. I get
the following messages at boot:
starting alsa version 1.0.6avia82xx)(via82xx) [OK]
loading mixer settings /usr/sbin/alsactl: load_state:1134 No soundcards found [FAILED]
I never noticed a red fail before the start of the week.
Anyway, here is my module conf file, which I'm sure has changed over the last few days as well.
I thought I'd try to start alsa manually, running alsaconf, which I've done b4,
but things were slightly different. To start with, after it had performed its search
for sound cards, there were 2 identical entries for via82xx. I replied OK, & it asked
if I wanted to change modules.conf and again I said OK. Then an error message flashed
up on the screen which I caught by pressing <ctrl><Z> (I've been doing some background
reading), and here it is.
Loading driver...
Starting sound driver: snd-via82xx WARNING: Error inserting snd-mpu401-uart (/lib/modules/2.6.3-7mdk/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko.gz): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd-mpu401-uart (/lib/modules/2.6.3-7mdk/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko.gz): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd-via82xx (/lib/modules/2.6.3-7mdk/kernel/sound/pci/snd-via82xx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error running install command for snd-via82xx
done
Setting default volumes...
[1]+ Stopped alsaconf
[root@localhost etc]#
So I haven't added that line to my /etc/modules.conf yet ....
I'm jolly glad that installing my obscure scanner wasn't so difficult.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.