Sample Header Ad - 728x90

How to set bytes of EDID on a i2c device

4 votes
2 answers
2674 views
I have a monitor LG E2251 (monitor [details](https://www.lg.com/uk/monitors/lg-E2251VR-led-monitor)) . My computer was connected to the monitor via DVI-I cable; after the power supply broke, the display went black. I rebooted the system and all seemed ok. I pass the POST as usual, however I cannot see the GUI nor CLI when connected with DVI-I. I believe the EDID code for DVI-I has been corrupted. I also tried with other 2 connections: whether HDMI doesn't present any damge,I get the following message for DVI-I
nouveau 0000:01:00.0: DRM: VRAM: 1024 MiB
[    9.292129] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    9.292133] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    9.292135] nouveau 0000:01:00.0: DRM: DCB version 4.0
[    9.292137] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000302 00020030
[    9.292139] nouveau 0000:01:00.0: DRM: DCB outp 01: 02000300 00000000
[    9.292141] nouveau 0000:01:00.0: DRM: DCB outp 02: 02011362 00020010
[    9.292143] nouveau 0000:01:00.0: DRM: DCB outp 03: 01022310 00000000
[    9.292145] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001030
[    9.292146] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
[    9.292148] nouveau 0000:01:00.0: DRM: DCB conn 02: 00000200
[    9.296293] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    9.296294] [drm] Driver supports precise vblank timestamp query.
[    9.309393] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
 [drm:drm_edid_block_valid [drm]] *ERROR* EDID checksum is invalid, remainder is 185
[    9.449801] nouveau 0000:01:00.0: DVI-I-1: EDID block 0 invalid.
[    9.449803] nouveau 0000:01:00.0: DRM: DDC responded, but no EDID for DVI-I-1
[    9.470675] nouveau 0000:01:00.0: No connectors reported connected with modes
[    9.470678] [drm] Cannot find any crtc or sizes - going 1024x768
[    9.472105] nouveau 0000:01:00.0: DRM: allocated 1024x768 fb: 0x70000, bo ffff9d41b8eafc00
[    9.472196] fbcon: nouveaufb (fb0) is primary device
[    9.474979] Console: switching to colour frame buffer device 128x48
[    9.476170] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    9.508021] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
and a similar one for VGA
[drm:drm_edid_block_valid [drm]] *ERROR* EDID checksum is invalid, remainder is 198
[   95.783329] nouveau 0000:01:00.0: VGA-1: EDID block 0 invalid.
[   95.783331] nouveau 0000:01:00.0: DRM: DDC responded, but no EDID for VGA-1
# MY APPROACH - installed i2c-tools on my debian machine. - found i2c-1 to be my DVI interface - with i2cdump -y 1 0x50 I can dump the EDID code. ## i2cset However, when I want to set a block of bytes with i2cset -y 1 0x50 0x00 0x00 0xff i EDID does not change. **How can I correct those EDID?** Is there a fast solution in the UserSpace, without assembly programming? I say I'm new to EDID, nouveau driver, I2C or SMBus communication. Any advice and correction is appreciated. It looks like I could send BLOCKs of bytes on that I2C BUS i2cdetect -F 1:
Functionalities implemented by /dev/i2c-1:
I2C Block Write                  yes
I2C Block Read                   yes
...
but I don't know what's wrong. ### LINKS + [wikipedia/EDID](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data) + [read EDID](https://unix.stackexchange.com/q/7763/354095) + [i2cget](https://stackoverflow.com/q/44550692/11368129) + [i2cset](https://stackoverflow.com/q/50556657/11368129)
Asked by pathox (41 rep)
May 22, 2019, 11:14 AM
Last activity: Jul 6, 2024, 12:07 AM