Skip to content

RPi4 I2C HDMI interface (/dev/i2c-2) not working from userspace #3152

@bangom

Description

@bangom

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Close within 30 daysIssue will be closed within 30 days unless requested to stay open

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions