ubuntu下的EDID原始数据读取和解析

参考文档:
http://manpages.ubuntu.com/manpages/wily/man1/get-edid.1.html
原文:
Name
Synopsis
Description
Author
See Also
wily (1) get-edid.1.gz
Provided by: read-edid_3.0.2-1_i386 bug

NAME
       get-edid,  parse-edid  -  read-edid  tools  to  retrieve  and interpret
       monitor specifications using the VESA VBE DDC protocol

SYNOPSIS
       get-edid [OPTIONS] | parse-edid
       get-edid [OPTIONS] > filename
       parse-edid < filename

DESCRIPTION
       The read-edid utility comprises two tools: get-edid and parse-edid.

       get-edid uses real mode calls to perform  Data  Display  Channel  (DDC)
       transfers,  or  Linux  i2c  calls  to perform Enhanced DDC transfers to
       retrieve information from monitors, including  identification  strings,
       supported   sync   ranges,   available  video  modes,  and  video  mode
       parameters. Such information can be useful  for  configuring  X  Window
       System servers in certain cases.

       get-edid  returns  the  raw Extended Display Identification Data (EDID)
       block directly from the monitor, so the parse-edid command is available
       to interpret it and generate a human-readable block of text information
       that can also be included in a X11 xorg.conf file.

       Generally the output of get-edid is piped directly to parse-edid.

       New in version 3.0.0, get-edid takes a few options.

       -b BUS, --bus BUS
              only scan the i2c bus BUS (if built with i2c support)

       -c, --classiconly
              only use the older VBE interface (if  built  with  i2c  and  VBE
              support)

       -h, --help
              display a basic help message

       -i, --i2conly
              only  use  the  newer  i2c  interface (if built with i2c and VBE
              support)

       -m NUM, --monitor NUM
              try to return information about monitor number NUM (VBE only)

       -q, --quiet
              do not output messages over stderr

       parse-edid still does not take any options. --help will show you  which
       options your build of read-edid supports.

AUTHOR
       read-edid  is  originally  the  work  of John Fremlin and others. Since
       1.4.2, the new maintainer and programmer has been Matthew Kern.  Nearly
       all of the code for this project, as well as this manual page, has been
       rewritten for 3.0.0 by Matthew Kern. See AUTHORS for more details.

SEE ALSO
       Matthew Kern's read-edid website at         edid>

                                  2013-08-29                       get-edid(1)

使用方法:
先安装edid读取工具:sudo apt-get install read-edid

1.获取EDID原始数据并存储到文件中:
yasin@DTT:~$ sudo get-edid > myedid.bin
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 2
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
No EDID on bus 6
1 potential busses found: 1
128-byte EDID successfully retrieved from i2c bus 1
Looks like i2c was successful. Have a good day.
yasin@DTT:~$
以上操作会读取当前显示器的EDID并存储到myedid.bin中。该文件中会以二进制形式存储EDID的128个字节。用beyond compare之类的工具用16进制形式打开这个文件,你可以看到具体的EDID数据:
0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x00 0x10 0xAC 0x0D 0xF0 0x53 0x52 0x30 0x35 0x0F 0x13 0x01 0x03 0x0E 0x29 0x1A 0x78 0xEE 0xEE 0x95 0xA3 0x54 0x4C 0x99 0x26 0x0F 0x50 0x54 0xBF 0xEF 0x80 0x95 0x00 0x71 0x4F 0x81 0x80 0x95 0x0F 0x81 0x00 0x01 0x01 0x01 0x01 0x01 0x01 0x9A 0x29 0xA0 0xD0 0x51 0x84 0x22 0x30 0x50 0x98 0x36 0x00 0x98 0xFF 0x10 0x00 0x00 0x1C 0x00 0x00 0x00 0xFD 0x00 0x38 0x4B 0x1E 0x53 0x0E 0x00 0x0A 0x20 0x20 0x20 0x20 0x20 0x20 0x00 0x00 0x00 0xFF 0x00 0x46 0x35 0x33 0x34 0x46 0x39 0x34 0x38 0x35 0x30 0x52 0x53 0x0A 0x00 0x00 0x00 0xFC 0x00 0x44 0x45 0x4C 0x4C 0x20 0x45 0x31 0x39 0x30 0x39 0x57 0x0A 0x20 0x00 0xC5
在http://www.edidreader.com/网站可以对该数据进行在线解析。把以上128字节复制到该网站的对应数据窗口即可
也可以用ubuntu下的解析工具对上述bin文件进行解析:
yasin@DTT:~$ parse-edid < myedid.bin
Checksum Correct

Section "Monitor"
Identifier "DELL E1909W"
ModelName "DELL E1909W"
VendorName "DEL"
# Monitor Manufactured week 15 of 2009
# EDID version 1.3
# Analog Display
Option "SyncOnGreen" "true"
DisplaySize 410 260
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-83
VertRefresh 56-75
# Maximum pixel clock is 140MHz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1152x864, 75Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1440x900, 75Hz
#Not giving standard mode: 1280x800, 60Hz
Modeline "Mode 0" 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync
EndSection
yasin@DTT:~$

其他参考:
http://hubpages.com/technology/how-to-reflash-a-monitors-corrupted-edid //读取和修改显示器的EDID
https://github.com/bulletmark/edid-rw //修改显示器EDID工具(源码)






你可能感兴趣的:(Linux,misc)