web-dev-qa-db-ja.com

EEPROMからEDIDを読み取る

リンクから: http://en.wikipedia.org/wiki/Extended_display_identification_data

EDIDは、多くの場合、シリアルPROM(プログラム可能な読み取り専用メモリ)またはEEPROM(電気的に消去可能なPROM))と呼ばれるメモリデバイスのモニターに格納され、アドレス0x50のI²Cバスを介してアクセスできます。 [1] EDID PROMは、ディスプレイ自体がオフになっている場合でも、ホストPCによって読み取られることがよくあります。

どうすればその情報を読むことができますか?

4
SHW

私自身の質問への回答:[:)]

  1. i2cdetect -l:既存のi2cアダプターを登録します
  2. エコーY | i2cdump $ i 0x50:ここで、iは各/ dev/i2cのデバイスIDです-*
  3. 上記のコマンドは、指定されたI2CアダプターのRaw-EDIDを出力します。
  4. これで、カスタムC(または任意の)プログラミング言語を使用して情報を解析し、基盤となるデバイスのわかりやすい説明を提供できます。

[私はi2c-toolsを使用しましたが、それでも、EEPROM値を読み取るために低レベルのアセンブリプログラミングを使用する方がはるかに優れています。 ]

2
SHW

あなたは試してみたいかもしれません

http://polypux.org/projects/read-edid/

1
andreas_m

数日前、私も不思議に思っていました。 Xorgの実装を見つけましたが、詳細は確認しませんでした。また、明らかに、カーネルモジュールi2c-devを使用してEDIDを読み取ることができます。

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

0
elmarco