从 EEPROM 读取 EDID

从 EEPROM 读取 EDID

从链接:http://en.wikipedia.org/wiki/Extended_display_identification_data

EDID 通常存储在监视器中称为串行 PROM(可编程只读存储器)或 EEPROM(电可擦除 PROM)的存储设备中,并且可通过地址 0x50 处的 I²C 总线进行访问。[1]即使显示器本身关闭,主机 PC 通常也可以读取 EDID PROM。

我怎样才能阅读该信息?

答案1

回答我自己的问题:[:)]

  1. i2cdetect -l : 征用现有的 i2c 适配器
  2. 回声 Y | i2cdump $i 0x50 :其中 i 是每个 /dev/i2c-* 的设备 ID
  3. 上述命令将打印给定 I2C 适配器的 Raw-EDID。
  4. 现在可以使用自定义 C(或任何)编程语言来解析信息,以给出底层设备的简洁描述。

[虽然我使用了i2c-tools,但是使用低级汇编编程来读取EEPROM值会好得多。 ]

答案2

答案3

前几天我也想知道。我找到了Xorg的实现,但是没有看细节。另外,显然,内核模块 i2c-dev 可以用来读取 EDID。

http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/ddc

相关内容