I'm trying to enable the second (GPIO-based i2c) on RPi Zero 2 W, Ubuntu server 20.04 to connect the following sensor. Note that the primary i2c pins are physically occupied as RPi is used as a hat for another board. I've read tons of articles / similar questions, but have no luck detecting the sensor.
Here's my /boot/config.txt:
start_x=1
enable_uart=1
dtparam=i2c_arm=on
dtoverlay=i2c-gpio,bus4,i2c_gpio_delay_us=8,i2c_gpio_sda=23,i2c_gpio_scl=24
I've also added 2x4.7 resistors for SDA and SCL according to recommendations. Well, I tried w/o resistors as well.
When I run i2cdetect -l, I see only a default bus:
ubuntu@rpi:~$ i2cdetect -l
i2c-1 i2c bcm2835 (i2c@7e804000) I2C adapter
Which obviously gives nothing for i2cdetect -y 1:
ubuntu@rpi:~$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
I see a sensor only if I connect it to the primary i2c port:
ubuntu@rpi:~$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77
Here's additional system info:
ubuntu@rpi:~$ uname -a
Linux rpi 5.4.0-1050-raspi #56-Ubuntu SMP PREEMPT Thu Jan 13 13:09:35 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
Note that I've already tried to upgrade the kernel, but it seems like Ubuntu 20.04 has stuck on the 5.4 version.
Here's dmesg log.
Any thoughts would be greatly appreciated.
I²C-gpio
is a software i2c controller; bus4 is meaningless. From the unclear photo it does not appear GPIO23/24 are connected.