Sound distorted on Asus M3N-HT Mobo with AD1988B HDA Codec

Hi,

I managed to configure sound in OpenSuse 11 on a M3N-HT motherboard with onboard sound. The codec is AD1988B.
The sound is highly distorted. The speaker test would run like
‘front ont ont ont … left eft eft …’, with a lot of noise.

I followed the guidelines in the SDB:AudioTroubleshooting article.
Alsa packages have been upgraded to the last versions. However, I see that the firmware package is still at version 1.0.16.92git20080617-3.1 while there seems to be a version 1.0.17 already (on the alsa-project website).
Below is the detailed output of all steps described in there.
Note that the model option specified in /etc/modprobe.d/sound is now 6stack-dig, but I get the same results with 6stack as model option. In fact, the motherboard has an spdif output, but I do not know if its linked to the onboard sound card.

I have removed PulseAudio, and returned to esound.
There is another thread describing almost the same problem, however I have the impression that this thread is dead (or at least dying), so I’m creating a new thread here.

Here’s the detailed output
output of alsa-info.sh
general pastebin - bart - post number 1092281

output of tsalsa
tsalsa.txt - nopaste.com (beta)

bart@rufus:/etc/modprobe.d> rpm -q alsa alsa-utils alsa-firmware libasound2
alsa-1.0.17.git20080802-1.1
alsa-utils-1.0.17.git20080715-1.5
alsa-firmware-1.0.16.92.git20080617-3.1
libasound2-1.0.17.git20080802-1.1

bart@rufus:~/sound> cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.17.
Compiled on Jul 18 2008 for kernel 2.6.25.9-0.2-default (SMP).

bart@rufus:~/sound> cat /proc/asound/modules
0 snd_hda_intel

bart@rufus:~/sound> cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfe020000 irq 21

bart@rufus:~/sound> cat /etc/modprobe.d/sound
options snd-hda-intel model=6stack-dig
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel

bart@rufus:~/sound> cat /proc/asound/card0/codec#0
Codec: Analog Devices AD1988B
Address: 0
Vendor Id: 0x11d4198b
Subsystem Id: 0x1043829b
Revision Id: 0x100400
No Modem Function Group found
Default PCM:
rates [0x7ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
Default Amp-Out caps: ofs=0x27, nsteps=0x27, stepsize=0x05, mute=0

(cut off because otherwise this message gets too long)

Thanks a lot for your feedback,

Bart

You have definitely done your homework. Well done!

Some points. Re: your AD1988B and your edit to the /etc/modprobe.d/sound file. I’ve read on this forum (but have not been able to verify this) that openSUSE-11.0 has a bug when reading the /etc/modprobe.d/sound file, and will not read an options line in the first line properly.

I’m not convinced that is correct, as your tsalsa is showing the “6stack-dig” as being loaded. Still you could change “options snd-hda-intel model=6stack-dig” from being the 1st to last line, and then restart alsa. I personally think it will make no difference but it doesn’t hurt to try.

Second, I note you have some mixer settings at 90 to 100%. This is a bad idea, as anything about 70% or so can lead to distortion. I recommend you back off those settings to 60 to 70%:

amixer set 'Master',0 95% on        
amixer set 'PCM',0 92% 92%        
amixer set 'Front',0 100%,100% on        
amixer set 'Front Mic',0 100%,100% on        
amixer set 'Front Mic Boost',0 100% 100%        
amixer set 'Surround',0 92%,92% on        
amixer set 'Center',0 100% on        
amixer set 'LFE',0 90% on        

Next, I note you have your Line-in ON, analog Mix ON? Why not turn those off and see if it helps.

amixer set 'Line',0 0%,0% on        
amixer set 'Analog Mix',0 0%,0% on        

You have succeeded to confuse me. I note the tsalsa script gives this as your kernel: 2.6.25.11-0.1-default
… and the alsainfo.sh script gives this as your kernel: 2.6.25.11-0.1-default

but you give this as your kernel:

Compiled on Jul 18 2008 for kernel 2.6.25.9-0.2-default (SMP). 

which suggests to me a large % of the information you gave me could be completely out of date. … Not that it matters, as you do appear to have done your homework, … but consistency in the provided information, to ensure I did NOT screw up in my recommendations, would be nice. :smiley:

Good luck!

What is more useful here is the output of:
rpm -qa | grep alsa
… although, again you appear to have done your homework, so I don’t believe it will add anything new.

Hi,

thanks for the reply. I have made some modifications as you requested :

  • put an additional line in /etc/modprobe.d/sound (and added the enable and index options. I found them in another comparable post)
    bart@rufus:~/sound/output3> cat /etc/modprobe.d/sound

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

  • turned down the volume under 70% (in the outputs below, the PCM may be higher again) : the sound is now very silent (that’s why I raised the volume, after all), but the distortion remains
  • turned off Line in and Analog Mixer, but no improvement

There was indeed a problem with the alsa-driver. This one was not updated together with the other ones. I added the correct location to the repository, and upgraded the driver.

I have run the alsa-info script, however it didn’t show the result url. I can just send the tsalsa output.

Here’s all gathered output

tsalsa output
tsalsa.txt - nopaste.com (beta)

bart@rufus.site:/home/bart/sound> rpm -qa | grep alsa
alsa-oss-1.0.17.git20080715-2.5
alsa-firmware-1.0.16.92.git20080617-3.1
alsa-plugins-1.0.17.git20080721-1.2
alsa-tools-1.0.17.git20080715-1.7
alsa-oss-32bit-1.0.17.git20080715-2.5
alsa-utils-1.0.17.git20080715-1.5
alsaplayer-0.99.80-5.21
alsa-1.0.17.git20080802-1.1
alsa-driver-kmp-default-1.0.16.20080805_2.6.25.11_0.1-2.1

bart@rufus.site:/home/bart/sound> cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.17.
Compiled on Aug 5 2008 for kernel 2.6.25.11-0.1-default (SMP).

bart@rufus.site:/home/bart/sound> cat /proc/asound/modules
0 snd_hda_intel

bart@rufus.site:/home/bart/sound> cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfe020000 irq 21

bart@rufus.site:/home/bart/sound> cat /proc/asound/card0/codec#0 > output3/alsa.out
Codec: Analog Devices AD1988B
Address: 0
Vendor Id: 0x11d4198b
Subsystem Id: 0x1043829b
Revision Id: 0x100400
No Modem Function Group found
Default PCM:
rates [0x7ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000 176400 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM

Thanks for your feedback,

Bart

When the sound is very low, ensure you go to:
yast > hardware > sound > other > volume, and check the slider bars there. Sometimes the bar there needs to be moved more to the right.

Did you try moving the “options” line in your /etc/modprobe.d/sound file to the end of the file?

Hello,

The bars in the yast > hardware > sound > other > volume corresponded to the settings from alsamixer.

I played a little with the line order in /etc/modprobe.d/sound, and something strange is going on there.

If I configure sound using Yast, and specifying the model 6stack, the /etc/modprobe.d/sound becomes (including an empty first line). Note that the model is not present in this configuration file.

options snd slots=snd-hda-intel

M71A.IBGOrOFSaa6:nVidia Corporation

alias snd-card-0 snd-hda-intel

Sound is still distorted, and the volume too low to be good.

If I add the model to the options (including first empty line):

M71A.IBGOrOFSaa6:nVidia Corporation

alias snd-card-0 snd-hda-intel
options snd slots=snd-hda-intel model=6stack-dig

then restarting alsa fails, both in case the options line is the first non empty line or the last line.
rufus:/home/bart # rcalsasound restart
Shutting down sound driver done
Starting sound driver: hda-intelWARNING: Error inserting snd (/lib/modules/2.6.25.11-0.1-default/updates/alsa/acore/snd.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_hwdep (/lib/modules/2.6.25.11-0.1-default/updates/alsa/acore/snd-hwdep.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_timer (/lib/modules/2.6.25.11-0.1-default/updates/alsa/acore/snd-timer.ko): Unknown symbol in module, or unknown parameter (see dmesg)
WARNING: Error inserting snd_pcm (/lib/modules/2.6.25.11-0.1-default/updates/alsa/acore/snd-pcm.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting snd_hda_intel (/lib/modules/2.6.25.11-0.1-default/updates/alsa/pci/hda/snd-hda-intel.ko): Unknown symbol in module, or unknown parameter (see dmesg)
failed
Even though, in Yast the card is still configured.

If I remove the snd element from the options line

M71A.IBGOrOFSaa6:nVidia Corporation

alias snd-card-0 snd-hda-intel
options slots=snd-hda-intel model=6stack-dig

I can restart alsa

rufus:/home/bart # rcalsasound restart
Starting sound driver: hda-intel done

but now the sound card is not configured any longer in Yast.

Most important however is that the sound is still distorted.

Any clue ? Do I have to wait until a next version of alsa ?

Thanks,

Bart

OK, … I tried to follow that, but it looked to me like you missed the most obvious combination … Did you try these 3 lines (and not a subset to give two lines, which is what I see in your examples):

alias snd-card-0 snd-hda-intel
options snd-hda-intel model=6stack-dig 
alias sound-slot-0 snd-hda-intel

and restart with “rcalsasound restart”.

Also, instead of “6stack-dig” you could try many other options from ALSA-Configuration.txt for your AD1988B:

	AD1988/AD1988B/AD1989A/AD1989B
	  6stack	6-jack1981
	  6stack-dig	ditto with SPDIF
	  3stack	3-jack
	  3stack-dig	ditto with SPDIF
	  laptop	3-jack with hp-jack automute
	  laptop-dig	ditto with SPDIF
	  auto		auto-config reading BIOS (default) 

And try one of those instead of “6stack-dig” with the 3 lines in your /etc/modprobe.d/sound (with the options line in the middle) (and not some combination of two lines). … and restart your sound after. Check your mixer also.

If that doesn’t work, IMHO just ‘waiting passively for an update’ is not the way to go. Its far better IMHO to write a bug report on alsa and openSUSE:
alsa bug reports: https://bugtrack.alsa-project.org/alsa-bug/
opensuse bug reports: Submitting Bug Reports - openSUSE
… by writing a bug report, you have a better chance that the problem you are seeing will be brought to the attention of the developers (I’m not a developer, not even close … I’m just a user/volunteer, … just like you).

In the bug report, succinctly provide as much info as you can. You may find it useful to reference this thread.

Good luck.

Hi,

I’ve modified the sound file as in your example, but the results remain the same.

I’ll follow your suggestion to create a bug report.

Many thanks for your feedback and your time,

Regards,

Bart

For all of you ASUS M3N-HT/Deluxe Motherboard users and anyone potientially having trouble with the AD1988B Codec with OpenSuSE 11.x

Here is the ‘solution’.

The problem discussed in this tread (at length) is the alsa driver.

  1. You need to add the following repositories to your SuSE:

/repositories/multimedia:/audio:/KMP/openSUSE_11.0

/repositories/multimedia:/audio:/KMP/openSUSE_11.0_Update

  1. Then add/install the alsa-driver-kmp-default package.

  2. You can (if you wish) remove/uninstall the alsa-driver-kmp-unstable package; but I left it in and it doesn’t seem to matter interfer with my system.

  3. Make sure you have already updated your system with all of the multimedia and sound packages as discussed in the thread and others.

Here’s what my /etc/modprobe.d/sound config looks like:

M71A.IBGOrOFSaa6:nVidia Corporation

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

  1. do a ‘#rcalsasound restart’ (or reboot your computer).

  2. You DONE! and it should work fine

Many Thanx to:

Takashi Iwai who answered the bug thread created by Bart Verweire and the many great people in this forum and the SuSE community.

[Bug 416083] Sound distorted on Asus M3N-HT Mobo with AD1988B HDA Codec](http://lists.opensuse.org/opensuse-bugs/2008-08/msg06084.html)

It can be frustrating for many end-users and newbies like me to spend $$$ on a new computer only to lose something as basic as ‘audio’.

I myself love all kinds of music and FLAC support in Linux is one of the many cool things that pulled me away from the M$-Windows camp.

Hey, I don’t even have Windows on my system anymore!!! OK, I still have a winxp VMware guest. Not by choice, only because my employer has email and business crap I can only use with xp via vpn.

Just a caution here. Not every AD1988B codec implementation is the same. So what works with one AD1988B may not use the same “model option” as another.