ALSA HDMI Audio does not work

Bug #196026 reported by Libin Yang

This bug report was converted into a question: question #91842: ALSA HDMI Audio does not work.

6
Affects Status Importance Assigned to Milestone
linux-ubuntu-modules-2.6.24 (Ubuntu)
Fix Released
Medium
Tim Gardner

Bug Description

We tested HDMI Audio on SB700+RS780 on linux-ubuntu-modules-2.6.24_2.6.24-10.14 and found it does not work.

This is a known issue for ALSA and it has been fixed in ALSA hg tree.

Here is the workaround patch for HDMI audio:

--- alsa-kernel/pci/hda/hda_intel.c.orig 2008-02-27 08:54:45.000000000 -0500
+++ alsa-kernel/pci/hda/hda_intel.c 2008-02-27 08:46:05.000000000 -0500
@@ -1812,15 +1812,15 @@
  gcap = azx_readw(chip, GCAP);
  snd_printdd("chipset global capabilities = 0x%x\n", gcap);

- if (gcap) {
- /* read number of streams from GCAP register instead of using
- * hardcoded value
- */
- chip->playback_streams = (gcap & (0xF << 12)) >> 12;
- chip->capture_streams = (gcap & (0xF << 8)) >> 8;
- chip->playback_index_offset = (gcap & (0xF << 12)) >> 12;
- chip->capture_index_offset = 0;
- } else {
+ //if (gcap) {
+ // /* read number of streams from GCAP register instead of using
+ // * hardcoded value
+ // */
+ // chip->playback_streams = (gcap & (0xF << 12)) >> 12;
+ // chip->capture_streams = (gcap & (0xF << 8)) >> 8;
+ // chip->playback_index_offset = (gcap & (0xF << 12)) >> 12;
+ // chip->capture_index_offset = 0;
+ //} else {
   /* gcap didn't give any info, switching to old method */

   switch (chip->driver_type) {
@@ -1843,7 +1843,7 @@
    chip->capture_index_offset = ICH6_CAPTURE_INDEX;
    break;
   }
- }
+ //}
  chip->num_streams = chip->playback_streams + chip->capture_streams;
  chip->azx_dev = kcalloc(chip->num_streams, sizeof(*chip->azx_dev),
     GFP_KERNEL);

Revision history for this message
Libin Yang (libin-yang) wrote :

Please forget the workaround patch I submitted. I have found the official patch in alsa hg tree.

Please kindly find the patch in http://git.kernel.org/?p=linux/kernel/git/perex/alsa.git;a=commitdiff;h=b5d85a782c87bcc92c9c20273757bcd02f692d9c;hp=1cc699e28ceeac996a8a8371c98bf22c29dd399c

Revision history for this message
Tim Gardner (timg-tpi) wrote :
Changed in linux-ubuntu-modules-2.6.24:
assignee: nobody → timg-tpi
importance: Undecided → Medium
milestone: none → ubuntu-8.04-beta
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-ubuntu-modules-2.6.24 - 2.6.24-11.15

---------------
linux-ubuntu-modules-2.6.24 (2.6.24-11.15) hardy; urgency=low

  [Tim Gardner]

  * Fix ATI HDMI oops
    - LP: #196026
  * ifdef and net_ratelimit() iwlwifi debug messages
    - LP: #190475
  * SAUCE: Implemented suspend quirk support for HP NC6220 and NW8240
    - LP: #151111
  * Removed ivtv driver
    - LP: #197089

 -- Tim Gardner <email address hidden> Thu, 28 Feb 2008 13:53:20 -0700

Changed in linux-ubuntu-modules-2.6.24:
status: Fix Committed → Fix Released
Revision history for this message
JoePub (joepubber) wrote :

Still have same problem after upgrade to linux-ubuntu-modules 2.6.24-15.20. I had already tried the Realtek drivers for the ALC889A from their website, so not sure if that buggered things up even more.

aplay -l lists the HDMI output, but the analog and digital say it's an ALC882?

card 0: SB [HDA ATI SB], device 0: ALC882 Analog [ALC882 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC882 Digital [ALC882 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Any ideas?

Revision history for this message
JoePub (joepubber) wrote :

Not quite sure if it's the same issue as I believe this issue was related to ALSA bug

https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746

Which says that a null pointer message appears in dmesg when trying to play via HDMI. I don't get a null pointer message is dmesg, I just hear no audio. Is this a different bug/issue?

Revision history for this message
Libin Yang (libin-yang) wrote :

"the analog and digital say it's an ALC882"
This is because ALC882 codec driver is used for many codecs, not only ALC882 codec. For example, ALC885 is using this codec driver too, so it will display ALC882 while using ALC885 codec. It is a tiny issue and Realtek should fix it.

"Not quite sure if it's the same issue as I believe this issue was related to ALSA bug"
Yes it is the same issue and patch is used to fix the null pointer message. If there is no null pointer message in dmesg, it means the bug has been fixed.

"I just hear no audio. Is this a different bug/issue?"
Yes, it is a different issue. HDMI audio should co-work with a proper graphics driver. If it is an ATI graphics card, a special graphics driver is needed. You can find the latest ATI driver from http://ati.amd.com/support/drivers/linux/linux-radeon.html to see if the card is already supported. You can contact ATI graphics driver team for a detail supporting list.

BTW, based on the info, "-Dhw:1" should be used, for example "aplay -Dhw:1 audiofile.wav".

Revision history for this message
Luís Louro (lapisdecor) wrote :

I have no sound on a new compaq with nvidia hdmi and cant tell if its the alsa driver. Do I need to copile the new alsa driver?

Changed in linux-ubuntu-modules-2.6.24 (Ubuntu):
status: Fix Released → Invalid
Revision history for this message
Steve Langasek (vorlon) wrote :

Please don't change fixed bugs into questions.

Changed in linux-ubuntu-modules-2.6.24 (Ubuntu):
status: Invalid → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.