NVidia MCP55 HD Audio doesn't work

I’m “another” user who is unable to run audio on Linux. I have read lots of topics around but none gave me the good solution.

First of all, quick system configuration:
*Mobo: ASUS Crosshair. Based on NForce 590, mounts MCP55 HD Audio chipset
*OS: openSUSE 11.0 x86_64, up to date with lastest kernel (using YaST)
*Speakers: Home Theatre amplifier connected over coaxial S/PDIF (that’s a Creative DTT3500) + monitor speakers over jack
*Desktop environment (if makes difference): KDE4 with Compiz Fusion

Sound works fine on Windows Vista, but not on Linux.
Sound stopped working since I upgraded openSUSE 10.3 to 11.0 and then KDE 4.0 to KDE 4.1.

I’m very confused about my situation, so I would like to start from the beginning. I can only tell you that once I managed to hear Dolby Digital AC3 output from an HD movie using MPlayer. Until yesterday, YaST played the sample audio file through monitor speakers, but today it’s completely dead.

Can somebody help me step by step? I have read of people solving the problem. I don’t know when I’ll format my hard drive and both OSs, but it will take some time. I would like to hear a bit of my music meanwhile…

Thank you in advance

Did you try working your way through the openSUSE audio troubleshooting guide?
SDB:AudioTroubleshooting - openSUSE

OK. Trying to follow the guide step by step…
First of all, I have just booted my system up. So I did nothing yet.

Step 0: ALSA-firmware

Step 1: Speaker test
:frowning: Following output returned
Playback open error: -16,Dispositivo o risorsa occupata
(“device busy”)

Step 2: YaST test
:open_mouth: YaST’s test sound worked. Monitor speakers played it. Seemed to work, but when I tried to start amarok it reported “xine unable to initialize any audio driver”
So trying next step

Step 3: display info
I remember that it succeeded yesterday, but now it FAILED
There’s no /proc/asound directory!!!
Anyway, you may wish to read this
tsalsa.txt - nopaste.com (beta)

Step 4: update alsa
:frowning: All YaST packages are up to date. I often open Package Manager, and update all packages if a newer version is available. Currently, system is being updated, and there’s no alsa package on the checklist

Step 5: add model
I can see a link to a detailed guide. Will follow that later.
lol! Seems to be working. I can hear sound from monitor speakers, but not yet from digital S/PDIF output.

OK, I’ll try to reboot to see if new settings are kept.
What about the digital output? I tried to start VLC and open an MP3. Going into settings screen, I can select ALSA as output, and VLC then allows me to select the device. If I select “HDA NVidia: AD198x Analog” it works, else if I select “HDA NVidia: AD198x Digital” i can hear no sound.
I went into KMix, unmuted “IEC958 Default PCM” and tried to select each of “PCM, ADC1 to 3” options in “IEC958 Playback Source” combo box.

Seems we’re going in the right direction.

By the way this is my /etc/modprobe/sound, modified as recommended by the tutorial.

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel enable=1 index=0 model=6stack-6ch-dig

Any further help?

Do you still get this error? Have you tried it since?

Getting test sound from YaST is good, but using amarok to test your audio basic functionality is not good. You should use the “speakertest” again. The problem with using amarok is the sound engine it is using may not have the necessary codec installed. Hence an amarok test is meaningless, and you could be mislead as to a belief that your basic sound is not working (when in fact it is working) and then you could do a bunch of things that are not needed, and break your sound.

In fact, I am concerned you have partially done that.

That doesn’t look good. Note:

Alsa driver:         
Alsa lib: 1.0.16        
Alsa utils: 1.0.16 

that suggests your alsa driver is not detected by the script. Thats not good. It suggests an alsa update is needed.

If you note, I provided a link (and examples) in that guide to use zypper to update your alsa. That is because if you open the Package Manager (like you did) and if you do not add the necessary repositories (for this brief check) you will not see the needed alsa apps, and you will be mislead into thinking your alsa is updated.

The instructions are there in the guide for a reason. If you deviate, you have to understand what you are missing. In this case, two of the commands are: zypper ar < some url > multimedia What have you done with your Package Manager to duplicate that command? Nothing I’ll bet.

This is good!

arrggg … again, … its better to do the speaker-test. Have you tried it again? A very large number of new openSUSE users misconfigure their vlc (by inappropriately using the videolan packaged libffmpeg0 instead of using the packman packaged libffmpeg0 (where libffmpeg0 provides codecs)). Unfortunately the videolan packaged libffmpeg0 is not compatible with Packman packaged players. Trying to convince the new openSUSE users of this incompatibility can be somewhat tedious at times as (I believe) the one-click-install will inappropriately install the videolan libffmpeg0 if the newbies put the videolan repos in their package manager list of repos.

Thanks for that.

Yes, but I think your alsa may be in an incomplete configuration. Please, can you again run the tsalsa script, and also advise which alsa rpms you have installed. You can do this by…

With your computer connected to the internet, please copy and paste the following into a gnome-terminal / konsole:

wget http://home.cfl.rr.com/infofiles/tsalsa && su -c 'bash ./tsalsa' 

when prompted for a password please enter your root password. Please try to accurately answer the question on the number of plugs/jacks on your sound card (for example my PC has 3 i/o plugs/jacks on the motherboard). When the script completes it will pass you a URL. Please post that URL here.

Also, please copy and paste the following into a gnome-terminal / konsole and post the output here.
rpm -qa | grep alsa
rpm -qa | grep pulse
rpm -q libasound2

OK, thank you for your help.
First of all, even if it’s one of the lastest steps, here is result of tsalsa: tsalsa.txt - nopaste.com (beta)

I booted my computer up. No sound from KDE 4. Amarok (OK I understand that’s not the best way) which starts automatically reported the xine message again. I ran rcalsasound restart as root and now everything work again. I can hear sound from monitor speakers.

Now both Amarok and speaker-test work.

Last time I forgot to run the zypper commands but now I’ve done that. What I do with Package Manager is just to upgrade packages with newer version, but didn’t add the installation source (that’s feasible with GUI but simpler with 3 commands).

Here is console output for last 3 commands:

HYPERCUBE:/usr/sbin # rpm -qa | grep alsa
HYPERCUBE:/usr/sbin # rpm -qa | grep pulse
HYPERCUBE:/usr/sbin # rpm -q libasound2

ok , … thanks for that … I was a bit puzzled by the rpm command output and what I saw in the script, but that is all a mute point given you noted this:

If you can hear sound after running “rcalsasound restart”, then simply add that line “rcalsasound restart” (no quotes) to your /etc/init.d/boot.local file (ie add that at the end of the file as a line by itself). Then restart your PC and test your sound.

thanks for your support. I did what you said to do, but strangely this doesn’t work. I mean, if I run rcalsasound from Konsole it works, but if I add “/usr/sbin/rcalsasound restart” to boot.local (I checked that rcalsasound is in /usr/sbin) that doesn’t work.

I don’t know when boot.local is executed. It should be executed after entering runlevel 5 during boot. I just had an idea.
Today I discovered how runlevels are managed by init (I’m not that Linux expert). Simply, for all scripts in /etc/init.d to be run in a particular runlevel, there’s a soft link in /etc/init.d/rcX.d. I was thinking about putting it in runlevel 5 using YaST’s runlevel configuration. rcalsasound should be a init script (i can see section “init info” as all other scripts in init.d).

In fact, running “yast2 runlevel” successfully shows rcalsasound along other scripts.

I’m currently upgrading my kernel. Let’s reboot and see what happens.

Anyway, what about the S/PDIF output? When I was using openSUSE 10.3 I could hear sound from both analog and digital output.

After using either the boot.local or the YaST runlevel methods, I can still hear no sound when system boots. Speaker test still reutrns busy device.

I have to manually run rcalsasound restart from Konsole after KDE 4.1 starts.

I’ll try another way. I could tell KDE to automatically run rcalsasound restart during system boot using a script which is owned by root and flagged with setui… Dunno other way…

I think boot.local is run with root permissions, hence no need (I believe) to insert the path. simply “rcalsasound restart” should have been sufficient (but I confess its been so long since I had to edit that file, I could have this wrong).

What about S/PDIF? Did you check your mixer?

If you don’t see the digital control’s in your mixer, I believe (for some mixers) the mixer controls can be “added to” under “settings > channels” (or something like that) … I’m not at a Linux PC currently.

I can see mixer controls, but no sound at all from coaxial output.

I do not have such a sound device, so I can only add “peanut gallery” comments. It would help if I could see your current mixer settings? Can you give me a screen print, or run the tsalsa script again?

I note from previous occasion when you ran the script:

Amixer contents for card 0 [NVidia] _____________________________________
amixer set ‘IEC958’,0 100% off 100% off
amixer set ‘IEC958 Default PCM’,0 off
amixer set ‘IEC958 Playback Source’,0 Items: ‘PCM’ ‘ADC1’ ‘ADC2’ ‘ADC3’ Item0: ‘PCM’

The items I highlighted in red look incorrect for digital audio (is that what the coaxial provides ? ) and the orange also looks inconsistent. But that’s just me “throwing peanuts” from the peanut gallery. :slight_smile: