-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
Hi,
I'm in the process of migrating a project from RPI3b to RPI4 (4GB) due to a better GPU performance of the new platform.
One of the functions on RPI3 was turning on/of and changing the brightness of HDMI connected LCD via ddcutil command (details see https://www.ddcutil.com/raspberry/).
Unfortunately, on RPI4 I'm struggling with accessing /dev/i2c-2 HDMI1 I2C from userspace:
- "ddcutil detect" command takes long, then outputs "No displays found".
- "i2cdetect -y 2" also takes long to finish, there are no devices on the bus.
After either of those commands"dmesg" shows new errors:
[61839.796098] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[61840.836046] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
[61854.116299] i2c-bcm2835 fe805000.i2c: i2c transfer timed out
(error messages repeat as you execute more commands using /dev/i2c-2)
Seems that there is a problem accessing i2c HDMI bus via /dev/i2c-2 from userspace.
root@mm-rpi4:/home/pi# ls -la /dev/i2c*
crw-rw---- 1 root i2c 89, 0 Aug 13 17:10 /dev/i2c-0
crw-rw---- 1 root i2c 89, 1 Aug 13 17:10 /dev/i2c-1
crw-rw---- 1 root i2c 89, 2 Aug 13 17:10 /dev/i2c-2
uname -a:
Linux mm-rpi4 4.19.65-v7l+ #1252 SMP Fri Aug 9 18:04:13 BST 2019 armv7l GNU/Linux
vcgencmd version:
Copyright (c) 2012 Broadcom
version 9f8431fb7839c7f00f52b81f5822ddab2b31d0db (clean) (release) (start)
ddcutil -V:
ddcutil 0.9.5
GPU i2c access shoud be disabled according to the /boot/config.txt:
hdmi_ignore_edid=0xa5000080 # (tried also =1)
hdmi_edid_file=1
hdmi_ignore_cec=1
dtparam=i2c2_iknowwhatimdoing
dtoverlay=vc4-fkms-v3d
Seems like something is blocking access via /dev/i2c-2. Either there is a wrong mapping of /dev/i2c-2 to HDMI ports (also there are 2 HDMI ports in new RPI4...) or GPU have "exclusive access" to i2c disallowing userspace access?
Any idea how to fix the problem? Thanks!