Tx2i issue with reading and writing EDID using HDMI i2c SMBUS.

I am trying to write the bus using smbus program, which is working fine on the desktop.
But causing connection time out on tx2i. How can we solve the issue?

sudo ./edid-rw 5
Traceback (most recent call last):
File “./edid-rw”, line 131, in
main()
File “./edid-rw”, line 119, in main
edid = [dev.read(i) for i in range(EDID_HDR)]
File “./edid-rw”, line 46, in read
return self.smb.read_byte_data(EDID_ADDR, n)
IOError: [Errno 110] Connection timed out

I am unable to give you specifics, but the i2c bus for HDMI tends to be powered off after boot (which makes for a failure case in reading i2c). Someone else can probably tell you how to power the bus after boot, or at least verify this is/isn’t what is going on.

The method should be the same as old release.

Please try
sudo echo 1 > /sys/kernel/debug/tegra_hdmi/ddc_power_toggle

Thank you for the quick response, same issue

echo 1 > /sys/kernel/debug/tegra_hdmi/ddc_power_toggle

root@tegra-ubuntu:~/Desktop/edid-rw# sudo ./edid-rw 5
Traceback (most recent call last):
File “./edid-rw”, line 131, in
main()
File “./edid-rw”, line 119, in main
edid = [dev.read(i) for i in range(EDID_HDR)]
File “./edid-rw”, line 46, in read
return self.smb.read_byte_data(EDID_ADDR, n)
IOError: [Errno 110] Connection timed out

cat /sys/kernel/debug/tegra_hdmi/ddc_power_toggle
ddc_refcount: 3

Is it correct that there is an HDMI monitor attached without adapters? Do you find any EDID data from:

sudo -s
cat `find /sys -name 'edid'`
exit

Also, I’m wondering where “edid-rw” is provided (I don’t see anywhere to download this from). I’m wondering if perhaps there is something about this program which might be incompatible with the GPU being integrated to the memory controller instead of being PCI. If you find the edid file in “/sys” has data, then I’m inclined to believe the tool itself is failing (and tools designed to go through PCI interfaces won’t work here).

From some other projects i recognized that several programs mix up SMBUS and I2C which practically is not the same.