Bug 60131 - [ivb dp/hdmi] Problem with detecting HDMI plugging/unplugging (Samsung TV, Intel card)
Summary: [ivb dp/hdmi] Problem with detecting HDMI plugging/unplugging (Samsung TV, In...
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Antti Koskipaa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-25 21:21 UTC by Robert Gonciarz
Modified: 2014-05-15 15:38 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.9.7
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg_hdmi_off (50.79 KB, application/octet-stream)
2013-06-27 22:23 UTC, Robert Gonciarz
Details
dmesg_hdmi_on (50.79 KB, text/plain)
2013-06-27 22:25 UTC, Robert Gonciarz
Details
dmesg_dp_off (52.23 KB, application/octet-stream)
2013-06-27 22:25 UTC, Robert Gonciarz
Details
dmesg_dp_on (51.62 KB, text/plain)
2013-06-27 22:26 UTC, Robert Gonciarz
Details
Kernel's config (123.96 KB, text/plain)
2013-06-27 22:27 UTC, Robert Gonciarz
Details
dmesg_3.1.10_0_hdmioff_dp0off (70.40 KB, application/octet-stream)
2013-07-20 21:18 UTC, Robert Gonciarz
Details
dmesg_3.1.10_1_hdmion_dp0off (83.59 KB, application/octet-stream)
2013-07-20 21:18 UTC, Robert Gonciarz
Details
dmesg_3.1.10_2_hdmioff_dp0off (83.59 KB, application/octet-stream)
2013-07-20 21:18 UTC, Robert Gonciarz
Details
dmesg_3.1.10_3_hdmioff_dp0on (84.89 KB, application/octet-stream)
2013-07-20 21:19 UTC, Robert Gonciarz
Details
dmesg_3.2.0-3-amd64_0_hdmioff_dp0off (85.23 KB, text/plain)
2013-07-20 21:19 UTC, Robert Gonciarz
Details
dmesg_3.2.0-3-amd64_1_hdmion_dp0off (85.23 KB, application/octet-stream)
2013-07-20 21:20 UTC, Robert Gonciarz
Details
dmesg_3.2.0-3-amd64_2_hdmioff_dp0off (85.23 KB, application/octet-stream)
2013-07-20 21:20 UTC, Robert Gonciarz
Details
dmesg_3.2.0-3-amd64_3_hdmioff_dp0on (86.52 KB, application/octet-stream)
2013-07-20 21:20 UTC, Robert Gonciarz
Details
3.12.0-rc4_0_hdmioff_dp0off (56.12 KB, text/plain)
2013-10-14 18:33 UTC, Robert Gonciarz
Details
3.12.0-rc4_1_hdmion_dp0off (56.12 KB, text/plain)
2013-10-14 18:34 UTC, Robert Gonciarz
Details
3.12.0-rc4_2_hdmioff_dp0off (56.12 KB, text/plain)
2013-10-14 18:34 UTC, Robert Gonciarz
Details
3.12.0-rc4_3_hdmioff_dp0on (56.12 KB, text/plain)
2013-10-14 18:35 UTC, Robert Gonciarz
Details

Description Robert Gonciarz 2013-06-25 21:21:51 UTC
Hi,

I have a problem with plugging my Monitor/TV (Samsung SyncMaster T260HD) to my Debian media server through HDMI / Display Port.
When I plug in either HDMI cable directly or DisplayPort adapter (+ the same HDMI cable) to my motherboard, 
then system doesn't seem to register any udev event. D-SUB/VGA works fine.

I've checked that using the following command:
udevadm monitor

I've also checked xrandr (from VNC server):

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)

and checked the drm modulu's status directly:
cat /sys/class/drm/card0-HDMI-A-1/status
cat /sys/class/drm/card0-HDMI-A-2/status

neither HDMI nor DP doesn't work.

I was able to connect my TV and multimedia server about a 1-1.5 year ago using the same configuration and it was successfully discovered.
It just stopped working after a system upgrade (sorry I can't tell you exactly the certain time).
I used to have Debian Wheezy (at that time it was Debian testing disto). Then I migrated to Debian testing again (jessie).
But anyway, I'm sure that this hardware is able to detect my monitor connected by HDMI cable.

More over, I've connected the same monitor and HDMI cable with different pair of devices and operating system:
- Laptop1 (Core i5 + Nvidia1 card) + Display Port adapter + Arch Linux
- Laptop2 (Core i5 + Nvidia2 card) + Ubuntu12.10/Windows7
and everything works fine. So I assume it's not a monitor/TV or cable/adapter issue.

When I connect Monitor to server using D-SUB (VGA) port, then everything works fine (including booting process).
I've tried to connect the HDMI cable together with D-SUB during the boot time, but that didn't help.

After booting with D-SUB/VGA cable connected, and activating VNC, then disconnecting D-SUB and connecting HDMI
I've noticed that xrander shows some extra model lines even though it didn't report any device connected to VGA/HDMI/DP port.

I was so desperate to solve this problem that I even flash my mainboard, because I've seen some changes around HDMI in the bios changelog.
That didn't solve the problem

I fought I may force graphic card to see connected monitor like for Nvidia card:
from xorg.conf:

Option         "ConnectedMonitor" "DP1"
Option         "CustomEDID" "DP1:/etc/X11/edid.bin"
Option         "IgnoreEDID" "false"
Option         "UseEDID" "true"

but these options don't work with intel driver. But anyway I've dumped edid file.
I've noticed that there is an option in the DRM (DRM_LOAD_EDID_FIRMWARE) to force using EDID data from file, but I don't think that may be the good path.

Then I updated the kernel to the newest one (3.9.7) (with more or less the default debian configuration) but that also didn't helped.

My contact in Samsung told me that he isn't expert in this matter, but it might be a problem with managing power on HDMI output.
He wasn't sure on which side. Monitor can't send me any EDID response after connecting power supply.
As he remembers the source of power has to deliver 5V and 50mA on 18th Pin to the monitor.
Then monitor returns with signal of high state on HPD (19th pin) and after that sends EDID.

He guesses that monitor requires higher current strength than chipset is able to deliver.
TV doesn't leave sleep state, HPD and EDID is silent.

He mentioned also that sometimes after switching TV/monitor to HDMI signal, HPD's pin is set to high state 
which cause that graphic card can leave sleep state.

In my case I always connected TV/monitor after switching it to HDMI signal as it is the same for other laptops I tested.

The Debian distro blocks me here a little bit. 
I prefer Debian for professional server solutions but except sid (unstable) release it offers very old packages. 
Though it might be very difficult for me to upgrade xorg, libdrm, mesa, etc. versions, but I may always switch the kernel.

Below you may find some information about my configuration.
If you need any more information please do not hesitate to contact me.

Best regards
Robert 


uname -a
Linux smithy 3.9.7 #1 SMP Sat Jun 22 22:04:11 CEST 2013 x86_64 GNU/Linux (now it's the newest stable one)

lsb_release -a
Distributor ID: Debian
Description:    Debian GNU/Linux testing (jessie)
Release:        testing
Codename:       jessie

lshw -C display
  *-display
       description: VGA compatible controller
       product: 2nd Generation Core Processor Family Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:52 memory:fb800000-fbbfffff memory:e0000000-efffffff ioport:ff00(size=64)

lspci -nnk | grep -iA2 vga
00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
        Kernel driver in use: i915


dmidecode -t 1
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Gigabyte Technology Co., Ltd.
        Product Name: H67MA-UD2H-B3
        Version:
        Serial Number:
        UUID: 00000000-0000-0000-0000-1C6F65D503D0
        Wake-up Type: Power Switch
        SKU Number:
        Family:

cat /var/log/Xorg.0.log | grep -e WW -e EE | grep -v '(II)'
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   387.576] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   387.576] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[   387.576] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[   387.576] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[   387.576] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[   387.860] (WW) intel(0): No outputs definitely connected, trying again...
[   387.860] (WW) intel(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[   387.902] (WW) evdev: Logitech USB Receiver: ignoring absolute axes.


cat /etc/default/grub | grep LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Comment 1 Daniel Vetter 2013-06-26 09:41:13 UTC
A few questions:
- With some quick googling it sounds like your board has both a HDMI and a DP port. Do both ports not work?
- Please boot with drm.debug=0xe added to your kernel cmdline, attach the screens once the system has booted and then grab the complete dmesg and attach it to this bug.
- Can you please test the latest drm-intel-nightly branch from http://cgit.freedesktop.org/~danvet/drm-intel/ to check that we haven't fixed this bug already?
Comment 2 Daniel Vetter 2013-06-26 09:41:57 UTC
One more: You're saying hotplug detection worked before, so this is a regression, right?
Comment 3 Robert Gonciarz 2013-06-26 19:26:19 UTC
Hi Daniel,

I'm sure HDMI was working correctly, but I don't remember if I have ever checked hotplugging.
So I'm not sure if it's better to rename the subject because even if I boot with HDMI already plugged, xserver shows it can't detect any screen.


On Wed, 26 Jun 2013 09:41:57 +0000 (UTC)
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=60131
> 
> 
> Daniel Vetter <daniel@ffwll.ch> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>          Regression|No                          |Yes
> 
> 
> 
> 
> --- Comment #2 from Daniel Vetter <daniel@ffwll.ch>  2013-06-26 09:41:57 ---
> One more: You're saying hotplug detection worked before, so this is a
> regression, right?
>
Comment 4 Robert Gonciarz 2013-06-27 22:23:44 UTC
Created attachment 106171 [details]
dmesg_hdmi_off
Comment 5 Robert Gonciarz 2013-06-27 22:25:01 UTC
Created attachment 106181 [details]
dmesg_hdmi_on
Comment 6 Robert Gonciarz 2013-06-27 22:25:25 UTC
Created attachment 106191 [details]
dmesg_dp_off
Comment 7 Robert Gonciarz 2013-06-27 22:26:00 UTC
Created attachment 106201 [details]
dmesg_dp_on
Comment 8 Robert Gonciarz 2013-06-27 22:27:49 UTC
Created attachment 106211 [details]
Kernel's config
Comment 9 Robert Gonciarz 2013-06-27 22:35:28 UTC
Hi,
I've checked out the sources from the repo
git clone git://people.freedesktop.org/~danvet/drm-intel -b drm-intel-nightly
that's the revision: f3478bb (Date: Thu Jun 27 13:30:41 2013 +0200)

Then I copied my .config file into kernel source 
make menuconfig
fakeroot make-kpkg -j4 --initrd kernel_image kernel_headers
dpkg -i ../*deb

Set cmdline in /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet drm.debug=0xe"

update-grub
reboot

after boot:

uname -a
Linux smithy 3.10.0-rc7+ #1 SMP Thu Jun 27 20:07:42 CEST 2013 x86_64 GNU/Linux

cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-rc7+ root=UUID=1acb149f-252a-4c38-a0f5-81fc4d3d2b66 ro quiet drm.debug=0xe

Then I did the following sequence:
0. Turned on Monitor and set the mode for HDMI1 + connected HDMI cable
1. plugged HDMI cable
2. dmesg -l debug > dmesg_hdmi_on
3. unplagged HDMI cable
4. dmesg -l debug > dmesg_hdmi_off
5. plugged DP adapter/cable
6. dmesg -l debug > dmesg_dp_on
7. unplagged DP adapter/cable
8. dmesg -l debug > dmesg_dp_off

The files should be in the attachments.

If you still need more info, please let me know.
Best regards
Robert
Comment 10 Robert Gonciarz 2013-06-27 22:39:02 UTC
I forgot to add. Yes this mainboard has 3 graphic ports: VGA/D-SUB, HDMI and DP.
I've checked udevadm monitor before and after plugging/unplugging HDMI/DP cable.
And I haven't seen any new info.

It looks like dmesg registered something when I shuffled with DP.

R.
Comment 11 Robert Gonciarz 2013-07-02 11:43:40 UTC
Hi Daniel
is there any other info that I may provide for you?
Best regards
R.
Comment 12 Daniel Vetter 2013-07-16 06:59:35 UTC
Can you please digg out a dmesg with drm.debug=0xe set from an old working kernel? Afaics for the first port we simply don't get any hotplug interrupts and for the 2nd one the device doesn't really seem to exists ...
Comment 13 Robert Gonciarz 2013-07-20 21:17:39 UTC
Hi,

1. The problem is I don't remember exactly which kernel was used when monitor was properly recognized by HDMI/DP. I've checked several kernels (from official kernel.org and using debian's one.) and none of them was working:
- vmlinuz-2.6.39.4
- vmlinuz-3.1.10
- vmlinuz-3.2.0-3-amd64
- vmlinuz-3.2.48 (?)

2. But I've discovered a difference in dmesg output when plugging/unplugging hdmi cable if we compare 3.1.10 and 3.2.0-3-amd64 (debian's) kernels.

Scenario is the same as previously:
0. Setup TV (hdmi) and boot the system + dmesg
1. plug hdmi + dmesg
2. unplug hdmi + dmesg
3. plug dp + dmesg
4. unplug dp + dmesg

#Size output
72089 dmesg_3.1.10_0_hdmioff_dp0off
85601 dmesg_3.1.10_1_hdmion_dp0off
85601 dmesg_3.1.10_2_hdmioff_dp0off
86926 dmesg_3.1.10_3_hdmioff_dp0on

87276 dmesg_3.2.0-3-amd64_0_hdmioff_dp0off
87276 dmesg_3.2.0-3-amd64_1_hdmion_dp0off
87276 dmesg_3.2.0-3-amd64_2_hdmioff_dp0off
88601 dmesg_3.2.0-3-amd64_3_hdmioff_dp0on
Comment 14 Robert Gonciarz 2013-07-20 21:18:13 UTC
Created attachment 106966 [details]
dmesg_3.1.10_0_hdmioff_dp0off
Comment 15 Robert Gonciarz 2013-07-20 21:18:37 UTC
Created attachment 106967 [details]
dmesg_3.1.10_1_hdmion_dp0off
Comment 16 Robert Gonciarz 2013-07-20 21:18:58 UTC
Created attachment 106968 [details]
dmesg_3.1.10_2_hdmioff_dp0off
Comment 17 Robert Gonciarz 2013-07-20 21:19:18 UTC
Created attachment 106969 [details]
dmesg_3.1.10_3_hdmioff_dp0on
Comment 18 Robert Gonciarz 2013-07-20 21:19:53 UTC
Created attachment 106970 [details]
dmesg_3.2.0-3-amd64_0_hdmioff_dp0off
Comment 19 Robert Gonciarz 2013-07-20 21:20:14 UTC
Created attachment 106971 [details]
dmesg_3.2.0-3-amd64_1_hdmion_dp0off
Comment 20 Robert Gonciarz 2013-07-20 21:20:35 UTC
Created attachment 106972 [details]
dmesg_3.2.0-3-amd64_2_hdmioff_dp0off
Comment 21 Robert Gonciarz 2013-07-20 21:20:59 UTC
Created attachment 106973 [details]
dmesg_3.2.0-3-amd64_3_hdmioff_dp0on
Comment 22 Robert Gonciarz 2013-07-24 10:38:20 UTC
Is there anything else I may do to speed up the fixing process?
Best regards
R.
Comment 23 Jani Nikula 2013-10-09 13:51:12 UTC
(In reply to Robert Gonciarz from comment #22)
> Is there anything else I may do to speed up the fixing process?

Sorry, this bug seems to have been neglected a bit. There have been some hotplug related fixes lately though, so could you give the latest drm-intel-nightly a try, please?
Comment 24 Robert Gonciarz 2013-10-09 21:34:03 UTC
Hi, sure, no problem. Thanks for the reply. I may check the nightly changes, but I'll do that rather during the weekend. I'll also try to isolate which kernel version contains the change that has broken this bug. My server has Core i7 processor so compiling new 'eggs' shouldn't be a problem.

Hopefully I may be able to connect the monitor to my server and I also hope you may guide me how to do that properly. I believe that fixing drm is only the first step.

Honestly I was even thinking of buying Raspberry Pi to work around this issue.

Best regards
Robert
Comment 25 Robert Gonciarz 2013-10-14 18:32:22 UTC
Sorry for delay.
I've check-out the HEAD yesterday (commit b7214fceac0659d440adfa5f1acec238fb7217fc, Sun Oct 13 21:27:35 2013 +0200), built the kernel, deployed it and booted.

uname -r:
3.12.0-rc4+

but it seems that right now neither DP nor HDMI doesn't detect TV/Monitor at all.

I'll try to compare those kernel versions as well:
linux-3.2
linux-3.2.1
linux-3.2.10
linux-3.2.20
linux-3.2.30
linux-3.2.40
maybe it will be easier to limit the scope of the searching.
Comment 26 Robert Gonciarz 2013-10-14 18:33:50 UTC
Created attachment 110971 [details]
3.12.0-rc4_0_hdmioff_dp0off
Comment 27 Robert Gonciarz 2013-10-14 18:34:18 UTC
Created attachment 110981 [details]
3.12.0-rc4_1_hdmion_dp0off
Comment 28 Robert Gonciarz 2013-10-14 18:34:49 UTC
Created attachment 110991 [details]
3.12.0-rc4_2_hdmioff_dp0off
Comment 29 Robert Gonciarz 2013-10-14 18:35:22 UTC
Created attachment 111001 [details]
3.12.0-rc4_3_hdmioff_dp0on
Comment 30 Jani Nikula 2013-10-15 05:48:11 UTC
(In reply to Robert Gonciarz from comment #25)
> uname -r:
> 3.12.0-rc4+
> 
> but it seems that right now neither DP nor HDMI doesn't detect TV/Monitor at
> all.

That's correct.

I presume you've tried unplugging VGA, and plugging/unplugging DP and HDMI, at the motherboard end? With TV on.

If you boot with *only* DP or HDMI connected (unplug VGA, try both, one at a time) does the BIOS screen show up?

> I'll try to compare those kernel versions as well:
> linux-3.2
> linux-3.2.1
> linux-3.2.10
> linux-3.2.20
> linux-3.2.30
> linux-3.2.40
> maybe it will be easier to limit the scope of the searching.

In this case it might indeed be useful to find a working kernel, if you say there was one.
Comment 31 Antti Koskipaa 2014-05-12 12:32:02 UTC
Is this still happening/relevant? Marking as a non-regression because an older kernel could not be found that doesn't have this issue.
Comment 32 Daniel Vetter 2014-05-15 15:38:12 UTC
Presuming fixed with latest upstream, please reopen if that's not the case and supply the requested information.

Note You need to log in before you can comment on or make changes to this bug.