0

I'm trying to read the EDID information from my BenQ W1070 projector which is connected to my Raspberry Pi via HDMI.

I have every generation/version of Raspis available, but am currently testing on my Raspberry 3 B. I'm on Raspbian GNU/Linux 8 (jessie).

I'm tried several ways of reading the EDID, each failed, probably because I don't see any i2c devices in /dev/i2c...:

1.) tvservice:

root@pithree:~# tvservice -d dump
Nothing written!

2.) get-edid from the edid-tools package:

root@pithree:~# get-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.

i2c-dev module is loaded:

root@pithree:~# lsmod | grep i2c i2c_dev 6913 0


3.) Since I see no i2c bus, i2cdetect from i2c-tools and tools like https://github.com/bulletmark/edid-rw are also not working. (no /dev/i2c...)


4.) I tried getting the EDID information from the i2c EEPROM data, but this also failed: No devices or other data under /sys/bus/i2c/devices. (Some pages explain that under this path there should be the EEPROM data accessible, e.g. /sys/bus/i2c/devices/3-0050/eeprom, but I don't see anything here. Yet I was not able to find and load the eeprom module (via modprobe eeprom - maybe somebody has some hints where the eeprom module comes from?)).


Can anybody point me to the reason why all the above is failing for me? Or any other pointers how to completely read the EDID data of my projector?

1

After spending more time on it I realized I might have just asked two questions in one.

Yet I was able to get access to the /dev/i2c.. devices in the first place. All I was missing was adding this to the /boot/config.txt:

dtparam=i2c_arm=on
dtparam=i2c2_iknowwhatimdoing

and loading the module i2c-dev by adding it to /etc/modules (or loading it dynamically with modprobe i2c-dev.

/dev/i2c-1 and /dev/i2c-2 are now present, and I assume /dev/i2c-2 is the HDMI's i2c bus.

Now I can use i2cdetect 2 (/dev/i2c-2) which gives me the following output:

root@pithree:/home/pi/w1070_debugging# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

My original intention to read the EDID from my projector is not yet successfully accomplished - EDID should be located at its default location 0x50, but all I see on /dev/i2c-2 is an EEPROM on 0x3a.

The memory at this location is not the EDID:

root@pithree:/home/pi/w1070_debugging# i2cdump 2 0x3a b
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-2, address 0x3a, mode byte
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: b2 92 af 92 53 00 00 00 00 00 00 00 00 00 00 00    ????S...........
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 81 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00    ?.?.............
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

Not sure yet what this is, will update this answer as soon I know.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.