Bug 27708

Summary: [KMS] Repeated EDID errors despite everything working
Product: DRI Reporter: Lauri Kasanen <cand>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: minor    
Priority: medium CC: acelists, ps
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
KMS Xorg log
none
UMS Xorg log
none
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
none
add edid strict option none

Description Lauri Kasanen 2010-04-16 15:16:05 UTC
Created attachment 35119 [details]
dmesg

I tried KMS for the first time on a Radeon HD4350 today. UMS works fine, and Xorg doesn't complain anything about my screen's edid.

Everything works fine in KMS mode, I get full 1600x900 framebuffer, fast VT switching etc.

KMS however fills my dmesg with EDID and composite sync errors:

"composite sync not supported"

"[drm:edid_is_valid] *ERROR* EDID checksum is invalid, remainder is 170
[drm:edid_is_valid] *ERROR* Raw EDID:
<3>00 ff ff ff ff ff ff 00 04 72 9d 00 fb 28 20 90  .........r...( .
<3>02 13 01 03 68 2c 19 78 2e ee 95 a3 54 4c 43 26  ....h,.x....TLC&
<3>0f 50 54 bf ee 80 a9 c0 71 4f 81 c0 81 00 01 01  .PT.....qO......
<3>01 01 01 01 01 01 31 2e 40 00 62 84 22 30 58 a8  ......1.@.b."0X.
<3>35 00 bb f9 10 00 00 04 00 00 00 fd 00 37 4b 1e  5............7K.
<3>50 10 00 0a 20 20 20 20 20 20 00 00 00 fc 00 58  P...      .....X
<3>32 30 33 48 0a 20 20 20 20 20 20 20 00 00 00 ff  203H.       ....
<3>00 4c 46 50 30 42 30 30 39 33 39 30 30 20 00 ce  .LFP0B0093900 ..

radeon 0000:01:00.0: VGA-1: EDID invalid."

64-bit linux 2.6.33.1
Xorg 1.7.6, radeon 6.13
Comment 1 Lauri Kasanen 2010-04-16 15:16:30 UTC
Created attachment 35121 [details]
KMS Xorg log
Comment 2 Lauri Kasanen 2010-04-16 15:16:48 UTC
Created attachment 35122 [details]
UMS Xorg log
Comment 3 Lauri Kasanen 2010-04-16 15:18:31 UTC
The screen is an Acer X203H, connected via VGA.
Comment 4 Lauri Kasanen 2010-04-16 15:22:56 UTC
Created attachment 35124 [details]
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0/card0-VGA-1/edid
Comment 5 Sergej Pupykin 2011-01-01 05:03:10 UTC
I have the same issue:

Acer G225HQbd at 1920x1080:
Jan  1 01:23:12 home kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 130
Jan  1 01:23:12 home kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan  1 01:23:12 home kernel: <3>00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: 
Jan  1 01:23:12 home kernel: [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 217
Jan  1 01:23:12 home kernel: [drm:drm_edid_block_valid] *ERROR* Raw EDID:
Jan  1 01:23:12 home kernel: <3>00 ff ff ff ff ff ff 00 04 72 17 00 7e 1f 30 03  .........r..~.0.
Jan  1 01:23:12 home kernel: <3>21 14 01 03 68 30 1b 78 2e c5 85 a4 59 49 9a 24  !...h0.x....YI.$
Jan  1 01:23:12 home kernel: <3>12 50 54 bf ef 80 81 c0 81 40 71 4f 81 80 81 00  .PT......@qO....
Jan  1 01:23:12 home kernel: <3>01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c  .......:..q8-@X,
Jan  1 01:23:12 home kernel: <3>45 00 dc 0c 11 00 01 ff ff ff ff ff ff ff ff ff  E...............
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
Jan  1 01:23:12 home kernel: 
Jan  1 01:23:12 home kernel: radeon 0000:01:00.0: DVI-I-1: EDID block 0 invalid.
Jan  1 01:23:12 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID


Iliama ProLite E430S at 1280x1024:
Nov 28 10:43:46 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 10:58:04 home kernel: i2c i2c-0: readbytes: ack/nak timeout
Nov 28 10:58:04 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 11:48:00 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 11:52:12 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 12:08:21 home kernel: i2c i2c-0: readbytes: ack/nak timeout
Nov 28 12:08:21 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 12:33:54 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 13:05:31 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 13:16:47 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 13:21:30 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 13:26:52 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 14:43:34 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 14:50:18 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Nov 28 15:08:58 home kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID

Both monitors were connected through DVI->VGA connector.
Comment 6 Sergej Pupykin 2011-01-01 05:07:38 UTC
More over Acer monitor makes xrandr crazy (actually it is connected to DVI-0 through DVI->VGA at 1920x1080):

$ xrandr 
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
   2048x1536      60.0  
   1920x1440      60.0  
   1856x1392      60.0  
   1792x1344      60.0  
   1600x1200      60.0  
   1400x1050      60.0  
   1280x1024      60.0  
   1280x960       60.0  
   1024x768      120.1     60.0  
   960x720       120.0  
   928x696       120.1  
   896x672       120.0  
   800x600       120.0     60.3     56.2  
   848x480        60.0  
   700x525       120.0  
   640x512       120.0  
   640x480       120.0     59.9     59.9  
   512x384       120.0  
   400x300       120.6    112.7  
   320x240       120.1  
DIN connected (normal left inverted right x axis y axis)
   1024x768_60.00   59.9 +
   2048x1536      60.0  
   1920x1440      60.0  
   1856x1392      60.0  
   1792x1344      60.0  
   1600x1200      60.0  
   1400x1050      60.0  
   1280x1024      60.0  
   1280x960       60.0  
   1024x768      120.1     60.0     59.9  
   960x720       120.0  
   928x696       120.1  
   896x672       120.0  
   800x600       120.0     60.3     59.9     56.2  
   848x480        59.7  
   700x525       120.0  
   720x480        59.7  
   640x512       120.0  
   640x480       120.0     59.9  
   512x384       120.0  
   400x300       120.6    112.7  
   320x240       120.1  
VGA-0 disconnected (normal left inverted right x axis y axis)
  1920x1080 (0x54)  148.5MHz
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock   67.5KHz
        v: height 1080 start 1084 end 1089 total 1125           clock   60.0Hz
Comment 7 Alex Deucher 2011-01-04 15:04:07 UTC
Created attachment 41653 [details] [review]
add edid strict option

The drm EDID checker is pretty strict about what EDIDs it will accept.  Try this patch and add drm.edid_strict=0 to your kernel command line.
Comment 8 Sergej Pupykin 2011-01-05 15:52:00 UTC
(In reply to comment #7)
> The drm EDID checker is pretty strict about what EDIDs it will accept.  Try
> this patch and add drm.edid_strict=0 to your kernel command line.

It stops spamming with drm.edid_strict=0 (2.6.37+this patch)
Comment 9 aceman 2011-01-12 12:57:13 UTC
I also see this with Radeon HD 4350, kernel 2.6.36, driver 6.13.2 (and also 99), KMS. Monitor is a HP ZR24w, using DVI.

Jan 12 21:00:40 coolbox kernel: [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
Comment 10 Sergej Pupykin 2011-01-25 08:59:34 UTC
Is it any chance to add edid_strict parameter into kernel? 2.6.38rc2 still have no it.
Comment 11 Alex Deucher 2011-01-25 09:33:20 UTC
It hasn't been accepted into the kernel yet as the patch needs either better bounds checking (to make sure we don't read past the end of the edid if the size or number of extensions are wrong) or we need to set the taint flag.
Comment 12 Norm 2011-02-18 10:28:44 UTC
(In reply to comment #11)
> It hasn't been accepted into the kernel yet as the patch needs either better
> bounds checking (to make sure we don't read past the end of the edid if the
> size or number of extensions are wrong) or we need to set the taint flag.

I have similar problem on my Ubuntu box, with slightly different.
The mother board is an ECS A740GM-M v7.0, which uses AMD-740 chipset, integrated ATI Radeon 2100. The chip supports multi-head, both VGA and DVI, however, the manufacture installs VGA connector only, no DVI connector installed. 
The Radeon driver, unfortunately claim has detected a connection onto DVI-0, but with invalid EDID. But actually the board has no DVI connector at all! 
I'm not so sure whom we should to blame, the manufacture or the driver? The driver scans the connectors that the video chip supports, how happens it claim finding a connection on DVI-0? It is that because of the manufacture doesn't pull the un-installed DVI port properly then causes floating signal be recognized by the driver as a connection? 
Whatever the case, the problem is severer. Every 10 seconds, those invalid EDID complain and RAW dump into syslog, causes over 100M/day increased in related log files. Also, the system has been greatly degraded in performance. I also have seen a complain saying when an attempt of workaround tried to removing X system and leave the Linux box in text mode, and which causes all those error message been pop up into console, makes the system unmanageable.
I will suggest to increase severity to this bug, since it causes the system almost useless. 
The patch to loose EDID checksum will not be proper to my case. I would like suggest to another approaching that set a static flag in the driver and report the EDID checksum error only once, or repeatedly only when a run-time EDID error report flag has been set. Those repeated EDID error only useful for a on-site debugger and is really annoying to ordinary end user.
Comment 13 Alex Deucher 2011-02-18 10:41:26 UTC
(In reply to comment #12)
> I have similar problem on my Ubuntu box, with slightly different.
> The mother board is an ECS A740GM-M v7.0, which uses AMD-740 chipset,
> integrated ATI Radeon 2100. The chip supports multi-head, both VGA and DVI,
> however, the manufacture installs VGA connector only, no DVI connector
> installed. 

This is a different issue.  Please open a new bug for this and attach your xorg log, dmesg output, and a copy of your vbios and we can add a quirk to fix the connector tables.

To get a copy of your vbios(as root):
(use lspci to get the bus id)
cd /sys/bus/pci/devices/<pci bus id>
echo 1 > rom
cat rom > /tmp/vbios.rom
echo 0 > rom
Comment 14 Alex Deucher 2011-02-18 10:44:16 UTC
(In reply to comment #13)
> 
> This is a different issue.  Please open a new bug for this and attach your xorg
> log, dmesg output, and a copy of your vbios and we can add a quirk to fix the
> connector tables.

And a copy of the pci device/subsystem ids for your card (lspci -vnn).
Comment 15 Norm 2011-02-18 11:05:08 UTC
(In reply to comment #14)
> (In reply to comment #13)
> > 
> > This is a different issue.  Please open a new bug for this and attach your xorg
> > log, dmesg output, and a copy of your vbios and we can add a quirk to fix the
> > connector tables.
> 
> And a copy of the pci device/subsystem ids for your card (lspci -vnn).

OK. I will open a new bug against this issue.
It will take a little while for me to reproduce it, since I have temporary fix into my private kernel/module compiled. I need to reboot into the untouched Ubuntu release to reproduce the problem.
Thanks.
Comment 16 Norm 2011-02-18 13:32:28 UTC
(In reply to comment #15)
> (In reply to comment #14)
> > (In reply to comment #13)
> > > 
> > > This is a different issue.  Please open a new bug for this and attach your xorg
> > > log, dmesg output, and a copy of your vbios and we can add a quirk to fix the
> > > connector tables.
> > 
> > And a copy of the pci device/subsystem ids for your card (lspci -vnn).
> 

New bug reported as bug 34457.
Comment 17 aceman 2012-10-23 21:40:47 UTC
I haven't seen the message for a long time now.
Comment 18 Lauri Kasanen 2012-10-24 16:34:42 UTC
I don't have that screen any longer, closing.

Feel free to reopen if anyone sees this in current kernels.

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.