Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1045307

Summary: Audio HDMI test failed with Error: aplay command failed
Product: [Retired] Red Hat Hardware Certification Program Reporter: bhesha <sha.he>
Component: Test Suite (tests)Assignee: Greg Nichols <gnichols>
Status: CLOSED ERRATA QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 1.6.5CC: bbrock, gnichols, jherrman, jkysela, juzou, qcai, rlandry, sha.he, yxue
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: hwcert-client 1.6.5.2-20140731.1 Doc Type: Bug Fix
Doc Text:
Due to limited support of the pulseaudio server for multiple High-Definition Multi-media Interface (HDMI) devices per sound card, audio would previously sometimes not function properly on specific Intel and Nvidia configurations, such as the Haswell microarchitecture processors. With this update, the support for multiple HDMI devices per sound card has been implemented for pulseaudio, and HDMI audio output now works in the described scenarios as expected.
Story Points: ---
Clone Of:
: 1084578 1095750 (view as bug list) Environment:
Last Closed: 2014-08-20 08:09:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1084578, 1109359    
Attachments:
Description Flags
HDMI audio test
none
HDMI settings for Audio test
none
HDMI audio test with kernel 2.6.32-431.1.2
none
This is for 00:03.0 0403: 8086:0c0c (rev 06)
none
This is for 00:03.0 0403: 8086:0a0c (rev 0b)
none
eld#0.0: This is for 00:03.0 0403: 8086:0c0c (rev 06)
none
eld#0.1: This is for 00:03.0 0403: 8086:0a0c (rev 0b)
none
audio.py patch checking for HDMI device number, and adding it to the play command
none
test with patch
none
audio zip file
none
patched audio.py test file
none
try with new py file
none
output of alsa-info.sh --no-upload
none
revised audio.py test using amixer to determine device number
none
Haswell chipset result
none
Haswell ULT chipset result none

Description bhesha 2013-12-20 06:19:42 UTC
Created attachment 839386 [details]
HDMI audio test

During Redhat HWcert test, we found Audio(HDMI)test failed with Error: aplay command failed

We use below configuration
Test machine: Intel QM87 chipset+intel CPU i7-4800MQ
OS: RHEL server v2.6.32-431.el6.x86_64 GNOME2.28.2
Test suite: hwcert-client-1.6.5-25.1.el6, hwcert-server-1.6.5-25.1.el6, dt-15.14-2.EL6, stress-0.18.8-1.3.EL6, lmbench-3.0a7-6a.EL6

Steps to Reproduce:
1. Install RHEL server v2.6.32-431.el6.x86_64 GNOME2.28.2 to test machine
2. Install hwcert Test suite
3. Run audio test

Actual results:
When

Expected results:
Pass

Additional info:
We checked the HDMI audio output worked normally with external monitor

Comment 1 bhesha 2014-01-07 08:54:07 UTC
Hi Redhat,

Could you please check and update to us?

Comment 2 Greg Nichols 2014-01-09 15:21:14 UTC
The log from the attachment:

Sound Card:

udev device: /devices/pci0000:00/0000:00:03.0/sound/card0
------------------------------------------------------
SUBSYSTEM sound
ID_VENDOR_ID 0x8086
ID_VENDOR_FROM_DATABASE Intel Corporation
DEVPATH /devices/pci0000:00/0000:00:03.0/sound/card0
UDEV_LOG 3
ID_MODEL_FROM_DATABASE Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
ID_PATH pci-0000:00:03.0
SOUND_INITIALIZED 1
info.udi /devices/pci0000:00/0000:00:03.0/sound/card0
ID_MODEL_ID 0x0c0c
SOUND_FORM_FACTOR internal
ID_BUS pci


/proc/asound/card0/pcm8p/info
card: 0
device: 8
subdevice: 0
stream: PLAYBACK
id: HDMI 2
name: HDMI 2
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

/proc/asound/card0/pcm7p/info
card: 0
device: 7
subdevice: 0
stream: PLAYBACK
id: HDMI 1
name: HDMI 1
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

/proc/asound/card0/pcm3p/info
card: 0
device: 3
subdevice: 0
stream: PLAYBACK
id: HDMI 0
name: HDMI 0
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

This test plays a sound sample and records it to another file.
Please use the Volume Control application and insure that the 
Capture settings will record the sound.
Continue? (y|n) response: y
starting recording while playing demo sound
Error: aplay command failed

Comment 3 Greg Nichols 2014-01-09 15:25:31 UTC
What is the output of:

>aplay /usr/share/sounds/alsa/Front_Right.wav -D plughw:0

Thanks!

Comment 4 bhesha 2014-01-13 02:57:48 UTC
Created attachment 849102 [details]
HDMI settings for Audio test

Comment 5 bhesha 2014-01-13 03:01:24 UTC
Hi Grey,

Thank you for reply.

Please help to check our HDMI settings, attachment above "HDMI settings for Audio test" shows the detail.

Comment 6 Gary Case 2014-03-03 23:51:12 UTC
This system is based on the Intel processor family codenamed "Haswell". There is a problem with HDMI audio in the "Haswell" processors that requires the use of a newer kernel than the one we provided in RHEL 6.5. Please download kernel 2.6.32-431.1.2.el6 from RHN, install it, and then run only the AUDIO and INFO tests with the new kernel. 

Here are links to the kernel on RHN:

x86_64
https://rhn.redhat.com/rhn/software/packages/details/Overview.do?pid=832323

i686
https://rhn.redhat.com/rhn/software/packages/details/Overview.do?pid=832277

That should allow the AUDIO test to complete successfully, but you will see a warning during the INFO test. The warning is there because INFO detects a newer kernel than 6.5, but the review team will not reject your results because of that.

Please let us know if the AUDIO test passes successfully with the new kernel.

Comment 7 bhesha 2014-03-04 03:46:51 UTC
Created attachment 870213 [details]
HDMI audio test with kernel 2.6.32-431.1.2

Comment 8 bhesha 2014-03-04 03:51:14 UTC
Hi Gary,

Thank you for support us always.

I checked both with kernel 2.6.32-431.1.2.el6 and kernel 2.6.32-431.5.1.el6, we got the same error message as before when do HDMI audio test. I attached tested reported package "HDMI audio test with kernel 2.6.32-431.1.2", would you please check it?

Comment 9 Rob Landry 2014-03-04 21:28:58 UTC
The new results shows card0 fails and card1 passed.

Unfortunately the results appear to match the earlier attach and aplay is not reporting much to work with, just the  "Error: aplay command failed".  It does show the analog audio seems to be working.

On the updated kernel, what is the output from the aplay command when invoked from the command line using the hdmi output?  The wav file suggested in comment #3 is a good choice for a sample.

-Rob

Comment 10 bhesha 2014-03-05 01:21:23 UTC
Hi Rob,

We checked two configs that have "Error: aplay command failed" issue.
After applied "aplay /usr/share/sounds/alsa/Front_Right.wav -D plughw:0" on them, they both returned "[root@localhost test]# aplay /usr/share/sounds/alsa/Front_Right.wav -d plughw:0
Playing WAVE '/usr/share/sounds/alsa/Front_Right.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono" . It seems the command can be excuted normally.

However, we can not hear sound that was played with below HDMI device config:

00:03.0 0403: 8086:0a0c (rev 0b)
	Subsystem: 1179:0001
	Flags: bus master, fast devsel, latency 0, IRQ 48
	Memory at f0630000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel


We can hear sound normally after run the command with below HDMI device config:

00:03.0 0403: 8086:0c0c (rev 06)
	Subsystem: 1179:0001
	Flags: bus master, fast devsel, latency 0, IRQ 35
	Memory at e4630000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 2
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit-
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd-hda-intel

Comment 11 bhesha 2014-03-11 01:35:41 UTC
Hi Rob,

Could you please help to check and update to us?

Comment 12 Rob Landry 2014-03-11 21:31:59 UTC
Hi,  

Just a quick update, I'm checking internally to find out why Haswell is providing two unique pci ID's for HDMI audio to see if that provides any insight.

Comment 13 Rob Landry 2014-03-20 22:33:39 UTC
Can we get a copy of the output from 'alsa-info.sh --no-upload' on this system?

Thanks.

Comment 14 bhesha 2014-03-21 01:04:14 UTC
Created attachment 877083 [details]
This is for 00:03.0 0403: 8086:0c0c (rev 06)

Comment 15 bhesha 2014-03-21 01:05:33 UTC
Created attachment 877084 [details]
This is for 00:03.0 0403: 8086:0a0c (rev 0b)

Comment 16 bhesha 2014-03-21 01:10:56 UTC
Hi Rob,

I attached the files for these two configs for your check.

Due to we have to do Redhat shipment on 4/B, so please help to check and fix the issue soon.

Sorry for push.

Comment 17 Jaroslav Kysela 2014-03-21 19:19:28 UTC
Please, provide also contents of the /proc/asound/card0/eld* files.

The issue with newer Haswell-ULT chipset may be caused that the graphics driver does not provide correct information to the sound driver. The co-operation is required, because the graphics driver does the handshake with the monitor (connected HDMI device) to get the sound parameters.

You already reported graphics issues through: bug#1023244

Comment 18 bhesha 2014-03-24 00:54:41 UTC
Created attachment 877912 [details]
eld#0.0: This is for 00:03.0 0403: 8086:0c0c (rev 06)

This is Haswell chipset (Not Ult), we can hear sound from HDMI output, but it is is also found aplay command fail issue.

Comment 19 bhesha 2014-03-24 00:58:41 UTC
Created attachment 877913 [details]
eld#0.1: This is for 00:03.0 0403: 8086:0a0c (rev 0b)


This is Haswell Ult chipset, we cannot hear sound from HDMI output, but it is also found aplay command fail issue.

Comment 20 bhesha 2014-03-24 01:08:22 UTC
Hi Jaroslav,

We found all chipsets (Ult and Non-Ult) have the aplay command fail issue. The different is Haswell chipset (Not Ult) can be heard sound from HDMI output, but Haswell Ult chipset can not. I attached the files of both chipsets, please help to check them.

Comment 21 bhesha 2014-03-24 06:41:02 UTC
Hi Jaroslav,

We don't think "Error: aplay command failed" is caused by graphics driver does not provide correct information to the sound driver. Because we found Haswell chipset(Non-ULT) also have the same failure. Could you please do further check of the issue again?

Comment 22 Jaroslav Kysela 2014-03-24 10:01:48 UTC
Note that the right aplay command is:

aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0

Also, the monitor may be connected to different output port:

-D plug:hdmi:0,0    # first number means card, second zero is implicit
-D plug:hdmi:0,1
-D plug:hdmi:0,2

... or you may use the direct hw device:

-D plughw:0,3
-D plughw:0,7
-D plughw:0,8

...

Please, test.

Comment 24 bhesha 2014-03-25 01:47:20 UTC
We tried below cases:
1. aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0
It was excuted successfully, but no sound can be heard.
 
2. aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0,0
   aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0,1
...
They all show error: aplay:main:696: audio open error: No such file or directory

3. aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hw:1
It was excuted successfully,sound also can be heard well.

Comment 25 bhesha 2014-03-31 01:51:40 UTC
Hi Jaroslav,

Could you please show us the status of the issue?

Comment 27 Jaroslav Kysela 2014-03-31 07:56:39 UTC
(In reply to bhesha from comment #24)
> We tried below cases:
> 1. aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0
> It was excuted successfully, but no sound can be heard.

It appears like a kernel issue. There are some updates in the Linux kernel upstream to add the proper support for the Haswell hardware. They will be available in the next kernel updates for RHEL6.

We are trying to solve the aplay error issue for the systems with the functional HDMI audio.

Comment 31 Greg Nichols 2014-04-03 00:29:42 UTC
Created attachment 882036 [details]
audio.py patch checking for HDMI device number, and adding it to the play command

Patch based on code in above comment.

Comment 32 Greg Nichols 2014-04-03 00:30:42 UTC
Please try the attached patch.

Comment 33 bhesha 2014-04-03 10:59:04 UTC
Created attachment 882227 [details]
test with patch

Hi Greg,

Please see below step we tested:

1. Install audio.patch
#Install /desktop/audio.patch /usr/share/hwcert/tests/audio/
2. Run hwcert, it can see two same HDMI test and get same aplay command failed, please see attachment results

During test, no sound was played.

Comment 34 Greg Nichols 2014-04-03 12:49:58 UTC
Judging by the log, I don't think the patch was applied.  Could you check this, and attach the file: /usr/share/hwcert/tests/audio/audio.py ?

Thanks!

Comment 35 bhesha 2014-04-04 03:57:21 UTC
Created attachment 882502 [details]
audio zip file

I attached audio folder, please unzip it.

Below is detail to update the audio.py with audio.patch:
[root@localhost ~]# cd /usr/share/hwcert/tests/audio
[root@localhost audio]# ls -l
total 24
-rwxr-xr-x. 1 root root 2590 Apr  3 11:12 audio.patch
-rwxr-xr-x. 1 root root 4568 Apr  4 08:13 audio.py
-rw-r--r--. 2 root root 4088 Nov  7 20:13 audio.pyc
-rw-r--r--. 2 root root 4088 Nov  7 20:13 audio.pyo
-rw-r--r--. 1 root root  590 Nov  7 20:13 Makefile
[root@localhost audio]# patch -p1 < audio.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/tests/audio/audio.py b/tests/audio/audio.py
|index 6d3c7dc..53137fa 100644
|--- a/tests/audio/audio.py
|+++ b/tests/audio/audio.py
--------------------------
File to patch: /usr/share/hwcert/tests/audio/audio.py
patching file /usr/share/hwcert/tests/audio/audio.py
Hunk #2 FAILED at 105.
Hunk #3 FAILED at 116.
2 out of 3 hunks FAILED -- saving rejects to file /usr/share/hwcert/tests/audio/audio.py.rej
You have new mail in /var/spool/mail/root
[root@localhost audio]# rm audio.patch
rm: remove regular file `audio.patch'? y
[root@localhost audio]# ls -l
total 32
-rwxr-xr-x. 1 root root 5389 Apr  4 08:27 audio.py
-rw-r--r--. 2 root root 4088 Nov  7 20:13 audio.pyc
-rw-r--r--. 2 root root 4088 Nov  7 20:13 audio.pyo
-rwxr-xr-x. 1 root root 4568 Apr  4 08:13 audio.py.orig
-rw-r--r--. 1 root root 1314 Apr  4 08:27 audio.py.rej
-rw-r--r--. 1 root root  590 Nov  7 20:13 Makefile
[root@localhost audio]#

Comment 36 Greg Nichols 2014-04-04 12:23:31 UTC
Created attachment 882667 [details]
patched audio.py test file

Comment 37 Greg Nichols 2014-04-04 12:25:54 UTC
I've attached the patched audio.py file - please replace /usr/share/hwcert/tests/audio/audio.py with it, and attach the results.

Thanks!

Comment 38 bhesha 2014-04-08 01:20:33 UTC
Created attachment 883814 [details]
try with new py file

It still has the issue with the new py file

Comment 39 bhesha 2014-04-08 06:33:24 UTC
------- Additional Comments from Rob Landry <rlandry> 
Just to confirm, does audio play via hdmi normally using the gui test 
interface? 

>>We have two machines, one is Haswell chipset(8086:0c0c (rev 06)), the other is Haswell ULT chipset(8086:0a0c (rev 0b)), they have different failure as below:

On Haswell chipset (8086:0c0c (rev 06)), the audio is played normally with gui, but run aplay command failed
On Haswell ULT chipset (8086:0a0c (rev 0b)), the audio cannot be played normally with gui, and run aplay command failed too.

And we had delivered the same HWcert sample to you on March, would you please check with them?
    Shipped on SHIPMENT_DATE 03/05/2014
    Via Fedex tracking number 798123882221 
    to
    Hardware Certification
    Red Hat
    314 Littleton Road
    Westford, MA 01886

Comment 40 Yunlong Xue 2014-04-08 09:42:05 UTC
Hi bhesha,

Would you please provide me with output of "aplay -l" and "aplay -L"?

Comment 41 Greg Nichols 2014-04-08 13:17:24 UTC
Relevant section of the log from attachment 883814 [details]:

This test plays a sound sample and records it to another file.
Please use the Volume Control application and insure that the 
Capture settings will record the sound.
Continue? (y|n) response: y
starting recording while playing demo sound
aplay /usr/share/sounds/alsa/Front_Right.wav -D plug:hdmi:0,1
Error: aplay command failed

Comment 42 bhesha 2014-04-09 01:48:00 UTC
Please check below:

[root@localhost ~]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[root@localhost ~]# aplay -L
default
    Default
hdmi:CARD=MID,DEV=0
    HDA Intel MID, HDMI 0
    HDMI Audio Output
hdmi:CARD=MID,DEV=1
    HDA Intel MID, HDMI 1
    HDMI Audio Output
hdmi:CARD=MID,DEV=2
    HDA Intel MID, HDMI 2
    HDMI Audio Output
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    Front speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC283 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
[root@localhost ~]#

Comment 43 Yunlong Xue 2014-04-10 05:50:58 UTC
Hi bhesha,

Thank you for the info

Now please try following 3 commands and let us know if sound can be heard via HDMI port:


aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav 
aplay -D plughw:0,7 /usr/share/sounds/alsa/Front_Center.wav 
aplay -D plughw:0,8 /usr/share/sounds/alsa/Front_Center.wav 

Please let me know if you already provided results for these commands

Comment 44 bhesha 2014-04-10 06:18:31 UTC
Hi Yunlong,

Please see below results:
Haswell and Haswell ULT Chipsets has different results:

aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav works on Haswell chipset

aplay -D plughw:0,7 /usr/share/sounds/alsa/Front_Center.wav works on Haswell ULT chipset

Comment 45 Yunlong Xue 2014-04-11 02:44:00 UTC
Hi bhesha,

Thank you very much, it very helps

Would you please let us know if you tested this command on errata?
If yes, could you please retry on No errata ?

Comment 46 bhesha 2014-04-11 03:04:15 UTC
Hi Yunlong,

Thank you for support.

We use kernel version v2.6.32-431.el6.x86_64 to do the check. So I don't think it has errata. Is it right?

Comment 48 Yunlong Xue 2014-04-11 05:59:16 UTC
Hi bhesha,

Yes, it is GA kernel without errata, I will check with Greg and Jaroslav

Comment 52 Greg Nichols 2014-04-11 15:23:54 UTC
Created attachment 885464 [details]
output of alsa-info.sh --no-upload

Comment 54 Greg Nichols 2014-04-13 16:45:44 UTC
Created attachment 885895 [details]
revised audio.py test using amixer to determine device number

This revised test also will not attempt to record sound if amixer does not indicate capture support.

Comment 55 Greg Nichols 2014-04-13 16:47:05 UTC
Please try the revised test.

Thanks!

Comment 56 bhesha 2014-04-14 07:20:21 UTC
Created attachment 886040 [details]
Haswell chipset result

The new file works on Haswell ULT chipset and make the HDMI audio test pass.
However, the issue remains on Haswell chipset,could you please check it on Haswell chipset?

Comment 57 bhesha 2014-04-14 07:21:58 UTC
Created attachment 886041 [details]
Haswell ULT chipset result

Comment 58 bhesha 2014-04-22 08:44:00 UTC
Hi Greg,

Is any update of the issue?

Comment 59 bhesha 2014-07-31 06:45:29 UTC
Hi Jianwei,

I update status as below:

HDMI issue:
After I updated the packages as the errata said, the HDMI output function works well, however, the HWcert tool still reports same failure. So could you please check it in your side with the machine?


SD card issue:
As I installed DUP, the SD card function is normally. However, it seems the HWcert tool dose not work with the DUP. We don't find any test case of SD card and System information test report failure of the DUP. So could you please check it in your side with the machine too?

We have to get pass HWcert before end of August. So please help to check these two issues ASAP!

Comment 64 errata-xmlrpc 2014-08-20 08:09:08 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1079.html