[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: