Re: PATCH: fixup EDID for slightly broken monitors

From: Jean Delvare
Date: Fri Jul 16 2004 - 09:15:32 EST

Hi Brian,

What about fixing your screen instead of hacking fbcon's code?

If your EDID is held by an unprotected EEPROM, you should be able to
write to it using the i2cset tool [1] found in the lm_sensors package
[2]. Never tried that myself but I would definitely try that before
attempting to hack every piece of software which tries to read the EDID
data (framebuffer console, X, lm_sensors etc...).

How to proceed:

1* Make sure you enabled the I2C option of the radeonfb driver. I assume
you already did or I guess you wouldn't be able to access the EDID, at

2* Find out where you EDID is. The radeonfb driver exposes 4 i2c busses,
out of which you really use only one (unless your screen has 2 inputs,
like mine has). Tool of choice here is i2cdetect [3]. Run with -l to
list the busses, then with a bus number to show the chips on that bus.
EDID will always show at 0x50.

3* Dump your EDID using "i2cdump <bus number> 0x50" [4]. I suggest that
you keep this preciously in case things turn bad.

4* Fix the broken bytes using i2cset <bus number> 0x50 <offset> <value>.
If I read you correctly, you need to do that twice, once with offset=0
and value=0, and once with offset=1 and value=0xff.

Of course I'm not liable if it breaks anything, never had to do that
myself, but my knowledge of the topic make me believe that it could work
(providing the supporting EEPROM is not write-protected, of course).

Shall it work, it looks like a nicer solution than your patch, with all
due respect.

Good luck.


Jean "Khali" Delvare
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at