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

本文介绍了如何在Ubuntu系统中利用read-edid工具获取显示器的EDID原始数据,并通过parse-edid进行解析。首先,通过`sudo apt-get install read-edid`安装工具,然后使用`sudo get-edid > myedid.bin`命令获取EDID并保存到文件,最后使用`parse-edid < myedid.bin`解析数据。解析后的信息包含了显示器的型号、制造商、分辨率等详细参数。

参考文档:
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  <http://polypux.org/projects/read-
       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工具(源码)






分析 EDID 的小工具 生成如下形式的说明文档: Adr Value Remark Description 00h 00h 01h FFh 02h FFh 03h FFh 04h FFh 05h FFh 06h FFh 07h 00h 08h 34h MAG EISA Manufacturer ID (high) 09h 27h EISA Manufacturer ID (low) 0Ah 17h 0717h EISA Product ID(low) 0Bh 07h EISA Product ID(high) 0Ch 02h 2 Serial Number 0Dh 00h Serial Number 0Eh 00h Serial Number 0Fh 00h Serial Number 10h 0Dh 13 Week of Manufacture 11h 0Eh 2004 Year of Manufacture 12h 01h 1 EDID Version 13h 03h 3 EDID Revision 14h 08h Video Input Definition Bit 7 : 0 = Analog signal Bit 6,5: 00 = 0.700,0.300(1.000Vpp) Bit 4 : 0 = No blank-to-black setup Bit 3 : 1 = Separate sync supported Bit 2 : 0 = No composite sync supported Bit 1 : 0 = No sync on green supported Bit 0 : 0 = No serration of the Vsync required 15h 22h 34 Max. Horizontal Image Size 16h 1Bh 27 Max. Vertical Image Size 17h 96h 2.5 Display Transfer Characteristic (Gamma) 18h 28h Feature Support (DPMS) Bit 7 : 0 = No stand-by mode Bit 6 : 0 = No suspend mode Bit 5 : 1 = Active off Bit 4,3: 01 = R/G/B color display Bit 2 : 0 = No standard default color space Bit 1 : 0 = No preferred timing mode Bit 0 : 0 = No GTF supported 19h 67h Red / Green Low Bits 1Ah 55h Blue/ White Low Bits 1Bh A5h 0.646 Red X 1Ch 5Bh 0.357 Red X 1Dh 47h 0.278 Green X 1Eh 9Ch 0.612 Green Y 1Fh 25h 0.146 Blue X 20h 1Eh 0.118 Blue Y 21h 4Fh 0.31 White X 22h 54h 0.329 White Y 23h BFh Established Timings 1 Bit 7 : 1 = 720 x 400 : 70 Hz Bit 6 : 0 Bit 5 : 1 = 640 x 480 : 60 Hz Bit 4 : 1 = 640 x 480 : 67 Hz Bit 3 : 1 = 640 x 480 : 72 Hz Bit 2 : 1 = 640 x 480 : 75 Hz Bit 1 : 1 = 800 x 600 : 56 Hz Bit 0 : 1 = 800 x 600 : 60 Hz 24h EFh Established Timings 2 Bit 7 : 1 = 800 x 600 : 72 Hz Bit 6 : 1 = 800 x 600 : 75 Hz Bit 5 : 1 = 832 x 624 : 75 Hz Bit 4 : 0 Bit 3 : 1 = 1024 x 768 : 60 Hz Bit 2 : 1 = 1024 x 768 : 70 Hz Bit 1 : 1 = 1024 x 768 : 75 Hz Bit 0 : 1 = 1280 x1024 : 75 Hz 25h 00h Manufacturers Timings 26h 31h 640 x 480 27h 40h 60 Hz 28h 45h 800 x 600 29h 40h 60 Hz 2Ah 61h 1024 x 768 2Bh 40h 60 Hz 2Ch 81h 1280 x 1024 2Dh 80h 60 Hz 2Eh 31h 640 x 480 2Fh 4Fh 75 Hz 30h 45h 800 x 600 31h 4Fh 75 Hz 32h 61h 1024 x 768 33h 4Fh 75 Hz 34h 81h 1280 x 1024 35h 8Fh 75 Hz 36h 30h 108Mhz Pixel Clock (low) 37h 2Ah Pixel Clock (high) 38h 00h 1280 Horizontal Active (low) 39h 98h 408 Horizontal Blank (low) 3Ah 51h H.Active/H.Blank (high) 3Bh 00h 1024 Vertikal Active (low) 3Ch 2Ah 42 Vertikal Blank (low) 3Dh 40h V.Active/V.Blank (high) 3Eh 30h 48 H.Front Porch (low) 3Fh 70h 112 H.Sync Pulse Width (low) 40h 13h 1/3 V.Front Porch/V.Sync PW (low) 41h 00h H/V Sync (high) 42h 51h 337 H.Image Size (low) 43h 0Eh 270 V.Image Size (low) 44h 11h H/V Smage Size (high) 45h 00h 0 H.Border 46h 00h 0 H.Border 47h 1Eh Flags 48h 00h Flag = 0000h 49h 00h 4Ah 00h Reserved = 00h 4Bh FFh Tag=Monitor S/N String 4Ch 00h Flag = 00h 4Dh 31h '1' 4Eh 0Ah 4Fh 20h 50h 20h 51h 20h 52h 20h 53h 20h 54h 20h 55h 20h 56h 20h 57h 20h 58h 20h 59h 20h 5Ah 00h Flag = 0000h 5Bh 00h 5Ch 00h Reserved = 00h 5Dh FCh Monitor Name 5Eh 00h Flag = 00h 5Fh 50h 'P' 60h 53h 'S' 61h 2Dh '-' 62h 37h '7' 63h 37h '7' 64h 36h '6' 65h 49h 'I' 66h 0Ah 67h 20h 68h 20h 69h 20h 6Ah 20h 6Bh 20h 6Ch 00h Flag = 0000h 6Dh 00h 6Eh 00h Reserved = 00h 6Fh FDh Tag=Monitor Range Limits 70h 00h Flag = 00h 71h 3Ch 60 Min. vert. Frequency [Hz] 72h 4Bh 75 Max. vert. Frequency [Hz] 73h 1Eh 30 Min. hor. Frequency [kHz] 74h 50h 80 Max. hor. Frequency [kHz] 75h 0Eh 140 Max. Pixel Frequency [MHz/10] 76h 00h Reserved for VESA GTF (=00) 77h 0Ah Set to 0Ah 78h 20h 79h 20h 7Ah 20h 7Bh 20h 7Ch 20h 7Dh 20h 7Eh 00h EDID Ext. Flag 7Fh 15h Checksum
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YasinLeeX

再来一杯西湖龙井。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值