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'm not quite sure whether to feel excited by the challenge
of depressed by my ignorance. I suppose Arthur
Dent must have felt like this after he realised that he was on
board a Vogon spaceship...
Step-by-step guide for re-installation of alsa for VIA 82xx sound chip
MAKE SURE PC BIOS IS SET FOR NONPnP OS
1.
Code:
lsmod
Note all modules that start with snd because we are going to remove them. Something that looks like snd-seq-82xx 34567 is just called snd-seq-82xx , the trailing PID is not required.
2.
Code:
modprobe -r module_name
Find them all and rip them out . Keep using modprobe -r and checking with lsmod until they are all gone.
3.
Code:
mkdir /usr/src/alsa
4. Use konqueror to copy the original tarred files to that directory....the alsa-driver/libs & utils files.
5. Using konqueror, navigate to /usr/src/alsa and right-click on alsa-driver-1.0.6a.tar.bz2 click on ACTIONS -> EXTRACT HERE and let KDE do the unzipping.
6.
Code:
cd /usr/src/alsa/alsa-driver-1.0.6a
./configure
make
make install
The arrow keys in the middle of your keyboard navigate and change values, m toggles mute.
If after all that you have naff sound then I'm afraid I'm all out of remote-help ideas APART FROM.....
make sure that your alsaconf generated /etc/modules.conf looks like the one below ESPECIALLY the option line.
Code:
# ALSA BIT
alias char-major-116 snd
options snd-via82xx dxs_support=4
alias snd-card-0 snd-via82xx
#OSS bit
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
#card one
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
What an exciting way to spend a Friday evening whilst the other half is out partying! If only he knew how I kept myself entertained throughout the midnight hours- compiling alsa drivers!
Note to point 6: you were right - there were no damn errors
ditto for alsa-lib
ditto for alsa-utils
but when it came to the modprobe, I got this
[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 its of interest here're the relevant dmesg lines:
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]#
hrmm dunno if this may be worth it, but maybe it would help to recompile the kernel? Only thing I can possibly think of is that the src installed somehow doesn't match whats running. I've never messed with a 2.6 kernel before though.
I could be way off base here, but I just thought I'd throw that idea out there.
Originally posted by buaku hrmm dunno if this may be worth it, but maybe it would help to recompile the kernel? Only thing I can possibly think of is that the src installed somehow doesn't match whats running. I've never messed with a 2.6 kernel before though.
I could be way off base here, but I just thought I'd throw that idea out there.
No. The uname output matches up with the usr/src file name. Nice thinking though.
It seems that there is a problem with some onboard soundcards using the VIA chip and Alsa. It looks (from extensive googleling) that there is a problem with how the BIOS of some mobos deal with the onboard sound. There are lots of supposed 'fixes' but none of them seem to be repeatable between instances....some folks toggle sound mutes, others re-compile without any sound modules loaded, still others spend ages configuring a .asoundrc file. No one seems to agree on anything except that it affects this onboard sound chip on SOME mobos and kernel 2.6.x.
It seems that the one solution that does work is to use another sound card :-) Disable the onboard in the BIOS and stick something cheap in from a local PC store. Would be worth checking the hardware compatibility list (hcl) out first though. A Creative SB live seems favourite but most users have a 2.4.x core so you would be forging new ground.
Shame we couldn't get it working but from here on we'd just be going round in circles. The quickest fix seems to be to go with new hardware.:-(
This isn't just a Linux issue..it's to do with poor mobo design....it's just that mobo vendors sometimes fix things on their boards using software in the (windows) chipset driver and forget about everyone else.
Some 2.6 users talk about module-init-tools and upgrading it. I know nothing of this, what it does or how it does it but it's probably worth doing if you don't like being beaten by a machine ;-)
Yeah i did see the uname matchin the source. But i thought once i heard before some distro supplied a kernel source that dind't quite match the kernel that it installed and gave people problems. I forget where I read that though.
Yeah your suggestion for gettin a cheap addin card is probably the easiest way to go. Less stressful too, lol.
I think slack 10 comes with the 2.6 kernel in the testing directiories for people that wanna try it right away. I'm happy with my 2.4 kernel. Things work, hehe.
I'd prolly break something if I started messing with 2.6, lol
Well, I guess that's that.
I did have a 2.4 somthing kernal that came with Mandrake 9.2, but that
didn't work either, which is really why I made the switch to 10.0. I got this
pc new in March, just as it is now, and the old one is still sitting in the cellar.
Praps I should unscrew the soundcard and pop it into this one...
well, that didn't work either cos inside my nice shiny new nonstandard box
are pci slots which look very different to the slots in my ancient old pc. In short, it
doesn't fit. I'm getting fed up with all this think that I'm not really knowledgable
enough to step into unknown territory to get what I've got configured, so I shall
pop out & but a cheap soundcard which fits into my pci slots.
so I've got myself a new soundcard, plugged it into my pci slot, switched off my old one in BIOS,
and installed it on xp first, just in case, & no surprises, it works fine.
Then I booted linux with a mixture of nervous excitement and fear that things would not go so smoothly.
All was rather quiet, so I started MCC and there, in the hardware bit, it said that I had a cm8738
soundcard, located on the pci bus, drivers are snd-cmipci & cmpci. So far so good.
Still within the mcc, I went to system->services with the intention of starting alsa, which I duly did.
I got a little message saying that it had started via82xx, but the status was still "stopped". Why did it
want to start via82xx. Why didn't it try to start snd-cmipci?
As a matter of interest, this is what lspci now returns:
[root@localhost ros]# lspci
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 3205
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge
00:08.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
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)
01:00.0 VGA compatible controller: VIA Technologies, Inc.: Unknown device 7205 (rev 01)
Not easily deterred, I left the GUI and at the console ran alsaconf, which listed my cm8738 twice in the
menu. I carried on, and then it popped up this message which I believe I've had before:
Loading driver...
Starting sound driver: snd-cmipci 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-cmipci (/lib/modules/2.6.3-7mdk/kernel/sound/pci/snd-cmipci.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error running install command for snd-cmipci
done
Setting default volumes...
Do you think that with all these recompilations, and aborted insertions of modules that my kernal has
got a tad confused? What should I do? What is this snd-mpu401-uart? and why do I have to hav it?
Firstly, you have to disable your on-board sound in your BIOS. That will stop the mobo reporting the onboard-sound to Linux and hence stop Linux trying to load the drivers.
Then just run alsaconf as root and it should work.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.