LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   NForce sound card found & snd-hda-intel driver loaded, no sound (http://www.linuxquestions.org/questions/linux-hardware-18/nforce-sound-card-found-and-snd-hda-intel-driver-loaded-no-sound-625366/)

Rod Butcher 03-03-2008 08:20 AM

NForce sound card found & snd-hda-intel driver loaded, no sound
 
I have a gigabyte mobo with NVidia Nforce 430 builtin sound chip, using ALC880 codec. I had it working OK with kernel 2.6.18.

Now I've upgraded to kernel 2.6.24.3. Nvidia recommend use of the snd-hda-intel opensource driver, now included with new kernel source, so I configured and compiled the new kernel to load snd-hda-intel as a module.

Everything looks good - the card is detected, the driver and codecs loaded, the alsa utility alsaconf finds it and tells me it's configured. But no sound, and gnome mixer doesn't find it. ???

The contents of /proc/asound/cards :-

0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf5100000 irq 22

So the system detects the chip, apparently as card 0.

The contents of /proc/asound/oss/sndstat :-

Sound Driver:3.8.1a-980706 (ALSA v1.0.15 emulation code)
Kernel: Linux c122-107-83-125.blktn5.nsw.optusnet.com.au 2.6.24.3 #11 SMP Mon Mar 3 15:40:16 EST 2008 x86_64
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
HDA NVidia at 0xf5100000 irq 22

Audio devices:
0: ALC880 Analog (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
31: system timer

Mixers:
0: Realtek ALC880

So I understand this means ALSA is emulating OSS for it. ALC880 is the Codec.

alsamixer -c 0 produces :-

alsamixer: function snd_ctl_open failed for hw:0: No such file or directory

Which apparently means ALSA can't find any card 0. ???

/dev/snd does not exist on my system

Any pointers ?
thanks
Rod

Drakeo 03-04-2008 08:37 AM

when you built your kernel you did not enable sound suport good luck the system did find the driver but it does not matter it is not going to play untill you configure the kernel
Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG
make mrpropper make menuconfig then make make modules_install then make install.
you may use your old config from your /boot/ folder but do a make oldconfig then you will be asked some questions because the new kenel has more stuff. when in doubt make the module .good luck.

Drakeo 03-04-2008 08:52 AM

here is your driver good luck you may have to compile it your self if you they do not have the ready built driver.
http://search.nvidia.com/?q=NVidia+Nforce+430+

Rod Butcher 03-04-2008 11:14 PM

Sound is enabled (CONFIG_SND=m).
My investigations indicate that the MCP51 chip uses the snd-hda-intel driver and ALC880 codec which are now open source and come as modules with the 2.6.24 kernel, which I have built and loaded OK. Hence the proprietary NVIDIA driver is no longer used.
Further debugging indicates that ALSA is looking for /dev/snd, which does not exist on my system. Further reading indicates that /dev is now not supported directly by kernel, apparently dues to a desire to get device stuff out of kernelspace and into userspace, but it is created by udev using "rules" (I've no idea what/why/whose). So do I now have to learn udev, in addition to /proc/ /dev, /sys, and hotplug ?
I have some evidence that my udev is partly broken, because it did not setup /dev/lp0 for my USB printer, I had to do it using mknod. I tried to create /dev/snd using mknod, ALSA wouldn't accept it. So how do I create /dev/snd, if that is indeed what's needed ?
thanks
Rod

crashmeister 03-05-2008 03:08 AM

You built the kernel yourself?

If so try a kernel from your distro and see what that does.

Rod Butcher 03-05-2008 05:01 AM

I discovered that recent kernels rely on udev to setup /dev properly. /dev is required by the sound system. Apparently there is some problem with the way udev starts on bootup. A workaround is to issue the udevstart command after logging in. Then /dev is setup with all my devices and ALSA starts working.
I put udevstart in my /etc/profile. Fixed.
regards
Rod

jschiwal 03-05-2008 05:33 AM

Two often missed items are to make sure you are a member of the audio group. Also, run alsa-mixer and make sure that sound isn't muted.

Also look at lsmod output. There are other modules that may need to be modprobed:
On my laptop:
ac97_bus 19328 1 snd_ac97_codec
soundcore 25360 1 snd
snd_page_alloc 28048 2 snd_intel8x0,snd_pcm

When you configured your new kernel, did you run "make oldconfig" to carry over your old settings before tweaking them with "make xconfig"?

Rod Butcher 03-05-2008 05:45 AM

I did all those things.
The whole point is that udev wasn't setting up the /dev/snd interface. Without that nothing works. Any sound tool just says no device found, including ALSA mixers etc. Hence by fixing udev I fixed the sound problem.
Rod

PTrenholme 03-05-2008 07:30 AM

I've noticed an interesting "thing" re the HDA audio on Fedora and Kubuntu which might be relevant to your problem.

On my new system (a Compaq SR5310F I just bought because the M/B on my old system fried) the HDA works fine except that no sound controls I've tried work other then the KMIX mixer. For example, I can click the "mute" of change the volume in the Helix application, and nothing happens. I haven't tried the ALSA mixer, so I don't know if that would work or not.

<edit>
For what it's worth my /proc output is very similar to yours:
Code:

$ cat /proc/asound/oss/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.15 emulation code)
Kernel: Linux tss-4 2.6.23.14-115.fc8 #1 SMP Mon Jan 21 14:20:50 EST 2008 i686
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
HDA Intel at 0xfaff8000 irq 16
Conexant CX8801 at 0xfc000000

Audio devices:
0: ALC883 Analog (DUPLEX)
1: CX88 Digital

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
31: system timer

Mixers:
0: Realtek ALC888
1: CX88

</edit>


All times are GMT -5. The time now is 11:32 PM.