[alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
bencoxdev at gmail.com
bencoxdev at gmail.com
Thu Dec 4 11:55:17 CET 2014
Hi Guys,
Thank you for your input it's much appreciated.
I have now produced the pulse audio log as suggested and it appears that
when an attempt to open the Digital Surround 5.1 device, it fails with a
"No such file or directory" error. Here is a snippet of the log showing the
error.
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Looking at profile output:iec958-ac3-surround-51
( 0.456| 0.000) D: [pulseaudio] alsa-mixer.c: Checking for playback on Digital Surround 5.1 (IEC958/AC3) (iec958-ac3-surround-51)
( 0.456| 0.000) D: [pulseaudio] alsa-util.c: Trying a52:1 with SND_PCM_NO_AUTO_FORMAT ...
( 0.456| 0.000) I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM a52:1
( 0.456| 0.000) I: [pulseaudio] alsa-util.c: Error opening PCM device a52:1: No such file or directory
So I guess the next question is what is responsible for producing the
required device?
TIA
-----------------------------------------------------------------------------
Regards
Ben
From: Alexander E. Patrakov
Sent: Wednesday, December 03, 2014 7:58 AM
To: David Henningsson ; bencoxdev at gmail.com ; ALSA Mailing list
Subject: Re: [alsa-devel] Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
03.12.2014 12:34, David Henningsson wrote:
>
>
> On 2014-12-02 16:28, bencoxdev at gmail.com wrote:
>> Hi All,
>> I have an Intel HDA compatible device that supports 5.1 digital
>> audio output over HDMI. It reports two nodes and two widgets:-
>>
>> Root(0)
>> |
>> AFG(1)
>> / \
>> / \
>> / \
>> Audio output(2) Pin Complex(3)
>>
>> This setup produces a “Digital Stereo (HDMI) Output” device at user
>> level in the operating system.
>>
>> The codec reports its self to the operating system as follows
>> (from /proc/asound/card0/codec#1)
>> --------------------------------------------------------------------
>> AFG Function Id: 0x1 (unsol 1)
>> No Modem Function Group found
>> Default PCM:
>> rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
>> bits [0xe]: 16 20 24
>> formats [0x1]: PCM
>> Default Amp-In caps: N/A
>> Default Amp-Out caps: N/A
>> GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
>> --------------------------------------------------------------------
>> Node 0x02 [Audio Output] wcaps 0x201: Stereo Digital
>> Device: name="S3 HDMI 1", type="Audio", device=0
>> Converter: stream=0, channel=0
>> Digital:
>> Digital category: 0x0
>> --------------------------------------------------------------------
>> Node 0x03 [Pin Complex] wcaps 0x400381: Stereo Digital
>> Pincap 0x00000090: OUT HDMI
>> Pin Default 0x185650f0: [Jack] Digital Out at Int HDMI
>> Conn = Digital, Color = Red
>> DefAssociation = 0xf, Sequence = 0x0
>> Pin-ctls: 0x40: OUT
>> Unsolicited: tag=00, enabled=0
>> Connection: 1
>> 0x02
>> --------------------------------------------------------------------
>>
>> the ELD from the receiving device is:-
>>
>> monitor_present 1
>> eld_valid 1
>> monitor_name EP-HDMI-RX
>> connection_type HDMI
>> eld_version [0x2] CEA-861D or below
>> edid_version [0x3] CEA-861-B, C or D
>> manufacture_id 0x1017
>> product_id 0x901
>> port_id 0x0
>> support_hdcp 0
>> support_ai 1
>> audio_sync_delay 0
>> speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
>>
>> sad_count 2
>>
>> sad0_coding_type [0x2] AC-3
>> sad0_channels 6
>> sad0_rates [0xe0] 32000 44100 48000
>> sad0_max_bitrate 640000
>>
>> sad1_coding_type [0x7] DTS
>> sad1_channels 7
>> sad1_rates [0xc0] 44100 48000
>> sad1_max_bitrate 1536000
>>
>>
>> Does anyone know what changes would be required to this setup in
>> order for the device to be recognised as
>> “Digital Surround 5.1 (HDMI) Output”
>> by alsa?
>
> You're confusing ALSA and PulseAudio a bit here; I think you should
> first try to get a PulseAudio verbose log (
> https://wiki.ubuntu.com/PulseAudio/Log ), look for when it tries to open
> hdmi:0,1 in surround 5.1 version and see if you can find errors. Those
> errors might still be ALSA errors though, and come from alsa-lib.
To add: if your HDMI audio controller was, in fact, made by AMD, then
PulseAudio 5.0 will not even try to open it in 5.1 mode. This bug has
been fixed in 6.0-rc1. You can try creating new udev rules if you don't
want to upgrade. There is a line in /lib/udev/rules.d/90-pulseaudio.rules:
/lib/udev/rules.d/90-pulseaudio.rules:ATTRS{vendor}=="0x8086",
ENV{PULSE_PROFILE_SET}="extra-hdmi.conf"
All you need to do is to figure out the vendor ID (from lspci -nn) and
write a similar line to /etc/udev/rules.d/91-my-pulseaudio.rules , then
run "udevadm trigger" and possibly logout and login again. Or reboot.
However, the upstream fix was to remove the "extra-hdmi.conf" file
completely and merge all profiles contained there to the default set.
--
Alexander E. Patrakov
More information about the Alsa-devel
mailing list