Bug#613670: linux-image-2.6.32-bpo.5-686: EDID checksum failure kills X while switched away using KVM switch
severity 613670 wishlist
quit
Julien Cristau wrote:
> On Tue, Aug 30, 2011 at 01:43:15 -0500, Jonathan Nieder wrote:
>> Conrad Hughes wrote:
>>> [drm:edid_is_valid] *ERROR* Raw EDID:
>>> <3>00 ff ff ff ff ff ff 00 ff ff ff ff ff ff ff ff
>>> <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[...]
>> I wonder if
>> the change v2.6.35-rc1~18^2~2 (drm/edid: Allow non-fatal checksum
>> errors in CEA blocks, 2010-05-25[1]) would help here.
>
> That seems unlikely, the error above suggests the EDID is pretty much
> all ones in the main block, not just in CEA extension blocks.
Thanks for a sanity check. I read the "raw_edid[0] != 0x02" test
backwards (and should have spent the time to think about or look up
what a CEA extension block is) --- sloppy.
As you say, the EDID is completely bogus: all ones excent for the EDID
header. The bad EDID lasts for at least 0.8 seconds, so the driver
can't just wait for it to get replaced by a good one. So the question
becomes, why is this KVM switch doing that, and can the user provide
some information to override it somehow?
I don't see any code to override the EDID or silence the messages,
neither in the intel driver nor the general DRM code, but it would be
easy to add as a private patch (see drivers/gpu/drm/drm_edid.c).
Do you have any way of identifying this KVM switch to learn more about
it (e.g., brand and model number)?
Cheers,
Jonathan
Reply to: