首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在i2c设备上设置EDID字节

如何在i2c设备上设置EDID字节
EN

Unix & Linux用户
提问于 2019-05-22 11:14:41
回答 1查看 1.8K关注 0票数 4

我有一个监视器LG E2251 (监视器详细信息)。

我的电脑通过DVI-I电缆连接到显示器上;电源中断后,显示器变黑了。我重新启动了系统,一切看起来都还好。我像往常一样传递帖子,但是当连接到DVI-I时,我看不到GUI或CLI。我相信DVI-我的EDID代码已经被破坏了。我还尝试了其他2种连接:是否HDMI不存在任何damge,我得到了DVI-I的以下消息

代码语言:javascript
复制
nouveau 0000:01:00.0: DRM: VRAM: 1024 MiB
[    9.292129] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[    9.292133] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    9.292135] nouveau 0000:01:00.0: DRM: DCB version 4.0
[    9.292137] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000302 00020030
[    9.292139] nouveau 0000:01:00.0: DRM: DCB outp 01: 02000300 00000000
[    9.292141] nouveau 0000:01:00.0: DRM: DCB outp 02: 02011362 00020010
[    9.292143] nouveau 0000:01:00.0: DRM: DCB outp 03: 01022310 00000000
[    9.292145] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001030
[    9.292146] nouveau 0000:01:00.0: DRM: DCB conn 01: 00002161
[    9.292148] nouveau 0000:01:00.0: DRM: DCB conn 02: 00000200
[    9.296293] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    9.296294] [drm] Driver supports precise vblank timestamp query.
[    9.309393] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
 [drm:drm_edid_block_valid [drm]] *ERROR* EDID checksum is invalid, remainder is 185
[    9.449801] nouveau 0000:01:00.0: DVI-I-1: EDID block 0 invalid.
[    9.449803] nouveau 0000:01:00.0: DRM: DDC responded, but no EDID for DVI-I-1
[    9.470675] nouveau 0000:01:00.0: No connectors reported connected with modes
[    9.470678] [drm] Cannot find any crtc or sizes - going 1024x768
[    9.472105] nouveau 0000:01:00.0: DRM: allocated 1024x768 fb: 0x70000, bo ffff9d41b8eafc00
[    9.472196] fbcon: nouveaufb (fb0) is primary device
[    9.474979] Console: switching to colour frame buffer device 128x48
[    9.476170] nouveau 0000:01:00.0: fb0: nouveaufb frame buffer device
[    9.508021] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0

对于VGA也有类似的

代码语言:javascript
复制
 [drm:drm_edid_block_valid [drm]] *ERROR* EDID checksum is invalid, remainder is 198
[   95.783329] nouveau 0000:01:00.0: VGA-1: EDID block 0 invalid.
[   95.783331] nouveau 0000:01:00.0: DRM: DDC responded, but no EDID for VGA-1

MY APPROACH

  • 在我的debian机器上安装了i2c-tools
  • 发现i2c-1是我的DVI接口
  • 使用i2cdump -y 1 0x50,我可以转储EDID代码。

i2cset

但是,当我想将字节块设置为

i2cset -y 1 0x50 0x00 0x00 0xff i EDID不会更改。

我怎样才能纠正那些EDID?在UserSpace中是否有一个快速的解决方案,而不需要装配编程?

我说我对EDID、新手驱动程序、I2C或SMBus通信都很陌生。如有任何建议和纠正,敬请见谅。

看起来我可以在I2C总线i2cdetect -F 1上发送字节块:

代码语言:javascript
复制
Functionalities implemented by /dev/i2c-1:
I2C Block Write                  yes
I2C Block Read                   yes
...

但我不知道怎么回事。

LINKS

EN

回答 1

Unix & Linux用户

发布于 2019-05-22 13:24:07

我不知道这是否有帮助,但我发现EDID转储与您的监视器模型匹配(与转储进行比较)。

LG电子公司(GoldStar技术公司)E2251

https://github.com/linuxhw/EDID

代码语言:javascript
复制
MFG       Model    Name   Res        Size       Inch  Made  ID
Goldstar  GSM586D  E2251  1920x1080  480x270mm  21.7  2011  8A799
Goldstar  GSM586E  E2251  1920x1080  480x270mm  21.7  2011  011A9
Goldstar  GSM586E  E2251  1920x1080  480x270mm  21.7  2011  2F15B
Goldstar  GSM586E  E2251  1920x1080  480x270mm  21.7  2011  F721B
Goldstar  GSM586F  E2251  1920x1080  480x270mm  21.7  2011  2CA66

如果您有Windows,您应该尝试使用动力条来读取/写入EDID数据。

关于这个主题的一篇很棒的文章:更改显示EDID (google翻译自德语)

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/520385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档