The "default" audio device is..... What?

Hi,

I have two audio devices: An Intel 5 series/3400 on the motherboard with digital and analog outputs. And an HDMI output on an ATI graphics card.

lspci | grep -i “audio”

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
01:00.1 Audio device: ATI Technologies Inc Redwood HDMI Audio [Radeon HD 5600 Series

During the boot phase, this is recorded in boot.msg:

grep -i “hda” /var/log/boot.msg

<6>[ 24.451824] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
<7> 24.451910] HDA Intel 0000:00:1b.0: irq 53 for MSI/MSI-X
<7> 24.451935] HDA Intel 0000:00:1b.0: setting latency timer to 64
<7> 24.495109] ALSA hda_codec.c:4633: autoconfig: line_outs=4 (0x24/0x25/0x26/0x27/0x0)
<7> 24.495112] ALSA hda_codec.c:4637: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
<7> 24.495113] ALSA hda_codec.c:4641: hp_outs=1 (0x28/0x0/0x0/0x0/0x0)
<7> 24.495115] ALSA hda_codec.c:4642: mono: mono_out=0x0
<7> 24.495116] ALSA hda_codec.c:4645: dig-out=0x2d/0x2e
<7> 24.495118] ALSA hda_codec.c:4646: inputs:
<7> 24.495119] ALSA hda_codec.c:4652:
<3> 24.498194] hda-codec: no NID for mapping control Independent HP:0:0
<6> 24.500231] HDA Intel 0000:01:00.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
<7> 24.500360] HDA Intel 0000:01:00.1: irq 54 for MSI/MSI-X
<7> 24.500377] HDA Intel 0000:01:00.1: setting latency timer to 64

Now, I’m assuming that the first (dark brown) is the Intel and second (light brown) is the ATI?

Two questions:

  1. What is the high definition audio codec complaining about?
  2. Where in the KDE environment, do I define which device the “default” is assigned to?

When I use YaST | Hardware | Sound | Other | Play Test Sound, it only (despite all attempts to send it to the digital) plays on the Intel analog out (which I think may have the reference HW: 0,0?)
However, when I fire-up (the user settings) in System Settings | Multimedia | Phonon, and try playing a test sound, it plays on different outputs for different users?
Additional, while playing (by trial and error) an audio track, system notification (alerts and the like) break into the audio stream with silence! Some sort of mixer problem?

Sorry for the rambling description. Regards, Martin

It reads to me that the alsa sound driver in its automatic configuration of alsa can not figure out the hda-codec NID.

If this is openSUSE-11.4 with pulse audio enabled, there are three places (where consistency is good):

  • YaST > Hardware > Sound
  • Kmenu > Configure Desktop > Multimedia
  • install ‘pavucontrol’ and you can configure different devices to different applications to run by default

I confess I can’t figure out what your hardware is based on the "# lspci | grep -i “audio” " you provided. Does that explain enough details for you ? It does not for me.

I prefer to always run the diagnostic script (when accessing internet) :

/usr/sbin/alsa-info.sh 

and then select share/upload option. That will provide one a website/address where their hardware configuration information has been uploaded to.

I documented that in our multimedia stickie, which I hope our users will read.

Hello again, oldcpu,

It reads to me that the alsa sound driver in its automatic configuration of alsa can not figure out the hda-codec NID.

Ahhh… I see… Errr… what is the NID?

This is the output from my alsa-info.sh Pulse Audio is not running because, I get nasty looking errors. So, in an attempt to simplify issues its off for now.
Mea Culpa - I have read your stickies - honest. I just forgot!

Just in case its relevent, these are the Pulse Audio errors:

May 16 12:40:59 gzunder pulseaudio[3277]: alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write!
May 16 12:40:59 gzunder pulseaudio[3277]: alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_hda_intel'. Please report this issue to the ALSA developers.
May 16 12:40:59 gzunder pulseaudio[3277]: alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.

Lastly, in this over, you kindly list three locations that control audio devices. The last is not applicable because, as mentioned above, I do not have Pulse Audio enabled. I’m afraid I do not see any consistency. It could be that I am not understanding the GUI, of course.

Regards, Martin

My experience with 11.4 is with pulse enabled. All the official validations with 11.4 were done with pulse enabled. So my advice is possibly not going to be of much help with pulse disabled. You need to ensure the order of sound devices (in particular the primary device is the same) between YaST and Kmenu’s configure desktop are the same/consitsent.

  • YaST > Hardware > Sound
  • Kmenu > Configure Desktop > Multimedia

I don’t know what it stands for, but I assume it refers to a specific numerical identifier for the alsa hardware audio codec.

Your PC’s hardware audio codec is a VIA VT1828S. There is not much in the HD-Audio-Models.txt file (alsa documentation) for the VIT VT18xx. All I can find is this:


VIA VT17xx/VT18xx/VT20xx
========================
  auto		BIOS setup (default)

which in essence notes only the default option is available as of 1.0.24 of alsa.

According to this search on the alsa web site support for the VT1828S was added as of alsa-1.0.22.

Thanks for the advice OldCPU.

Right, I’m happy to go with your advice. I’ve turned PulseAudio support back on. Also in the continuing effort to simplify things, I have (for now) disabled the VT1828S on the motherboard, via the BIOS controls.
Should I upload another alas-info.txt (while testing I was not on the network. although I have the file on disk)?

In summery, I think things were okay. I am still lost on the consistency issue though.

You need to ensure the order of sound devices (in particular the primary device is the same) between YaST and Kmenu’s configure desktop are the same/consitsent.

  • YaST > Hardware > Sound
  • Kmenu > Configure Desktop > Multimedia

The two GUIs are completely different. The only consistency is in that (now) there is only one audio device.
Here is my YaST | Hardware | Sound GUI
and this is my KDE | Menu | Desktop Settings | Multimedia | Phonon

However, back to the plot. If my problem is that the magic that sorts out all my hardware for me is confused by two audio cards, and the VT1828S is the one that I want to use, can you think of anyway of disabling the ATI HDMI audio function? Bearing in mind that it is on the ATI HD5500 video card that I am using.

I guess it can’t be done by blacklisting the snd-hda-intel driver as both the VT1828S and the ATI Redwood devices seem to want to use it.

Regards, Martin

Sorry to go banging on about this “consistency”, but I thought I’d show you these screen shots.

This is the dialog seen by all users when viewing via YaST | Hardware | Sound.
Then select a user, and view the corresponding “user settings” via KDE Launcher | Desktop Settings | Multimedia | Phonon.
Now pick another user and run into the same location as above: and its different?

Why has one user got an Internal Analog Stereo as a “default” (if that is what top of the list means), and the other got an Internal Audio Digital Stereo (IEC958)? And Why is the Redwood HDMI device listed when in YaST it is “Not Configured”? And why has User 2 got two greyed-out devices listed? And … And …

Corrupted config files? Permissions?

Confused, Martin

When viewing with YaST you are viewing as the administrator (root) and not as a user with root permissions. Ergo it does not matter what user you launch YaST from.

That simply illustrates users can tune their desktop audio to the way they like. One is not forced to use another user’s desktop audio settings.

Its listed that way because the Redwood HDMI device has not been configured. Yes, obvious. Why ? Because not 100% of everything is automatic. Somethings one needs to configure themselves.

YOU are the BEST person to answer that question. Not me. You are the best person because only you (?) know what has been done to your PC.

I suspect this can happen if one decides to restart their audio driver and does not tell KDE to forget the old configuration.

Thank you for your advice, oldcpu,

Perhaps, I am causing more problems that I am solving? I think I am reasonably conversant with the principles of user domains in a multi-user OS.
So, maybe if I switch to a direct question rather than the “open” style used previously.

We are both aware that almost always, with a Linux gui, there is an ASCII text file in the background which file controls what the user sees? To take an unrelated example, Wammu. If I want to configure a new phone connection, I can either use the GUI or edit the file .Wammu.

I want to configure the “user” audio settings. The GUI “looks” broken. What/where is the background config file?

Regards, Martin

I suspect there are multiple files, of which I am aware of only the basic file for configuring the alsa sound driver when its automatic audio configuring may fail - and that is /etc/modprobe.d/50-sound.conf.

But there are likely pulse audio and desktop audio configuration files of which I know nothing.