public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
From: "Alexander E. Patrakov" <patrakov@gmail.com>
To: David Henningsson <david.henningsson@canonical.com>,
	bencoxdev@gmail.com,
	ALSA Mailing list <alsa-devel@alsa-project.org>
Subject: Re: Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output?
Date: Wed, 03 Dec 2014 12:58:55 +0500	[thread overview]
Message-ID: <547EC2BF.3080601@gmail.com> (raw)
In-Reply-To: <547EBCFF.5030204@canonical.com>

03.12.2014 12:34, David Henningsson wrote:
>
>
> On 2014-12-02 16:28, bencoxdev@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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2014-12-03  7:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-02 15:28 Nodes, Widgets, ELD and Digital Surround 5.1 (HDMI) Output? bencoxdev
2014-12-03  7:34 ` David Henningsson
2014-12-03  7:58   ` Alexander E. Patrakov [this message]
2014-12-04 10:55     ` bencoxdev
2014-12-04 12:08       ` Raymond Yau
2014-12-04 12:34       ` Alexander E. Patrakov
2014-12-05  2:33         ` Raymond Yau
2014-12-05  9:41         ` bencoxdev
2014-12-05 10:49           ` Alexander E. Patrakov
2014-12-08 14:40             ` bencoxdev
2014-12-08 16:38               ` Alexander E. Patrakov
2014-12-08 17:42                 ` bencoxdev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=547EC2BF.3080601@gmail.com \
    --to=patrakov@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=bencoxdev@gmail.com \
    --cc=david.henningsson@canonical.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox