Thread3 - 82801H (ICH8 Family) HD Audio Controller (rev 03)

hello
I have Medion MD96384 with a Realtek HD Audio card (it was on windows so).
I read all the threads dealing with such a card on this forum, but nothing helped me.
I hope you can help me

uname -a

Linux linux-miky 2.6.28.2-_artem_ #1 SMP Sun Jan 25 13:47:50 CET 2009 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep Audio

00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

cat /proc/asound/cards

--- no soundcards ---

after executing alsaconf → nothing happens… “— no soundcards —”

alsamixer


alsamixer: function snd_ctl_open failed for default: No such file or directory

head -n 1 /proc/asound/card0/codec*

head: cannot open `/proc/asound/card0/codec*' for reading: No such file or directory

once I could get sound work and codec was ALC883. but now I can’t get it to work any more… I don’t exactly know what I did to get it work… but then I reinstalled suse and…

cat /etc/modprobe.d/sound

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel

as I got it to work last time I had there model=medion-md2, but now it doesn’t help any more…

rpm -qa | grep alsa

alsa-tools-1.0.19.git20090120-1.4
alsa-firmware-1.0.19.git20090120-1.1
alsa-driver-kmp-default-1.0.19.20090124_2.6.27.7_9.1-1.1
alsa-1.0.19.git20090122-1.1
alsa-plugins-pulse-1.0.19.git20090123-1.1
alsa-utils-1.0.19.git20090120-1.3
alsa-driver-unstable-kmp-default-1.0.19.20090123_2.6.27.7_9.1-7.1
alsa-devel-1.0.19.git20090122-1.1
alsa-oss-1.0.17.git20080715-2.13
alsa-plugins-1.0.19.git20090123-1.1

rpm -qa | grep pulse

libpulse0-0.9.12-9.5
libpulse-browse0-0.9.12-9.5
pulseaudio-utils-0.9.12-9.5
pulseaudio-module-x11-0.9.12-9.5
pulseaudio-module-lirc-0.9.12-9.5
pulseaudio-0.9.12-9.5
pulseaudio-module-zeroconf-0.9.12-9.5
alsa-plugins-pulse-1.0.19.git20090123-1.1
pulseaudio-module-jack-0.9.12-9.5
libpulsecore4-0.9.12-9.5
libxine1-pulse-1.1.15-20.8
pulseaudio-module-bluetooth-0.9.12-9.5
pulseaudio-esound-compat-0.9.12-9.5
libpulse-mainloop-glib0-0.9.12-9.5

rpm -q libasound2

libasound2-1.0.19.git20090122-1.1

speaker-test -c2 -l5 -twav


speaker-test 1.0.19

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)                                      
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings                                                 
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory     
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name                                                    
ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory      
ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such file or directory                                 
ALSA lib pcm.c:2202:(snd_pcm_open_noupdate) Unknown PCM default                                                    
Playback open error: -2,No such file or directory

/usr/sbin/alsa-info.sh
http://www.alsa-project.org/db/?f=685fd20a109e560ef9bc4ec4f3ed4fb9769c65b4

yast → hardware → sound → edit → quick automatic setup:

An error occurred during the installation of
(ICH8 Family) HD Audio Controller

The kernel module snd-hda-intel for sound support could not be loaded. 
This can be caused by incorrect module parameters, 
including invalid IO or IRQ parameters.

Linux 2.6.28.2 ? I am not familiar with that kernel build.

You will need to compile alsa specifically for that kernel version.

Your alsa version is for the 2.6.27.7 kernel. As noted, if you are going to install a custom kernel, then you will need to do a custom install of alsa.

Also, you have installed both the alsa-driver-unstable-kmp-default and the alsa-driver-kmp-default. Thats a mistake, and even if you had the 2.6.27.7 kernel (which you do not) your alsa / sound would not work, because you should only install the one driver alsa-driver-kmp-default. But thats a mute point as everything is wrong due to your having the 2.6.28 kernel.

I compiled the latest kernel from kernel.org - 2.6.28.2 today because I had some troubles with a black screen after grub menu… and that trouble gone.
on 2.6.27.7 there was the same problem with sound…

alsa-driver-kmp-default-1.0.19.20090124_2.6.27.7_9.1-1.1
and the unstable one I installed although today.
once (before reinstalling opensuse) I had sound working on my system, no one of that two alsa-driver-kmp* was installed.
I had sound, but only from root, and only in speakers. when i pluged in my headphones, I had sound in headphones and in speakers simultaneously

If you are able to return to the 2.6.27 kernel, I may be able to help you with your sound.

… but not with the 2.6.28 kernel. As noted, with the 2.6.28 kernel you are into custom alsa compilation territory.

I have both of that kernels… but I booted the new one at this moment…
I can boot into 2.6.27.7 and give you the same output as in my first post, ok?

Yes please. Especially the output of /usr/sbin/alsa-info.sh when booting to the 2.6.27.7 kernel.

uname -r

2.6.27.7-9-default

/usr/sbin/alsa-info.sh
http://www.alsa-project.org/db/?f=df96eff996baa4c588521f8d19d4da9a2b31860e

head -n 1 /proc/asound/card0/codec*

==> /proc/asound/card0/codec#0 <==
Codec: Realtek ALC883

==> /proc/asound/card0/codec#2 <==
Codec: Realtek ALC268

alsamixer

ALSA lib simple_none.c:1543:(simple_add1) helem (MIXER,'Headphone Playback Switch',0,2,0) appears twice or more

alsamixer: function snd_mixer_load failed: Invalid argument

now I remember… as I was able to get sound to work last time… I had to rename “Headphone Playback Switch” into something like “Headphone Playback Switch2” in the source of the kernel audio module and then I had to recompile modules…

speaker-test -c2 -l5 -twav


speaker-test 1.0.19

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
WAV file(s)                                      
Rate set to 48000Hz (requested 48000Hz)          
Buffer size range from 2048 to 8192              
Period size range from 1024 to 1024              
Using max buffer size 8192                       
Periods = 4                                      
was set period_size = 1024                       
was set buffer_size = 8192                       
 0 - Front Left                                  
 1 - Front Right                                 
Time per period = 2.881521                       
 0 - Front Left                                  
 1 - Front Right                                 
Time per period = 2.985670                       
 0 - Front Left                                  
 1 - Front Right                                 
Time per period = 3.029338                       
 0 - Front Left                                  
 1 - Front Right                                 
Time per period = 2.986530
 0 - Front Left
 1 - Front Right
Time per period = 3.008497

but no sound… I try to reboot.

update:
sound works only on login and logout.
no sound in media player, and no sound in browser (flash-player)
speaker-test - I can’t hear anything.
alsamixer - the same error as before

Which speaker test gives no sound? Does this give sound:speaker-test -c2 -l5 -twav
Reference no sound in media player … if your login/out sound works, then typically “no sound in media player” is a problem with one using a crippled media player or not having the correct codec. Note that Novell/SuSE-GmbH packaged media players nominally do NOT play proprietary codecs. Hence it behooves you to update those players to Packman packaged players, and update your codec’s to Packman Packaged codecs (and not to Novell/SuSE-GmbH nor to videolan codecs). I say not to videolan because they are often not compatible with Packman packged players.

The way to update is to add 4 repositories to your software package manager. Just 4. No others. Those 4 are: OSS, non-OSS, Update, Packman. ONLY those 4. No others. You should ONLY add others if you know what you are doing, and you know the problems that can happen with others, and how to recover from the problems (which means newbies should NOT add other repos). There is guidance for adding those 4 repos here: Repositories/11.1 - openSUSE-Community again, ONLY oss, non-oss, update and packman.

Once those are installed, go to YaST > Software > Software management and replace libxine1 (packaged by Novell) with libxine1 packaged by packman. Also add (all from Packman) xine-ui, smplayer, mplayerplug-in, libffmpeg0, w32codec-all, xvidcore, xvidcore4, libquicktime, vlc. … That should get you on the road to having reasonable multimedia playback.

Again, do NOT add videolan with Packman players as it leads to trouble that most new users (and average users) can not solve. Only use videolan for the application libdvdcss.

This should not happen for only 1 sound card. Did you ever have a different sound device on this PC (with this (or an updated) openSUSE install)) ?

no. In windows I had only the one Realtek HD Audio…
I think when I set model=medion-md2 then I get only one codec - ACL883 as I wrote in my first post…
I try it now

speaker-test -c2 -l5 -twav
gives only text which I posted here… no sound

I used the default player in suse - Amarok. I have no other players installed.
In browser I tried a video on youtube, and there was no sound…

When you set a model option you force the driver … are you certain ACL883 is correct? Note the model options for an ALC883 and for an ALC268 are different.

Please read my post above about setting up for 4 repos: OSS, Non-OSS, Update and Packman.

Replace the Novell packaged amarok/libxine1, with the Packman packaged amarok, libxine1, amarok-xine, amarok-packman, and then change the sound engine in amarok to xine.

Also, check your mixer carefully. Move up both PCM and master volume.

I tried the number of my model…
model=medion-md96384

now I can hear the test sound in YaST
and speaker-test now works.
but it’s too quiet.
in YaST → hardware → Sound → Volume I can only play the test sound… there is no mixer…
alsamixer outputs error… because it “sees” two codecs… and both of them have same function names…

You need to sort that double codec … Note the model options (from the HD-Audio-Models.txt file) from 1.0.19 of alsa are

ALC883/888
==========
  3stack-dig	3-jack with SPDIF I/O
  6stack-dig	6-jack digital with SPDIF I/O
  3stack-6ch    3-jack 6-channel
  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
  6stack-dig-demo  6-jack digital for Intel demo board
  acer		Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
  acer-aspire	Acer Aspire 9810
  acer-aspire-4930g Acer Aspire 4930G
  medion	Medion Laptops
  medion-md2	Medion MD2
  targa-dig	Targa/MSI
  targa-2ch-dig	Targs/MSI with 2-channel
  laptop-eapd   3-jack with SPDIF I/O and EAPD (Clevo M540JE, M550JE)
  lenovo-101e	Lenovo 101E
  lenovo-nb0763	Lenovo NB0763
  lenovo-ms7195-dig Lenovo MS7195
  lenovo-sky	Lenovo Sky
  haier-w66	Haier W66
  3stack-hp	HP machines with 3stack (Lucknow, Samba boards)
  6stack-dell	Dell machines with 6stack (Inspiron 530)
  mitac		Mitac 8252D
  clevo-m720	Clevo M720 laptop series
  fujitsu-pi2515 Fujitsu AMILO Pi2515
  fujitsu-xa3530 Fujitsu AMILO XA3530
  3stack-6ch-intel Intel DG33* boards
  auto		auto-config reading BIOS (default)

and for the ALC268 are:

ALC267/268
==========
  quanta-il1	Quanta IL1 mini-notebook
  3stack	3-stack model
  toshiba	Toshiba A205
  acer		Acer laptops
  acer-dmic	Acer laptops with digital-mic
  acer-aspire	Acer Aspire One
  dell		Dell OEM laptops (Vostro 1200)
  zepto		Zepto laptops
  test		for testing/debugging purpose, almost all controls can
		adjusted.  Appearing only when compiled with
		$CONFIG_SND_DEBUG=y
  auto		auto-config reading BIOS (default)

only one of those should be applied at a time.

if I type in YaST sound…
model=medion-md2 I get error that kernel model for support audio couldn’t be load.
but with medion-<my model> I am able to configure sound card, and to get it to work.
I have Medion MD96384
so I typed model=medion-md96384 and it works…
I have increased volume with KMix and now it works well. headphone works as it should. after plugging in speakers is muted and only headphone has sound.

maybe I try to edit the codec file (/proc/asound/card0/codec*) because in KMix is Realtek ALC268, but I thing the right one is ALC883

I got it!

head -n 1 /proc/asound/card0/codec*

Codec: Realtek ALC883

solution in my case was
model=medion-md96384
probe_mask=1
speakers - work, headphones - work, microphone - works :slight_smile:

cat /etc/modprobe.d/sound

options snd-hda-intel model=medion-md96384 probe_mask=1
options snd slots=snd-hda-intel
# u1Nb.1DH0SjRJ4FC:82801H (ICH8 Family) HD Audio Controller
alias snd-card-0 snd-hda-intel

I’ll try tomorrow to compile alsa sources on my custom kernel.
Hope it will work as well as here :slight_smile:
thx oldcpu

you can close the thread :slight_smile:

Congratulations! Thankyou for sharing your solution.

For anyone watching this thread, the HD-Audio.txt file (that comes with 1.0.19 of alsa) has this to say about “probe_mask” and a “codec probing problem”.

Codec-Probing Problem

A less often but a more severe problem is the codec probing.  When BIOS reports the available codec slots wrongly, the driver gets confused and tries to access the non-existing codec slot.  This often results in the total screw-up, and destructs the further communication with the codec chips.  The symptom appears usually as error messages like:
------------------------------------------------------------------------
  hda_intel: azx_get_response timeout, switching to polling mode:
        last cmd=0x12345678
  hda_intel: azx_get_response timeout, switching to single_cmd mode:
        last cmd=0x12345678
------------------------------------------------------------------------

The first line is a warning, and this is usually relatively harmless. It means that the codec response isn't notified via an IRQ.  The driver uses explicit polling method to read the response.  It gives very slight CPU overhead, but you'd unlikely notice it.

The second line is, however, a fatal error.  If this happens, usually it means that something is really wrong.  Most likely you are accessing a non-existing codec slot.

Thus, if the second error message appears, try to narrow the probed codec slots via `probe_mask` option.  It's a bitmask, and each bit corresponds to the codec slot.  For example, to probe only the first slot, pass `probe_mask=1`.  For the first and the third slots, pass `probe_mask=5` (where 5 = 1 | 4), and so on.

Since 2.6.29 kernel, the driver has a more robust probing method, so this error might happen rarely, though.

I suspect previously, if we had run “dmesg” we would have spotted the noted error, and that may have brought us to the “probe_mask” solution a bit sooner. Anyway, using that “probe_mask” option when encountering the symptoms on your PC was a learning experience for me, … It does appear in openSUSE-11.2 or 11.3 (one of which presumably will have the 2.6.29 kernel) this problem should not exist.