Bug 23842

Summary: [Q965] 2.6.31-rc5: No monitor detected on DVI1 (SDVO without EDID) with KMS
Product: DRI Reporter: Sebastien Caty <sebastien.caty>
Component: DRM/IntelAssignee: ykzhao <yakui.zhao>
Status: CLOSED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: critical    
Priority: high CC: markusheinz, michael.fu, mpower
Version: unspecifiedKeywords: patch, regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
All log from 2.6.31-KMS
none
All log from 2.6.31-UMS
none
All log from 2.6.31-rc4
none
issue the correct SDVO DDC switch command
none
Log output
none
use the DDC3 to see whether the EDID can be obtained
none
Xorg log output in debug mode
none
dmesg drm debug output
none
try the updated debug patch
none
output from dmesg and dmidecode
none
try the debug patch, which skips the edid check in course of SDVO detection
none
dmesg output with drm.debug
none
try the debug patch which deletes the strict EDID check
none
output from dmesg and xrandr
none
[Patch 1/2] try the patch that reads the response after issue the DDC switch command
none
[Patch 2/2] try another two possible ddc bus for the SDVO device with multiple outputs
none
dmesg output with drm.debug enabled
none
dmesg output with drm.debug
none
Output of dmesg none

Description Sebastien Caty 2009-09-10 08:42:34 UTC
Since kernel 2.6.31-rc5 no monitor is detected on DVI1 even if it's the only port in use (VGA1 works properly). I can force it on with xrandr but it still shows up as being disconnected and so the output gets rather garbled in KDE4.

This is still happening with 2.6.31 final. Last known good kernel is 2.6.31-rc4. If I disable KMS, a monitor is detected correctly on TMDS-1 and another one on VGA. With KMS/2.6.31 DVI1 isn't working.

Display controller: Intel Corporation 82Q963/Q965 Integrated Graphics Controller (rev 02)

Running Debian Testing/Squeeze
xserver-xorg-video-intel              2:2.8.1-1
xserver-xorg                          1:7.4+4
xserver-xorg-core                     2:1.6.3-1
Comment 1 ykzhao 2009-09-10 18:57:38 UTC
Will you please add the boot option of "drm.debug=15" and attach the output of dmesg/Xorg.0.log?

Will you please double check whether it can work well under UMS mode by adding the boot option of "i915.modeset=0"? Please add the modedebug option in xorg.conf and attach the Xorg.0.log.

Will you please also attach the following outputs?
   a. dmidecode
   b. vbios.dump
   c. lspci -vxxx
   
The vbios.dump can be obtained by using the following commands:
   echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
   cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.dump
   echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom

Thanks.


Comment 2 Michael Fu 2009-09-10 19:13:12 UTC
interesting.. looks there is no diff in drivers/gpu/drm/ that touch generic drm or i915 intel module...
Comment 3 Sebastien Caty 2009-09-11 08:36:04 UTC
Created attachment 29416 [details]
All log from 2.6.31-KMS
Comment 4 Sebastien Caty 2009-09-11 08:36:50 UTC
Created attachment 29417 [details]
All log from 2.6.31-UMS
Comment 5 Sebastien Caty 2009-09-11 08:37:12 UTC
Created attachment 29418 [details]
All log from 2.6.31-rc4
Comment 6 Sebastien Caty 2009-09-11 08:40:42 UTC
(In reply to comment #1)
> Will you please add the boot option of "drm.debug=15" and attach the output of
> dmesg/Xorg.0.log?
> 
> Will you please double check whether it can work well under UMS mode by adding
> the boot option of "i915.modeset=0"? Please add the modedebug option in
> xorg.conf and attach the Xorg.0.log.
> 
> Will you please also attach the following outputs?
>    a. dmidecode
>    b. vbios.dump
>    c. lspci -vxxx
> 
> The vbios.dump can be obtained by using the following commands:
>    echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
>    cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.dump
>    echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom
> 
> Thanks.
> 

Sent all the info you asked for. Let me know if there's something else you need.

2.6.31-KMS = no good
2.6.31-UMS = good
2.6.31-rc4 with KMS = good
Comment 7 ykzhao 2009-09-15 01:38:53 UTC
Created attachment 29551 [details] [review]
issue the correct SDVO DDC switch command

Will you please try the debug patch on the latest intel-graphics driver and see whether the issue still exists?
   Please do the test under UMS mode and attach the output of Xorg.0.log.

Thanks.
Comment 8 ykzhao 2009-09-15 02:14:55 UTC
HI, Sebastien
    Will you please confirm whether the windows can work well on your box? Can the monitor on DVI be detected correctly? Can you get the EDID for it?
    Will you please provide more hardware info about your box?
       a. SDVO card type
       b. the monitor type on DVI
       c. how many monitors are connected on your box?
 
Thanks.
Comment 9 Sebastien Caty 2009-09-15 08:46:04 UTC
(In reply to comment #8)
> HI, Sebastien
>     Will you please confirm whether the windows can work well on your box? Can
> the monitor on DVI be detected correctly? Can you get the EDID for it?
>     Will you please provide more hardware info about your box?
>        a. SDVO card type
>        b. the monitor type on DVI
>        c. how many monitors are connected on your box?
> 
> Thanks.
> 

Hi,

It seems the monitor isn't detected all that well on the DVI port. I cannot get EDID information at all. If I plug the same monitor on the VGA port, EDID information is returned properly.

Problematic box is a Lenovo ThinkCenter Model 8808-VNA
SDVO is a PCIe Lenovo card with a Conexant chip on it
I use 2 monitor, 1 LCD LG Flatron on VGA, 1 LCD ViewSonic on DVI
Comment 10 Sebastien Caty 2009-09-15 08:49:06 UTC
Created attachment 29567 [details]
Log output

Applied the patch to driver version 2.8.1, didn't help. Nothing broke either.
Comment 11 Michael Fu 2009-09-15 15:52:55 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > HI, Sebastien
> >     Will you please confirm whether the windows can work well on your box? Can
> > the monitor on DVI be detected correctly? Can you get the EDID for it?
> >     Will you please provide more hardware info about your box?
> >        a. SDVO card type
> >        b. the monitor type on DVI
> >        c. how many monitors are connected on your box?
> > 
> > Thanks.
> > 
> 
> Hi,
> 
> It seems the monitor isn't detected all that well on the DVI port. I cannot get
> EDID information at all. If I plug the same monitor on the VGA port, EDID
> information is returned properly.
> 
> Problematic box is a Lenovo ThinkCenter Model 8808-VNA
> SDVO is a PCIe Lenovo card with a Conexant chip on it
> I use 2 monitor, 1 LCD LG Flatron on VGA, 1 LCD ViewSonic on DVI
> 

how many output ports can you see on the PCIe card? you mentioned one DVI connector, are there any others?

Comment 12 Sebastien Caty 2009-09-16 06:40:55 UTC
Only one DVI on the card, the VGA port is on the motherboard itself.

> how many output ports can you see on the PCIe card? you mentioned one DVI
> connector, are there any others?
 

Comment 13 Sebastien Caty 2009-09-28 08:19:45 UTC
Hi,

tested with xserver-xorg-core 1.6.4 and xserver-xorg-video-intel 2.8.99.902-1 with the same previous kernel. No change. Also tested with kernel 2.6.32-rc1, no change either. DVI doesn't detect a monitor.
Comment 14 ykzhao 2009-10-08 20:46:58 UTC
Created attachment 30193 [details] [review]
use the DDC3 to see whether the EDID can be obtained

Will you please try the debug patch in UMS mode and attach the output of Xorg.0.log?
Thanks.
Comment 15 ykzhao 2009-10-12 09:04:48 UTC
Please also try the debug patch in
https://bugs.freedesktop.org/show_bug.cgi?id=24282#C12 on Eric's drm-intel-next
tree and attach the output of dmesg.(the system should be booted with KMS
enabled).

thanks.
Comment 16 Sebastien Caty 2009-10-13 08:05:51 UTC
Created attachment 30344 [details]
Xorg log output in debug mode

Tried the patch with intel 2.9.0 and kernel 2.6.31 UMS mode. Still can get an EDID. Here's the log.
Comment 17 Sebastien Caty 2009-10-13 10:08:06 UTC
(In reply to comment #16)
> Created an attachment (id=30344) [details]
> Xorg log output in debug mode
> 
> Tried the patch with intel 2.9.0 and kernel 2.6.31 UMS mode. Still can get an
> EDID. Here's the log.
> 

erm...I meant to say I still can't get EDID
Comment 18 Sebastien Caty 2009-10-13 10:11:33 UTC
Created attachment 30350 [details]
dmesg drm debug output

GIT isn't working here (firewall) so I'll get it at home and test it later. I don't know if this can help but I applied the patch you mentionned on kernel 2.6.32-rc4 with i915.modeset=1 and drm.debug=0x06. This is the dmesg output.
Comment 19 ykzhao 2009-10-13 22:39:18 UTC
Created attachment 30371 [details] [review]
try the updated debug patch

Will you please try the updated debug patch and attach the output of dmesg?
Please add the boot option of "drm.debug=0x6".

Will you please also attach the output of dmidecode?
Thanks.
Comment 20 Sebastien Caty 2009-10-14 09:53:20 UTC
Created attachment 30407 [details]
output from dmesg and dmidecode

Hi,

applied the new patch to kernel 2.6.32-rc4 and added drm.debug=0x6
Comment 21 ykzhao 2009-10-15 20:07:59 UTC
Created attachment 30465 [details] [review]
try the debug patch, which skips the edid check in course of SDVO detection

Will you please try the debug patch and see whether the external monitor is detected?

But it is noted that no EDID can be obtained from the external monitor by using the different DDC1/DDC2/DDC3. The i915 driver will add some default modes that visible part is less than 800x600. In such case the UMS/KMS will get the different display mode for the same DVI-D monitor.

Thanks.
Comment 22 Sebastien Caty 2009-10-16 08:02:17 UTC
Applied the patch, no monitor detected on DVI1.

> Created an attachment (id=30465) [details]
> try the debug patch, which skips the edid check in course of SDVO detection
> 
> Will you please try the debug patch and see whether the external monitor is
> detected?
> 
> But it is noted that no EDID can be obtained from the external monitor by using
> the different DDC1/DDC2/DDC3. The i915 driver will add some default modes that
> visible part is less than 800x600. In such case the UMS/KMS will get the
> different display mode for the same DVI-D monitor.
> 
> Thanks.
> 

Comment 23 ykzhao 2009-10-17 16:58:23 UTC
Will you please double check whether the patch is applied correctly?
Please add the boot option of "drm.debug=0x06" and attach the output of dmesg.
thanks.
Comment 24 Sebastien Caty 2009-10-19 10:56:21 UTC
Created attachment 30563 [details]
dmesg output with drm.debug

Hello,

I re-applied the patch on a fresh kernel and also returned to a clean driver (2.9.0). It's working now in KMS mode (UMS is no go). Must have screwed up something last friday, sorry.

However, the colors in KDE looks like I'm high on LSD now. This is rather new (does this without the patch).
Comment 25 ykzhao 2009-10-19 20:22:23 UTC
In fact the main issue on your box is that we can't get the EDID from the external dvi-monitor. It means that we don't know what display mode is supported by the monitor. In such case we will add some default modes which is not greater than 800x600.

thanks.


Comment 26 ykzhao 2009-10-21 22:52:12 UTC
Created attachment 30613 [details] [review]
try the debug patch which deletes the strict EDID check

Will you please try the debug patch on the latest upstream kernel and see whether the issue still exists?
thanks.
Comment 27 Sebastien Caty 2009-10-22 12:04:39 UTC
Created attachment 30629 [details]
output from dmesg and xrandr

Applied the patch to 2.6.32-rc5, looks good. DVI is connected with several default resolution.
Comment 28 Mike Power 2009-11-12 12:16:19 UTC
I am also having this problem with a ThinkCentre.

I came to this bug from a ubuntu bug https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/475756 

Should I apply this patch to my system or wait for a production kernel.  Is this fixed and if it is when is it expected to go into the main line kernel?  

I do not know the difference between KMS and UMS I assume they are Kernel Mode ??? and User Mode ???.  
Comment 30 Mike Power 2009-12-01 20:20:35 UTC
I would be interested in trying that code.  What kernel version is the patch against?
Comment 31 Sebastien Caty 2009-12-02 10:44:14 UTC
Hi Eric,

tried your patch against 2.6.32-rc8 but it won't compile properly.

drivers/gpu/drm/i915/intel_i2c.c: In function ‘intel_i2c_reset_gmbus’:
drivers/gpu/drm/i915/intel_i2c.c:129: error: ‘gt’ undeclared (first use in this function)
drivers/gpu/drm/i915/intel_i2c.c:129: error: (Each undeclared identifier is reported only once
drivers/gpu/drm/i915/intel_i2c.c:129: error: for each function it appears in.)
drivers/gpu/drm/i915/intel_i2c.c:129: error: ‘dev_private’ undeclared (first use in this function)

gcc version 4.3.4 (Debian 4.3.4-6)

Am I missing something? Got another kernel I should try?
Comment 32 Sebastien Caty 2009-12-02 10:47:12 UTC
> I do not know the difference between KMS and UMS I assume they are Kernel Mode
> ??? and User Mode ???.  

Yep, Kernel Mode Setting and User Mode Setting. It does what the name says. KMS is the new way of doing things.
Comment 33 ykzhao 2009-12-15 08:10:27 UTC
Created attachment 32084 [details] [review]
[Patch 1/2] try the patch that reads the response after issue the DDC switch command
Comment 34 ykzhao 2009-12-15 08:11:22 UTC
Created attachment 32085 [details] [review]
[Patch 2/2] try another two possible ddc bus for the SDVO device with multiple outputs
Comment 35 ykzhao 2009-12-15 08:13:38 UTC
Does someone have an opportunity to try the patches in comment #33/34 on the latest kernel and see whether the monitor can be detected on DVI?
Please add the boot option of "drm.debug=0x06" and attach the output of dmesg.

Thanks.
Comment 36 Sebastien Caty 2009-12-15 08:23:11 UTC
Yep, I'm patching kernel 2.6.32. I'll post the result later today.
Comment 37 Sebastien Caty 2009-12-15 11:04:18 UTC
Created attachment 32093 [details]
dmesg output with drm.debug enabled

Hi,

tried both patches. No monitor was detected with either patch (from comment 33 and 34). KMS was enabled in all cases.
Comment 38 Sebastien Caty 2009-12-15 11:26:16 UTC
Created attachment 32094 [details]
dmesg output with drm.debug

Oops, spoke too soon!

With both patches applied, a monitor is detected properly. Currently running in X with both display enabled fine.
Comment 39 Michael Fu 2010-01-10 22:37:47 UTC
*** Bug 25980 has been marked as a duplicate of this bug. ***
Comment 40 Markus Heinz 2010-01-11 11:16:48 UTC
I have successfully tried the two patches from 
http://lists.freedesktop.org/archives/intel-gfx/2010-January/005362.html and http://lists.freedesktop.org/archives/intel-gfx/2010-January/005363.html 
against a Linux 2.6.32.3 kernel and they resolved the issue that no monitor had been detected before.

For my hardware specs see https://bugs.freedesktop.org/show_bug.cgi?id=25980.

Comment 41 ykzhao 2010-01-13 22:40:05 UTC
Now the corresponding patch is already shipped in Eric's for-linus tree.
   >commit 6a304caf0bf9c429fc261f260b86cabf5bde2cbb
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Fri Jan 8 10:58:19 2010 +0800

    drm/i915: Read the response after issuing DDC bus switch command
  
   > commit 7c3f0a2726fed78e0e0afe3b6fc3c1f5b298e447
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Fri Jan 8 10:58:20 2010 +0800

    drm/i915: try another possible DDC bus for the SDVO device with multiple outputs

So this bug will be marked as resolved.

thanks.
Comment 42 Julien Cristau 2010-01-14 01:49:30 UTC
> --- Comment #41 from ykzhao <yakui.zhao@intel.com>  2010-01-13 22:40:05 PST ---
> Now the corresponding patch is already shipped in Eric's for-linus tree.

Are they being sent to stable@kernel.org?  If not, should they?

Thanks,
Julien
Comment 43 ykzhao 2010-01-24 19:46:22 UTC
(In reply to comment #42)
> > --- Comment #41 from ykzhao <yakui.zhao@intel.com>  2010-01-13 22:40:05 PST ---
> > Now the corresponding patch is already shipped in Eric's for-linus tree.
> 
> Are they being sent to stable@kernel.org?  If not, should they?

Thanks for the reminder.
Now the patch is already sent to stable@kernel.org. But we will have to wait for some time before it hits the 2.6.32.x stable kernel.

thanks.
   Yakui
> 
> Thanks,
> Julien
> 

Comment 44 Mike Power 2010-02-24 14:17:28 UTC
Do you know if this has made it into Kernel 2.6.32-10.  I am failing to verify the fix on Ubuntu (http://cdimage.ubuntu.com/releases/lucid/alpha-2/lucid-netbook-i386.iso) 

uname -a 
Linux ubuntu 2.6.32-10-generic #14-Ubuntu SMP Thu Jan 7 17:38:40 UTC 2010 i686 GNU/Linux
Comment 45 Julien Cristau 2010-02-24 14:55:27 UTC
> --- Comment #44 from Mike Power <mpower@alumni.calpoly.edu>  2010-02-24 14:17:28 PST ---
> Do you know if this has made it into Kernel 2.6.32-10.  I am failing to verify
> the fix on Ubuntu
> (http://cdimage.ubuntu.com/releases/lucid/alpha-2/lucid-netbook-i386.iso) 
> 
> uname -a 
> Linux ubuntu 2.6.32-10-generic #14-Ubuntu SMP Thu Jan 7 17:38:40 UTC 2010 i686
> GNU/Linux
> 
You'd probably need to try alpha3 when that's published, this is too old.
Comment 46 ykzhao 2010-04-27 21:39:42 UTC
Hi, Sebastien
    
Will you please try the 2.6.33 kernel and attach the output of dmesg with the boot option of "drm.debug=0x04"?
Comment 47 ykzhao 2010-04-27 21:44:46 UTC
Hi, Sebastien
     From the Xorg.0.log in comment #4 it seems that sometimes it will return the following response when issuing the SDVO command of GET_ATTACHED_DISPLAYS in UMS mode.
     >(II) intel(0): SDVOB: W: 0B   (SDVO_CMD_GET_ATTACHED_DISPLAYS)
     >(II) intel(0): SDVOB: R: 03 85                   (Success)

     Will you please try the 2.6.33 kernel and attach the output of dmesg with the boot option of "drm.debug=0x04"? (Please boot the system with KMS enabled). I want to confirm whether the issue also exists in KMS mode.

thanks.
   Yakui
Comment 48 Sebastien Caty 2010-04-28 07:42:55 UTC
Created attachment 35321 [details]
Output of dmesg

Hi,

this is the ouput you asked, kernel 2.6.33 with drm.debug

Sebastien
Comment 49 Jari Tahvanainen 2016-12-13 08:41:25 UTC
Closing really old resolved+fixed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.