Bug 61921
Summary: | no audio via HDMI on Shuttle PC XS35GS V3L | ||
---|---|---|---|
Product: | Drivers | Reporter: | Olaf Hering (olaf) |
Component: | Sound(ALSA) | Assignee: | Jaroslav Kysela (perex) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | anssi.hannula, mervinb, superquad.vortex2, thomas.langkamp, tiwai |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.11, 3.12-rc2 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: |
dmesg-3.12.0-rc1-shuttle-audio-00275-gc43a385-dirty.txt
config-3.12.0-rc1-shuttle-audio-00275-gc43a385-dirty.txt edit.txt RFC patch to support ATI/AMD audio alsa-info.hdmi-lower.txt alsa-info.hdmi-upper.txt |
Description
Olaf Hering
2013-09-23 13:20:42 UTC
Created attachment 109291 [details]
config-3.12.0-rc1-shuttle-audio-00275-gc43a385-dirty.txt
did your graphic driver get EDID from your HDMI receiver/TV ? seen the graphic driver cannot pass valid eld to audio driver 7.819655] ALSA hda_intel.c:1670 0000:01:00.1: codec #0 probed OK [ 7.819665] ALSA hda_intel.c:1791 0000:01:00.1: Enable sync_write for stable communication [ 7.820369] ALSA patch_hdmi.c:1304 HDMI status: Codec=0 Pin=3 Presence_Detect=1 ELD_Valid=1 [ 7.820449] ALSA hda_eld.c:334 HDMI: ELD buf size is 0, force 128 [ 7.822054] ALSA hda_eld.c:351 HDMI: invalid ELD data byte 0 (In reply to Raymond from comment #2) > did your graphic driver get EDID from your HDMI receiver/TV ? Maybe, I think the Xorg.0.log has EDID data. (In reply to Olaf Hering from comment #3) > (In reply to Raymond from comment #2) > > did your graphic driver get EDID from your HDMI receiver/TV ? > > Maybe, I think the Xorg.0.log has EDID data. root@shuttle:/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0 # find /sys/ -name edid -print0 | xargs --verbose -0n1 xxd -a xxd -a /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card0/card0-HDMI-A-1/edid 0000000: 00ff ffff ffff ff00 05e3 6022 0a01 0000 ..........`".... 0000010: 0d17 0103 8030 1b78 2a2e d5a2 554c 9d26 .....0.x*...UL.& 0000020: 1250 54bf ef00 d1c0 b300 9500 8180 8140 .PT............@ 0000030: 81c0 0101 0101 023a 8018 7138 2d40 582c .......:..q8-@X, 0000040: 4500 dd0c 1100 001e 0000 00fd 0032 4c1e E............2L. 0000050: 5311 000a 2020 2020 2020 0000 00fc 0032 S... .....2 0000060: 3236 3057 0a20 2020 2020 2020 0000 00ff 260W. .... 0000070: 0041 5150 4433 3941 3030 3032 3636 0115 .AQPD39A000266.. 0000080: 0203 1ef1 4b05 1410 1f04 1303 1202 1101 ....K........... 0000090: 2309 0701 8301 0000 6503 0c00 1000 8c0a #.......e....... 00000a0: d08a 20e0 2d10 103e 9600 dd0c 1100 0018 .. .-..>........ 00000b0: 011d 0072 51d0 1e20 6e28 5500 dd0c 1100 ...rQ.. n(U..... 00000c0: 001e 8c0a d08a 20e0 2d10 103e 9600 dd0c ...... .-..>.... 00000d0: 1100 0018 8c0a d090 2040 3120 0c40 5500 ........ @1 .@U. 00000e0: dd0c 1100 0018 0000 0000 0000 0000 0000 ................ 00000f0: 0000 0000 0000 0000 0000 0000 0000 004b ...............K xxd -a /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0/drm/card0/card0-VGA-1/edid root@shuttle:/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0 # Created attachment 109391 [details]
edit.txt
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 05 e3 60 22 0a 01 00 00 0d 17
version: 01 03
basic params: 80 30 1b 78 2a
chroma info: 2e d5 a2 55 4c 9d 26 12 50 54
established: bf ef 00
standard: d1 c0 b3 00 95 00 81 80 81 40 81 c0 01 01 01 01
descriptor 1: 02 3a 80 18 71 38 2d 40 58 2c 45 00 dd 0c 11 00 00 1e
descriptor 2: 00 00 00 fd 00 32 4c 1e 53 11 00 0a 20 20 20 20 20 20
descriptor 3: 00 00 00 fc 00 32 32 36 30 57 0a 20 20 20 20 20 20 20
descriptor 4: 00 00 00 ff 00 41 51 50 44 33 39 41 30 30 30 32 36 36
extensions: 01
checksum: 15
Manufacturer: AOC Model 2260 Serial Number 266
Made week 13 of 2013
EDID version: 1.3
Digital display
Maximum image size: 48 cm x 27 cm
Gamma: 2.20
DPMS levels: Off
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
First detailed timing is preferred timing
Established timings supported:
720x400@70Hz
640x480@60Hz
640x480@67Hz
640x480@72Hz
640x480@75Hz
800x600@56Hz
800x600@60Hz
800x600@72Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@70Hz
1024x768@75Hz
1280x1024@75Hz
Standard timings supported:
1920x1080@60Hz
1680x1050@60Hz
1440x900@60Hz
1280x1024@60Hz
1280x960@60Hz
1280x720@60Hz
Detailed mode: Clock 148.500 MHz, 477 mm x 268 mm
1920 2008 2052 2200 hborder 0
1080 1084 1089 1125 vborder 0
+hsync +vsync
Monitor ranges (GTF): 50-76Hz V, 30-83kHz H, max dotclock 170MHz
Monitor name: 2260W
Serial number: AQPD39A000266
Has 1 extension blocks
Checksum: 0x15 (valid)
CEA extension block
Extension version: 3
26 bytes of CEA data
Video data block
VIC 04 1920x1080i@60Hz
VIC 19 1440x576i@50Hz
VIC 15 720x576@50Hz
VIC 30 1920x1080@24Hz
VIC 03 1280x720@60Hz
VIC 18 1920x1080i@50Hz
VIC 02 720x480@60Hz
VIC 17 1280x720@50Hz
VIC 01 720x480@60Hz
VIC 16 720x576@50Hz
Audio data block
Linear PCM, max channels 1
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 24 20 16
Speaker allocation data block
Vendor-specific data block, OUI 000c03 (HDMI)
Source physical address 1.0.0.0
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 27.000 MHz, 477 mm x 268 mm
720 736 798 858 hborder 0
480 489 495 525 vborder 0
-hsync -vsync
Detailed mode: Clock 74.250 MHz, 477 mm x 268 mm
1280 1390 1430 1650 hborder 0
720 725 730 750 vborder 0
+hsync +vsync
Detailed mode: Clock 27.000 MHz, 477 mm x 268 mm
720 736 798 858 hborder 0
480 489 495 525 vborder 0
-hsync -vsync
Detailed mode: Clock 27.000 MHz, 477 mm x 268 mm
720 732 796 864 hborder 0
576 581 586 625 vborder 0
-hsync -vsync
Checksum: 0x4b (valid)
Did you pass audio=1 option to radeon driver? Otherwise the HDMI/DP audio is disabled as default in the graphics driver side. Yes, its the default. ... [ 2.978061] [drm] ring test on 5 succeeded in 2 usecs [ 2.978080] [drm] UVD initialized successfully. [ 2.978808] [drm] Enabling audio 0 support [ 2.978939] [drm] ib test on ring 0 succeeded in 0 usecs [ 2.979058] [drm] ib test on ring 3 succeeded in 0 usecs ... ==> /sys/module/radeon/parameters/agpmode <== 0 ==> /sys/module/radeon/parameters/aspm <== -1 ==> /sys/module/radeon/parameters/audio <== 1 ==> /sys/module/radeon/parameters/benchmark <== 0 ==> /sys/module/radeon/parameters/connector_table <== 0 ==> /sys/module/radeon/parameters/disp_priority <== 0 ==> /sys/module/radeon/parameters/dpm <== -1 ==> /sys/module/radeon/parameters/dynclks <== -1 ==> /sys/module/radeon/parameters/fastfb <== 0 ==> /sys/module/radeon/parameters/gartsize <== 1024 ==> /sys/module/radeon/parameters/hw_i2c <== 0 ==> /sys/module/radeon/parameters/lockup_timeout <== 10000 ==> /sys/module/radeon/parameters/modeset <== 1 ==> /sys/module/radeon/parameters/msi <== -1 ==> /sys/module/radeon/parameters/no_wb <== 0 ==> /sys/module/radeon/parameters/pcie_gen2 <== -1 ==> /sys/module/radeon/parameters/r4xx_atom <== 0 ==> /sys/module/radeon/parameters/test <== 0 ==> /sys/module/radeon/parameters/tv <== 1 ==> /sys/module/radeon/parameters/vramlimit <== 0 OK, then try the patch below. And make sure that you test with the secondary HDMI device. Your machine have two HDMI outputs, one from Atom and one from AMD graphics. The default one is assigned to the Atom, which is likely dead in practice. Created attachment 109681 [details]
RFC patch to support ATI/AMD audio
Also, please give alsa-info.sh output, too. Run it with --no-upload and attach the output to bugzilla. Created attachment 109701 [details]
alsa-info.hdmi-lower.txt
the lower HDMI port is the one that provides data. This is the alsa-info output when the cable is connected to this port.
Created attachment 109711 [details]
alsa-info.hdmi-upper.txt
The upper port, the Shuttle came with a dummy plug to disable this port. No signal is provided on this port. This is the alsa-info output when the cable is connected anyway to this port.
Did the patch work? If not, please describe how you tested. The output device for the AMD should be "hdmi:1", not the default HDMI. (In reply to Takashi Iwai from comment #14) > Did the patch work? If not, please describe how you tested. The output > device for the AMD should be "hdmi:1", not the default HDMI. I have tried the various settings in the gnome3 sound control panel. Its not clear how to use aplay -D, from the aplay -L or -l output is not obvious what syntax -D expects. + aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: 92HD87B1/3 Analog [92HD87B1/3 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 + aplay -L null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server default:CARD=Intel HDA Intel, 92HD87B1/3 Analog Default Audio Device sysdefault:CARD=Intel HDA Intel, 92HD87B1/3 Analog Default Audio Device front:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog Front speakers surround40:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=Intel,DEV=0 HDA Intel, 92HD87B1/3 Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers hdmi:CARD=Intel,DEV=0 HDA Intel, HDMI 0 HDMI Audio Output hdmi:CARD=Generic,DEV=0 HD-Audio Generic, HDMI 0 HDMI Audio Output Without PulseAudio, you can try like aplay -Dhdmi:1 -vv foo.wav hdmi:1 is equivalent with hdmi:CARD=Generic,DEV=0 in the above. With PA, it should be configured via gnome volume dialog or PA preference dialog. You must have multiple outputs in Hardware and Output tabs there. no audio is played with this command: aplay -Dhdmi:1 -vv /usr/share/sounds/alsa/test.wav Playing WAVE '/usr/share/sounds/alsa/test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Hooks PCM Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 16384 period_size : 4096 period_time : 92879 tstamp_mode : NONE period_step : 1 avail_min : 4096 period_event : 0 start_threshold : 16384 stop_threshold : 16384 silence_threshold: 0 silence_size : 0 boundary : 4611686018427387904 Slave: Hardware PCM card 1 'HD-Audio Generic' device 3 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 16384 period_size : 4096 period_time : 92879 tstamp_mode : NONE period_step : 1 avail_min : 4096 period_event : 0 start_threshold : 16384 stop_threshold : 16384 silence_threshold: 0 silence_size : 0 boundary : 4611686018427387904 appl_ptr : 0 hw_ptr : 0 # + | 02% seem audio driver still cannot get ELD from graphic driver http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/hda/hda_eld.c are there any error message in system log ? state.Generic { control.1 { iface CARD name 'HDMI/DP,pcm=3 Jack' value true comment { access read type BOOLEAN count 1 } } control.6 { iface PCM device 3 name ELD value '' comment { access 'read volatile' type BYTES count 0 } } (In reply to Raymond from comment #18) > seem audio driver still cannot get ELD from graphic driver > > http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/ > hda/hda_eld.c > > are there any error message in system log ? What messages should should be there, what should I look for? FWIW, I have experienced what seems like idetical problem with hdmi audio moving from 3.10 to 3.11 on Arch Linux. System: Dell Studio 15 (HD3450/RV620) $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: 92HD73C1X5 Analog [92HD73C1X5 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 The problem occurred precisely on upgrade from 3.10 kernel to 3.11. My grub command line includes "..rw quiet radeon.audio=1" Please let me know if any additional info will be useful. Stereo audio should work fine on ATI/AMD even without my RFC patch attached by Takashi. And missing ELD is expected in that case, it does not affect stereo audio playback. Olaf, with radeon driver you need to currently pass kernel option "radeon.audio=1" to actually get HDMI audio. Please try that. Mervin, your issue looks like it could be fixed by http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=58d327da9721f7a0f6e46c8dfa5cc5546fd7078a . @Anssi - thanks for the link to Alex's fix. I'll look out for it in future kernel updates and report on the results. I have tested 3.11.4, which includes the patch for HDMI audio. Unfortunately it does not address the issue. Just to be sure I rebooted with 3.10.14LTS, and the audio issue immediately disappeared. Mervin, OK. Could you report a separate bug since that is likely unrelated to Olaf's issue (you have a much older card and it is a confirmed regression), with component Video(DRI - non Intel)? Alternatively you can report it at https://bugs.freedesktop.org/enter_bug.cgi?product=DRI (component DRM/Radeon). Thanks. @Anssi: thanks again. I've found a report for a bug on arch linux, same graphics family, same symptoms - https://bugs.freedesktop.org/show_bug.cgi?id=69729. I will track the progress. It appears Alex has found the bug and a patch will be coming to a newer version of 3.11 stable. Well, the fix mentioned there is what Anssi pointed in comment 21, so it must have been already merged in 3.11.4. Please test whether 3.12-rc4 works. If it works, something else is missing. In that case, please join to the freebsd bugzilla thread and report there. radeon.audio= is already 1 in 3.12. Nothing helped so far in my testing. Takashi, I can bring the system to your office if you want. Could you test 3.10 kernel, in order to confirm whether it's a known regression or not? (I'll be traveling in the next week, BTW.) I initially thought that the issue remained with 3.12-rc5. On reading the thread on bug#69728, I noted the comment
> In 3.12 you can enable audio on the fly with xrandr. E.g.,
>
> xrandr --output HDMI-0 --set audio auto
In fact, it seems to me that you need to enable audio this way, rather than the boot option radeon.audio=1. I did not get hdmi audio with 3.12-rc5 until the xrandr command was executed.
For me (Dell Studio 15 / Radeon HD3450), the issue is fixed with 3.12-rc5. I haven't tried the latest 3.11 release because the system feels *so* much faster (graphics and i/o) on 3.12!!!
(In reply to Mervin Beng from comment #29) > I initially thought that the issue remained with 3.12-rc5. On reading the > thread on bug#69728, I noted the comment > > > In 3.12 you can enable audio on the fly with xrandr. E.g., > > > > xrandr --output HDMI-0 --set audio auto This helps, with 3.12-rc3. Why isnt that done by default? With the changes made to the radeon driver between 3.12-rc6 and -rc7 my HDMI audio works, after changing from analog output to HDMI in GNOME control panel. BUT, I must add options radeon audio=1 to one of the modprobe.conf files. I wonder how distros are supposed to support such setup. For distro, we can put audio=1 option in /etc/modprobe.d/*, I guess. This is set off as default just because some old corner cases, AFAIK. I just upgraded from kernel 3.7.9+fglrx to 3.12 final+mesa/radeon-drivers from git on my AMD Fusion E-350, OpenSUSE 13.1 RC2 system. Sound is gone completely, however dmesg and kmix say that sound is played / activated: dmesg | grep audio [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.12.0-3-desktop root=UUID=172ac2d8-b994-4611-b523-1ad921303bfa resume=/dev/disk/by-id/ata-M4-CT128M4SSD2_000000001130031527B5-part1 splash=silent quiet showopts radeon.dpm=1 radeon.audio=1 [ 4.694352] [drm] Enabling audio 0 support here info from alsainfo: http://www.alsa-project.org/db/?f=11...155729763280d8 Strange thing is that kmix shows that something is played when I hit the testsound-buttons, but it can´t be heard. Same with xbmc where pulse-audio is disabled and alsa used directly - no sound. I already tried kernel 3.11.6 and purging pulse-audio - nothing helps! Sound is gone completely! On my other system (HD 7950) sound works over spdif with the same suse package versions. Can´t test HDMI there. Strange there is, that ONLY source-games have no sound, while on my E-350 system - as said - sound is completely gone. Is this related or should I file a new bug? after purging pulse, then reinstalling it and opening pavucontrol the master volume was muted, while this is NOT shown in kmix, there is no master slider like in pavucontrol. So maybe a kmix feature missing. Now I have sound, but not in flash/firefox.... rest however works... So, the sound driver problem seems fixed in the upstream. Let's close the bug. The rest, the default radeon.audio option, is a different story. If you find it still a bug, please open another bug report. |