[W65_67SZ, Intel Haswell HDMI, Digital Out, HDMI] Playback problem, pavucontrol shows hdmi signal but no sound on tv

Bug #1264665 reported by trendzetter
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
alsa-driver (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

hdmi audio works with windows2go so hardware ok

I tried this suggestion but no luck (intel_iommu=on,igfx_off ):
https://bugzilla.kernel.org/show_bug.cgi?id=61471

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: alsa-base 1.0.25+dfsg-0ubuntu4
ProcVersionSignature: Ubuntu 3.11.0-15.22-generic 3.11.10
Uname: Linux 3.11.0-15-generic x86_64
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: joris 1860 F.... pulseaudio
 /dev/snd/controlC1: joris 1860 F.... pulseaudio
Date: Sat Dec 28 13:14:52 2013
InstallationDate: Installed on 2013-12-04 (23 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: alsa-driver
Symptom: audio
Symptom_AlsaPlaybackTest: ALSA playback test through plughw:MID failed
Symptom_Card: Intern geluid - HDA Intel MID
Symptom_Jack: Digital Out, HDMI
Symptom_Type: Only some of outputs are working
Title: [W65_67SZ, Intel Haswell HDMI, Digital Out, HDMI] Playback problem
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/30/2013
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1.00.01
dmi.board.asset.tag: Tag 12345
dmi.board.name: W65_67SZ
dmi.board.vendor: Notebook
dmi.board.version: Not Applicable
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 9
dmi.chassis.vendor: Notebook
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1.00.01:bd09/30/2013:svnNotebook:pnW65_67SZ:pvrNotApplicable:rvnNotebook:rnW65_67SZ:rvrNotApplicable:cvnNotebook:ct9:cvrN/A:
dmi.product.name: W65_67SZ
dmi.product.version: Not Applicable
dmi.sys.vendor: Notebook

Revision history for this message
trendzetter (trendzetter) wrote :
Revision history for this message
Raymond (superquad-vortex2) wrote :

Default sink name: alsa_output.pci-0000_00_1b.0.analog-stereo
Default source name: alsa_input.pci-0000_00_1b.0.analog-stereo

 control.7 {
  iface CARD
  name 'HDMI/DP,pcm=7 Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

 control.7 {
  iface CARD
  name 'HDMI/DP,pcm=7 Jack'
  value true
  comment {
   access read
   type BOOLEAN
   count 1
  }
 }

did you find your hdmi tv/monitor's EDID in xorg.log ?

xrandr --verbose

Revision history for this message
trendzetter (trendzetter) wrote :

When I plug in the HDMI I get this in dmesg:

[ 338.034508] HDMI: ELD buf size is 0, force 128
[ 338.034538] HDMI: invalid ELD data byte 0
[ 338.034606] HDMI: ELD buf size is 0, force 128
[ 338.034621] HDMI: invalid ELD data byte 0

xrand says:

HDMI1 connected 1920x1080+0+0 (0xcd) normal (normal left inverted right x axis y axis) 1600mm x 900mm
 Identifier: 0x46
 Timestamp: 337548
 Subpixel: unknown
 Gamma: 1.0:1.0:1.0
 Brightness: 1.0
 Clones: DP1
 CRTC: 1
 CRTCs: 0 1 2
 Transform: 1.000000 0.000000 0.000000
             0.000000 1.000000 0.000000
             0.000000 0.000000 1.000000
            filter:
 EDID:
  00ffffffffffff004dd901c901010101
  0113010380a05a780a0dc9a057479827
  12484c21080081800101010101010101
  010101010101023a801871382d40582c
  450040846300001e011d007251d01e20
  6e28550040846300001e000000fc0053
  4f4e592054560a2020202020000000fd
  00303e0e460f000a20202020202001e4
  02033570521f10202122140513041211
  03021615070601290907071507505507
  00830100006c030c0030008000c00808
  1111e20039023a80d072382d40102c45
  8040846300001e011d00bc52d01e20b8
  28554040846300001e011d8018711c16
  20582c250040846300009e011d80d072
  1c1620102c258040846300009e000081
 Broadcast RGB: Automatic
  supported: AutomaticFullLimited 16:235
 audio: auto
  supported: force-dvioffautoon

Revision history for this message
trendzetter (trendzetter) wrote :

This is what I see in my audio settings when I connect the hdmi cable and try to get sound on my tv.

Revision history for this message
Raymond (superquad-vortex2) wrote :

your HDMI TV EDID have incorrect EDID version

http://cgit.freedesktop.org/xorg/app/edid-decode/plain/edid-decode.c

Extracted contents:
header: 30 30 66 66 66 66 66 66
serial number: 66 66 66 66 66 66 30 30 34 64
version: 64 39
basic params: 30 31 63 39 30
chroma info: 31 30 31 30 31 30 31 0a 30 31
established: 31 33 30
standard: 31 30 33 38 30 61 30 35 61 37 38 30 61 30 64 63
descriptor 1: 39 61 30 35 37 34 37 39 38 32 37 0a 31 32 34 38 34 63
descriptor 2: 32 31 30 38 30 30 38 31 38 30 30 31 30 31 30 31 30 31
descriptor 3: 30 31 30 31 30 31 30 31 0a 30 31 30 31 30 31 30 31 30
descriptor 4: 31 30 31 30 32 33 61 38 30 31 38 37 31 33 38 32 64 34
extensions: 30
checksum: 35

No header found
Manufacturer: YSF Model 6666 Serial Number 808478310
EDID version: 100.57
Analog display, Input voltage level: 0.714/0.286 V
Configurable signal levels
Sync:
Maximum image size: 49 cm x 99 cm
Gamma: 1.57
DPMS levels: Off
Non-RGB color display
Established timings supported:
  640x480@60Hz
  640x480@67Hz
  800x600@60Hz
  832x624@75Hz
  1280x768@87Hz
  1024x768@75Hz
  1280x1024@75Hz
Standard timings supported:
  640x400@108Hz
  656x410@116Hz
  632x474@93Hz
  632x395@113Hz
  1024x640@115Hz
  696x435@108Hz
  1024x640@108Hz
  1048x786@95Hz
Detailed mode: Clock 248.890 MHz, 817 mm x 1074 mm
                816 872 922 2661 hborder 56
                820 855 894 3179 vborder 52
               +hsync -vsync analog composite
Detailed mode: Clock 125.940 MHz, 816 mm x 49 mm
                816 872 1688 872 hborder 49
                816 819 835 1128 vborder 48
               -hsync -vsync digital composite
Detailed mode: Clock 125.920 MHz, 817 mm x 304 mm
                816 826 1642 865 hborder 48
                817 820 821 1121 vborder 49
               -hsync -vsync digital composite
Detailed mode: Clock 123.370 MHz, 817 mm x 2099 mm
                817 865 1682 1377 hborder 50
                819 838 894 2964 vborder 100
               -hsync +vsync digital composite
Has 48 extension blocks
Checksum: 0x35 (should be 0xd6)
EDID block does not conform at all!
 Block has broken checksum
 Bad year of manufacture

Revision history for this message
trendzetter (trendzetter) wrote :

Ok. How do I fix that?

Revision history for this message
trendzetter (trendzetter) wrote :

Or does this mean either my tv or cable is faulty? It seems to me that it can't be that bad since I was able to play sound using windows2go.

Revision history for this message
Raymond (superquad-vortex2) wrote :

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/plain/sound/pci/hda/hda_eld.c

the driver need to know the capability of your hdmi tv/monitor (e.g. speakers arrangement , channels and formats , DTS, AC3, ....)

Revision history for this message
Raymond (superquad-vortex2) wrote :

 device.product.name = "Haswell HD Audio Controller"
  device.form_factor = "internal"
  device.string = "0"
  device.description = "Intern geluid"
  module-udev-detect.discovered = "1"
  device.icon_name = "audio-card-pci"
 profiles:
  output:hdmi-stereo: Digital Stereo (HDMI)-output (priority 5400, available: unknown)
  output:hdmi-surround: Digital Surround 5.1 (HDMI)-output (priority 300, available: unknown)
  output:hdmi-stereo-extra1: Digital Stereo (HDMI)-output (priority 5200, available: unknown)
  output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI)-output (priority 100, available: unknown)
  output:hdmi-stereo-extra2: Digital Stereo (HDMI)-output (priority 5200, available: unknown)
  output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI)-output (priority 100, available: unknown)
  off: Uit (priority 0, available: unknown)
 active profile: <output:hdmi-stereo-extra1>
 sinks:
  alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1/#0: Intern geluid Digital Stereo (HDMI)
 sources:
  alsa_output.pci-0000_00_03.0.hdmi-stereo-extra1.monitor/#0: Monitor of Intern geluid Digital Stereo (HDMI)
 ports:
  hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "video-display"
  hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: yes)
   properties:
    device.icon_name = "video-display"
  hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
   properties:
    device.icon_name = "video-display"

Revision history for this message
trendzetter (trendzetter) wrote :

Raymond, EDID is normally also used to determine the screenresolution but that seems to have a working baseline configuration. I also play hdmi video + audio on my older laptop with intel hdmi with the same cable and tv. It's a sony bravia kdl 32ex600. I will try to install the firmware update. I will let you know soon.

Revision history for this message
trendzetter (trendzetter) wrote :

The older laptop is also running ubuntu 13.10 btw so the only difference is the intel chipset controlling it. Both periperals and the OS is the same.

Revision history for this message
trendzetter (trendzetter) wrote :

On the old with working hdmi audio I have got this:
$ uname -a
Linux np-Aspire-5810T 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

lspci
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

Revision history for this message
trendzetter (trendzetter) wrote :

and dmesg:
[ 33.013129] input: HDA Intel HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8

Revision history for this message
trendzetter (trendzetter) wrote :

In windows I copied the EDID of the intel haswell laptop without audio over hdmi on ubuntu.
Nirsoft monitorinfoview
==================================================
Monitor Name : SONY TV
Active : No
Serial Number :
Manufacture Week : 1 / 2009
ManufacturerID : 55629 (0xD94D)
ProductID : 51457 (0xC901)
Maximum Resolution: 1920 X 1080
Image Size : 160.0 X 90.0 cm (72.3 Inch)
Maximum Image Size: 160 X 90 cm (72.3 Inch)
Horizontal Frequency: 14 - 70 KHz
Vertical Frequency: 48 - 62 Hz
Digital : Yes
Standby Mode : No
Suspend Mode : No
Low-Power Mode : No
Default GTF : No
Display Gamma : 2.20
Serial Number (Numeric): 16843009 (0x01010101)
EDID Version : 1.3
Registry Key : SNYC901\4&89ef4d4&0&UID50725632
Computer Name :
Last Update Time : 8/12/2013 5:40:11
==================================================

The EDID from the registry:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\DISPLAY\SNYC901\4&89ef4d4&0&UID50725632\Device Parameters]
"EDID"=hex:00,ff,ff,ff,ff,ff,ff,00,4d,d9,01,c9,01,01,01,01,01,13,01,03,80,a0,\
  5a,78,0a,0d,c9,a0,57,47,98,27,12,48,4c,21,08,00,81,80,01,01,01,01,01,01,01,\
  01,01,01,01,01,01,01,02,3a,80,18,71,38,2d,40,58,2c,45,00,40,84,63,00,00,1e,\
  01,1d,00,72,51,d0,1e,20,6e,28,55,00,40,84,63,00,00,1e,00,00,00,fc,00,53,4f,\
  4e,59,20,54,56,0a,20,20,20,20,20,00,00,00,fd,00,30,3e,0e,46,0f,00,0a,20,20,\
  20,20,20,20,01,e4

Revision history for this message
trendzetter (trendzetter) wrote :

I don't think the EDID is invalid:

sudo get-edid|parse-edid
parse-edid: parse-edid version 2.0.0
get-edid: get-edid version 2.0.0

 Performing real mode VBE call
 Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
 Function supported
 Call successful

 VBE version 300
 VBE string at 0xc8ffc "Intel(R) HSW Mobile/Desktop Graphics Chipset Accelerated VGA BIOS"

VBE/DDC service about to be called
 Report DDC capabilities

 Performing real mode VBE call
 Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
 Function supported
 Call successful

 Monitor and video card combination does not support DDC1 transfers
 Monitor and video card combination supports DDC2 transfers
 0 seconds per 128 byte EDID block transfer
 Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
 Read EDID

 Performing real mode VBE call
 Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
 Function supported
 Call successful

parse-edid: EDID checksum passed.

 # EDID version 1 revision 3
Section "Monitor"
 # Block type: 2:0 3:0
 # Block type: 2:0 3:fe
 # Block type: 2:0 3:fe
 Identifier "LGD:a503"
 VendorName "LGD"
 ModelName "LGD:a503"
 # Block type: 2:0 3:0
 # Block type: 2:0 3:fe
 # Block type: 2:0 3:fe
 # DPMS capabilities: Active off:no Suspend:no Standby:no

 Mode "1920x1080" # vfreq 59.939Hz, hfreq 67.132kHz
  DotClock 144.200000
  HTimings 1920 1968 2040 2148
  VTimings 1080 1083 1088 1120
  Flags "-HSync" "-VSync"
 EndMode
 # Block type: 2:0 3:0
 # Block type: 2:0 3:fe
 # Block type: 2:0 3:fe
EndSection

Revision history for this message
Raymond (superquad-vortex2) wrote :

it is the graphic driver which send request to your hdmi tv/monitor to get EDID, it extract info from EDID to ELD and pass ELD to audio driver

are you connect your TV to display port , hdmi or DVI connector ?

The file is located in /proc/asound/cardX/eld#Y.0 (where X is the card number, and Y is the device number starting from 0. So if aplay -l shows Card 0, device 3 as being the first device listed you need to check /proc/asound/card0/eld#0.0).

Revision history for this message
trendzetter (trendzetter) wrote :

With the HDMI cable connected I get this:

$ aplay -l
**** Lijst van PLAYBACK hardware-apparaten ****
kaart 0: MID [HDA Intel MID], apparaat 3: HDMI 0 [HDMI 0]
  Sub-apparaten: 1/1
  Sub-apparaat #0: subdevice #0
kaart 0: MID [HDA Intel MID], apparaat 7: HDMI 1 [HDMI 1]
  Sub-apparaten: 1/1
  Sub-apparaat #0: subdevice #0
kaart 0: MID [HDA Intel MID], apparaat 8: HDMI 2 [HDMI 2]
  Sub-apparaten: 1/1
  Sub-apparaat #0: subdevice #0
kaart 1: PCH [HDA Intel PCH], apparaat 0: VT1802 Analog [VT1802 Analog]
  Sub-apparaten: 1/1
  Sub-apparaat #0: subdevice #0
kaart 1: PCH [HDA Intel PCH], apparaat 2: VT1802 Alt Analog [VT1802 Alt Analog]
  Sub-apparaten: 1/1
  Sub-apparaat #0: subdevice #0

$ cat /proc/asound/card0/eld#0.0
monitor_present 0
eld_valid 0
$ cat /proc/asound/card0/eld#0.1
monitor_present 1
eld_valid 0
$ cat /proc/asound/card0/eld#0.2
monitor_present 0
eld_valid 0

Revision history for this message
trendzetter (trendzetter) wrote :

GOOD news!! I found a workaround that could be useful for others with the same problem as well as for finding the cause/solution.

I noticed that I do get audio over hdmi when I close the laptop with the hdmi cable connected. It then goes to sleep. When I open it the audio over hdmi magically works!

Is there any details I can post for the ubuntu devs so they can find out what causes this bizarre issue?

Revision history for this message
Raymond (superquad-vortex2) wrote :
Revision history for this message
trendzetter (trendzetter) wrote :

Raymond,

I am currently on the mainline 13.10 kernel. Should I try to install a kernel from the alsa team ppa to test if I get audio correctly all the time with the new versions?

https://launchpad.net/~ubuntu-audio-dev/+archive/alsa-daily

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in alsa-driver (Ubuntu):
status: New → Confirmed
Revision history for this message
Raymond (superquad-vortex2) wrote :

Do your other computer HDMI suppoft 8 channel LPCM or stereo ?

Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=2, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x5]: PCM AC3
  Power states: D0 D3 EPSS
  Power: setting=D0, actual=D0

Revision history for this message
Raymond (superquad-vortex2) wrote :

For digital audio, if an HDMI device supports audio, it is required to support the baseline format: stereo (uncompressed) PCM. Other formats are optional, with HDMI allowing up to 8 channels of uncompressed audio at sample sizes of 16-bit, 20-bit and 24-bit, with sample rates of 32 kHz, 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz, 176.4 kHz and 192 kHz

if your other computer only support stereo, they don't need any speaker allocation

Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Control: name="HDMI/DP,pcm=8 Jack", index=0, device=0
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Control: name="ELD", index=0, device=8
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals: [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Power states: D0 D3 EPSS
  Power: setting=D0, actual=D0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04

Revision history for this message
Raymond (superquad-vortex2) wrote :

> I noticed that I do get audio over hdmi when I close the laptop with the hdmi cable connected. It then goes to sleep. When I open it the audio over hdmi magically works!

http://mailman.alsa-project.org/pipermail/alsa-devel/2014-March/074481.html

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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