We're no longer updating This wiki!!

This is an old revision of the document!


How to Update VU8C EDID

Update Guide - Linux Host PC

Setup and Install Utilities

I2C driver module

Start I2C bus driver using i2c-dev module to setup interface for writing the EDID binary via HDMI DDC.
The I2C driver module can be different for Host PC specification.

$ sudo modprobe i2c-dev
Utilities

Then, install some utilities.

# sudo apt-get install i2c-tools
# sudo apt-get install python-smbus
# sudo apt-get install edid-decode
Check I2C

Using i2cdetect and i2c device nodes, all the i2c busses can be found.

$ ls /dev/i2c*
/dev/i2c-0  /dev/i2c-10  /dev/i2c-12  /dev/i2c-14  /dev/i2c-16  /dev/i2c-18  /dev/i2c-3  /dev/i2c-5  /dev/i2c-7  /dev/i2c-9
/dev/i2c-1  /dev/i2c-11  /dev/i2c-13  /dev/i2c-15  /dev/i2c-17  /dev/i2c-2   /dev/i2c-4  /dev/i2c-6  /dev/i2c-8

$ i2cdetect -l
i2c-0        unknown           i915 gmbus ssc                          N/A
i2c-1        unknown           i915 gmbus vga                          N/A
i2c-2        unknown           i915 gmbus panel                        N/A
i2c-3        unknown           i915 gmbus dpc                          N/A
i2c-4        unknown           i915 gmbus dpb                          N/A
i2c-5        unknown           i915 gmbus dpd                          N/A
i2c-6        unknown           DPDDC-B                                 N/A
....
....
i2c-18        unknown           nouveau-0000:01:00.0-29                 N/A

In my case, bus#4 is assigned to HDMI channel that is connected to VU8C.

Scan EDID bus

The command, get-edid scans potential buses that handle EDID.
The below example shows bus#2 (Main monitor) and bus#4 (Connected to VU8C).

$ sudo get-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 3
No EDID on bus 5
...
...
No EDID on bus 18
2 potential busses found: 2 4
Will scan through until the first EDID is found.
Pass a bus number as an option to this program to go only for that one.
128-byte EDID successfully retrieved from i2c bus 2
������0��#x
՞YP�&PT6��p8@0 5Y�6��p8@0 5Y��C088T�156WF1

Looks like i2c was successful. Have a good day.
Install 'edid-rw' program

To write EDID binary and read-back it, we use the utility edid-rw and edid-decode.
https://github.com/bulletmark/edid-rw

Please download source codes from the github and build it.

# git clone https://github.com/bulletmark/edid-rw
# cd edid-rw
# make

How to check EDID status

$ sudo ./edid-rw 4 | edid-decode
Extracted contents:
header:          00 ff ff ff ff ff ff 00
serial number:   21 6c 30 00 01 00 00 00 0a 14
version:         01 03
basic params:    80 10 0c 78 0a
chroma info:     cf 74 a3 57 4c b0 23 09 48 4c
established:     21 08 00
standard:        61 40 45 40 61 40 95 00 01 01 01 01 01 01 01 01
descriptor 1:    64 19 00 22 41 00 26 30 14 0a 44 00 a0 78 00 00 00 1e
descriptor 2:    64 19 80 22 41 00 26 30 14 0a 44 00 a0 78 00 00 00 9e
descriptor 3:    00 00 00 fc 00 4d 53 74 61 72 20 44 65 6d 6f 0a 20 20
descriptor 4:    00 00 00 fd 00 32 4b 1e 50 12 00 0a 20 20 20 20 20 20
extensions:      00
checksum:        50

Manufacturer: HKL Model 30 Serial Number 1
Made week 10 of 2010
EDID version: 1.3
Digital display
Maximum image size: 16 cm x 12 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
First detailed timing is preferred timing
Established timings supported:
  640x480@60Hz
  800x600@60Hz
  1024x768@60Hz
Standard timings supported:
  1024x768@60Hz
  800x600@60Hz
  1024x768@60Hz
  1440x900@60Hz
Detailed mode: Clock 65.000 MHz, 160 mm x 120 mm
               1024 1044 1054 1314 hborder 0
                768  772  776  806 vborder 0
               +hsync +vsync
Detailed mode: Clock 65.000 MHz, 160 mm x 120 mm
               1152 1172 1182 1442 hborder 0
                768  772  776  806 vborder 0
               +hsync +vsync interlaced
Monitor name: MStar Demo
  Monitor ranges: 50-75HZ vertical, 30-80kHz horizontal, max dotclock 180MHz
Checksum: 0x50

Write EDID binary

Download EDID binary for VU8C

Please refer to the following to download edid_vu8c.bin.
Download edid_vu8c.bin
or

wget http://dn.odroid.com/edid_vu8c.bin
Write EDID binary and Check result

Before writing EDID binary, please make sure the I2C device node.

This process can destroy your display or other connected hardware if run incorrectly.


The usage of edid-rw is as following.

$ edid-rw  -w  [bus no.]  < [edid binary]

In my case, the bus node to VU8C is bus#4.

$ sudo ./edid-rw -w 4 < edid_vu8c.bin 

Then, using the following commands, you can check if it's completely done.

$ sudo ./edid-rw 4 | edid-decode

Also, you can confirm it using xrandr.

$ xrandr 
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
LVDS1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080      59.9*+
...
...
   800x600        60.3     56.2  
   640x480        59.9  
DP1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected (normal left inverted right x axis y axis)
   1024x768       61.4 +   60.0  
   1440x900       59.9  
   1152x768i     111.9  
   800x600        60.3  
   640x480        60.0  
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis
en/vu8_update_edid.1481849582.txt.gz · Last modified: 2016/12/16 09:23 by joy.cho
CC Attribution-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0