HDMI AUDIO OUTPUT NOT WORKING - ALENWARE / OPENSUSE 11.4

rpm -qa '*alsa*'
alsa-plugins-pulse-1.0.24-66.1.i586
alsa-utils-1.0.24.2-55.1.i586
alsa-oss-1.0.17-65.1.i586
alsa-1.0.24.1-119.1.i586
alsa-driver-kmp-default-1.0.24.20111114_k2.6.37.6_0.7-2.1.i586
alsa-plugins-1.0.24-66.1.i586

rpm -q libasound2
libasound2-1.0.24.1-119.1.i586

For info: I added

Enjoy the trip(s)!!

Those versions look ok. When you state your HDMI is still not working, what tests did you perform ? Did you use pavucontrol to select and tune the HDMI sound ?

Please, can you also run the diagnostic script:


/usr/sbin/alsa-info.sh

and select the SHARE/UPLOAD option and post here the URL that it provides, so I can examine the configuration in place with the updated alsa driver version.

First, I changed first line in 50-sound.conf file to:

options snd-hda-intel model=auto

Then I tested with Kmix (not pavucontrol). Screenshots HERE. HDMI was tuned. Anyway I just installed pavucontrol, tried it but nothing changed.

Updated Alsa-info script HERE.

Thanks. The way I read that, is ‘auto’ is the BIOS default. So if that does not work, you should try it without that ‘auto’ option. (ie remove the line with that option, reboot and test). And then also try EACH the other options. Each of them, one at a time. Restart your audio device (try rebooting) each time.

I still can not understand what applications (I assume many) you used to test if HDMI worked. Apologies if I missed it from your post, but I did look and could not see it.

What pavcontrol options are you given in the ‘configuration’ tab ?

Did you try a simply aplay application ? Say you have the file /home/uranzu/test.wav … then try something like:


aplay -D hw:0,3 /home/uranzu/test.wav

Pay attention to any and ALL error messages.

Note I get that hw:0,3 from:



!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC889A Analog [ALC889A Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC889A Digital [ALC889A Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
**card 0:** NVidia [HDA NVidia], **device 3**: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

ie the HDMI device is hw:0,3 .

ie your reular sound should be either:


aplay -D hw:0,0 /home/uranzu/test.wav

or


aplay -D hw:0,1 /home/uranzu/test.wav

dependent on whether you are using digital or analogue output

Note ‘test.wav’ is just a file name I made up. You need to put your own GOOD .wav file there, where you know that .wav file is a good file.

I still can not understand what applications (I assume many) you used to test if HDMI worked. Apologies if I missed it from your post, but I did look and could not see it.

I just checked with Kmix test button and youtube viedos through firefox.

I will follow your new instructions. This matter begins to be hard…

I decided to switch speakers in addition to HDMI connector and checked aplay:

santisala@santisala:~> aplay -D hw:0,0 /home/santisala/Descargas/Alejandro1b.wav
Playing WAVE '/home/santisala/Descargas/Alejandro1b.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Result: I hear perfectly through speakers.

santisala@santisala:~> aplay -D hw:0,1 /home/santisala/Descargas/Alejandro1b.wav
Playing WAVE '/home/santisala/Descargas/Alejandro1b.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Result: I hear nothing.

santisala@santisala:~> aplay -D hw:0,3 /home/santisala/Descargas/Alejandro1b.wav
Playing WAVE '/home/santisala/Descargas/Alejandro1b.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

Resutl: I hear nothing.

I also realized that Kmix sound configuration tab only recognizes “internal audio” as Sound Card. However it has many differnet profiles (analog, digital, HDMI, surround…). Even if I select HDMI as profile the sound card still gives “internal audio” and do not change to “High definiton audio controller” for example.

ok … assuming your HDMI was connected when you ran that command, you ‘should’ be hearing something there I believe…

I think you should be focusing here on pavucontrol application, and not so much on kmix. What are the options under the ‘configuration’ tab’ selections in pavucontrol ?

I confess I don’t understand this ‘switch speakers’ comment.

The diagnostic script that you ran sends the command:


aplay -l

which gives this output:


**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC889A Analog [ALC889A Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC889A Digital [ALC889A Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

… where your HDMI device is hw:0,3

Can you please try sending this command in a terminal to obtain MORE information (ie use an upper case ‘L’ instead of a lower case ‘l’ ):


aplay -L

I want to see if there is an HDMI entry (or other appropriately labelled entry) there.

i.e. if you see the entry:


hdmi:CARD=NVidia,DEV=0
   HDA NVidia
   HDMI Audio Output

as part of that ‘aplay -L’ command, then another command useful to try to see if it produces audio in the HDMI is:


aplay -D plug:hdmi /home/santisala/Descargas/Alejandro1b.wav

note the ‘aplay -L’ identified the device ‘hdmi’ and the next command with aplay assigns the hdmi device.

… or you may see:


iec958:CARD=Intel,DEV=0
    HDA Intel, AD198x Digital
    IEC958 (S/PDIF) Digital Audio Output

or something like that (the above may not be for HDMI audio) … and so you could try:


aplay -D plug:iec958 /home/santisala/Descargas/Alejandro1b.wav

Also, please ensure the HDMI device is NOT muted. You can check that via:


alsamixer

The alsamixer may have three digital devices:


    IEC958
    IEC958 D
    ICE9581. 

All of them should be unmuted. Press ‘m’ to unmute, and the right and left arrows to navigate. Then select ‘HDA NVidia NVIDIA HDMI (ALSA)’ as output for all items in ‘Sound Prefrences’ and select ‘HDA NVidia (Alsa mixer)’ as the mixer.

Note from your diagnostic script output you have:


**Simple mixer control 'IEC958',0**
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
**Simple mixer control 'IEC958 Default PCM',0**
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
**Simple mixer control 'IEC958',1**
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback **[off]**

where you have left muted an HDMI (IEC958) output for a reason that you have not explained, and I do not understand why (it is muted).

And a final note, is I am doing this all by ‘simple theory’ … I don’t have an HDMI device myself that can be hooked up to any speakers. I have never played audio via HDMI myself, but I do know some basics about GNU/Linux audio and I hate to see users fail when they are overlooking what appears to me (with my very limited understanding) to be basic setup. Still, I think together we can succeed here and I am relying on you to setup the basics. (ie hardware cables PROPERLY connected, items in mixer properly unmuted, pulse audio (via pavucontrol) properly pointing to HDMI device, and application appropriately selecting pulse audio or HDMI device directly.

Good luck !!

One more question. I note your HDMI is nvidia. That suggests to me it is associated with a nVidia chipset, and ‘may’ be dependant not only on an alsa driver but also on the graphic driver (I’m speculating here). Please what graphic card do you have in your system ? And what GNU/Linux video driver are you using ?

Here is a major reference for HDMI on nvidia devices: ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html

Wow oldcpu, this confirms something I saw early on with the nVIDIA video cards in that the HDMI audio output was just stereo as in the MCP67 and MCP73 sound chips (ie: nVIDIA 240). The configuration is used in MCP77, MCP78, MCP79, MCP7A, and ION also seems dubious as a collection of two channel outputs being combined (ie: nvidia 460). Only the last two configurations seem to have something more than stereo as an HDMI output. Again, the audio in an HDMI cable is the same as coaxial audio, sometimes seen as a single phono connection on the back of some audio equipment and computer motherboards. Coaxial Audio is claimed to produce more dynamic audio range than that supplied by the toslink (optical) definition does. So, the short thing here is nVIDIA cards starting with the 520 may be required to get full Dolby Digital 5.1 or 7.1 output to a Receiver or TV.

Thank You,

I wish that graphic question had been answered …

I note for radeonhd driver (as opposed to nvidia hardware/drivers and radeon driver) this from an old post in the mailing lists: Re: [opensuse] HDMI Audio

At Fri, 1 May 2009 10:09:30 -0400,
Andrew Joakimsen wrote:

> Under openSUSE 11.1 how is it possible to use the audio output via
> HDMI? I see in the mixer “HDMI Audio” but no sound output is produced.

It depends on hardware.

HDMI over ATI graphic board should work with fglrx driver. IIRC, HDMI on radeonhd came after 11.1 release. On Factory, it should work.

HDMI over Intel graphic isn’t supported on 11.1. On Factory, it could be, but not sure. The XOrg : Devel repo should work, though.

In general, X has to run to enable HDMI output, because the HDMI is a composed output of both graphic and audio, and the graphic driver has to cooperate with the audio part in some role.

Also, note that the way to choose HDMI output depends on the hardware implementation. In some cases, you’ll have an individual HDMI output audio device, and in some cases, HDMI is bundled together with the
normal analog output. That is, the hardware implementation of HDMI is very chaotic right now…

Takashi

I forgot to add for some amd hardware, the HDMI audio module is disabled by default in kernel >=3.0. Add


radeon.audio=1 

as a boot code to test enabling it, and if it works add to the end of the “kernel” line in /boot/grub/menu.lst to enable it more permanently.

Hello, Sorry for the delay
The graphic card is NVIDIA 300 Series (notebooks)
HDMI works with no issue for Video and Audio in Windows
In Opensue is only reproducing VIDEO.

There is a lot of documentation on nvidia and HDMI here:
ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html

You may wish to look at this thread here: http://forums.opensuse.org/forums/english/get-technical-help-here/multimedia/462448-connect-toshiba-x205-laptop-tv-hdmi-solved.html

There is more than one person seeking help in this thread (which I find difficult to sort) and hence its painful to go back and sort what exactly your details are …

What was the output of the command:


aplay -L

and


aplay -l

(lower case ‘L’)

on your PC ?

Note also a couple of help threads:

http://forums.opensuse.org/forums/english/get-technical-help-here/multimedia/462448-connect-toshiba-x205-laptop-tv-hdmi-solved.html
and
http://forums.opensuse.org/english/get-technical-help-here/multimedia/461219-sound-multiple-output-devices-pulse.html#post2352155

I’m back
Here is the output
aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
front:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
Front speakers
surround40:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, ALC665 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
HDA NVidia, HDMI 0
HDMI Audio Output

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC665 Analog [ALC665 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Do you know if this has been fixed on OSuse 12.1?

Thanks

The frequency of your posts tells me this in not important (ie a very low priority - probably nothing more than a curiousity on your part). ok … I note/understand that. I’ll try to phrase my response accordingly.

So which hardware HDMI device is active ? Which are you using ? You need to narrow that down (and I believe you would know that if you read the links I provided).

Clearly your PC hardware is hw:0,0 (analog), hw:1,3 (HDMI device 3) , hw:1,7 (HDMI device 7) , hw:1,8 (HDMI device 8), hw:1,9 (HDMI device 9). Its important to narrow that down so we don’t waste time trying to configure a device that is not connected !

Lets say you determine your device is hw:1,7 (and it may not be) … then simply edit the /etc/pulse/default.pa and add this line for you HDMI


### Load HDMI device
load-module module-alsa-sink device=hw:1,7
load-module module-combine sink_name=combined
set-default-sink combined

so … next question … Is it hw:1,7 ??? or is it hw:1,3 ??? How can one tell ??

I recommend you try to put out sound (noise) through each of hw:1,3, hw:1,7, hw:1,8 and hw:1,9 until you determine which one is the one that provides sound, so you can put in the correct entry in the /etc/pulse/default.pa file.

ie grab a .wav file (say test.wav) and for hw:1,3 try:


aplay -D hw:1,3 -c 2 test.wav

or for hw:1,7


aplay -D hw:1,7 -c 2 test.wav

etc for each of hw:1,3, hw:1,7, hw:1,8 and hw:1,9 and listen for a pop or crackle or some other indication that we are getting close to a solution. Note you MUST have your HDMI connected for this to work.

or instead this command :


speaker-test -D hw:1,3 -c2 -l5 -twav

and listen for noise !! Instead it might be -c4, or -c5 (I am guessing at the channel).

and again try each of hw:1,3, hw:1,7, hw:1,8 and hw:1,9 and listen for a pop or crackle or some other indication that we are getting close to a solution.

Once you determine which device, apply the default.pa update, reboot and test.

That implies it is broken in 11.4. I am not convinced it is broken in 11.4.

hello
The frequency of my replaies are because I’m moving to a different country and that is kind of stressing :slight_smile:
This is important, but at this point I have XBMC running on windows 7 with no issue and HDMI output is working fine for sound in that OS.
I would love to migrate this to Linux and OpenSuse
I have tried the speaker-test and aplay trying all the hardware addresses and none of them worked.

Any other thing I should try?
Thanks

Without specific details as to the syntax and configuration you tried I can not comment further. My guess is a syntax error was made and in the absence of appropriate copy/paste as to exactly what was tried I would not even attempt to comment further.

If Windows7 runs fine then why not stick with it ? That’s what my wife would tell me.