Zusätzliches i2c_gpio wird auf Ubuntu Server 20.04 / RPi Zero 2 W / A+ nicht erkannt

Zusätzliches i2c_gpio wird auf Ubuntu Server 20.04 / RPi Zero 2 W / A+ nicht erkannt

Ich versuche, den zweiten (GPIO-basierten i2c) auf RPi Zero 2 W, Ubuntu Server 20.04 zu aktivieren, um Folgendes zu verbindenSensor. Beachten Sie, dass die primären i2c-Pins physisch belegt sind, da RPi als Hut für einen anderen verwendet wirdPlanke. Ich habe unzählige Artikel/ähnliche Fragen gelesen, konnte den Sensor aber nicht finden.

Hier ist meins/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

Hier ist die eigentliche Verkabelung:Verdrahtung

Ich habe außerdem gemäß den Empfehlungen 2x4,7 Widerstände für SDA und SCL hinzugefügt. Nun, ich habe es auch ohne Widerstände versucht.

Wenn ich laufei2cdetect -l, ich sehe nur einen Standardbus:

ubuntu@rpi:~$ i2cdetect -l
i2c-1   i2c         bcm2835 (i2c@7e804000)              I2C adapter

Was offensichtlich nichts bringt füri2cdetect -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: -- -- -- -- -- -- -- -- 

Ich sehe einen Sensor nur, wenn ich ihn an den primären I2C-Port anschließe:

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 

Hier sind zusätzliche Systeminformationen:

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

Beachten Sie, dass ich bereits versucht habe, den Kernel zu aktualisieren, aber es scheint, als sei Ubuntu 20.04 bei der Version 5.4 hängengeblieben.

Ich wäre für alle Gedanken sehr dankbar.

AKTUALISIERUNG

Antwort1

Ok, nach einigen Experimenten bin ich auf die Tatsache gestoßen, dass Ubuntu auf RPi /boot/config.txtEinstellungen aus irgendeinem Grund ignoriert (oder sie einfach überschreibt) zugunsten des /boot/firmwareStandorts. Ich habe nachgesehen /boot/firmware/syscfg.txtund dort die gleichen Einstellungen gefunden. Also habe ich einfach blind dtoverlay=i2c-gpio,...hinzugefügtsyscfgund nach dem Neustart erschien mein I2C-Sensor wie von Zauberhand in der Liste. Das ist seltsam und enttäuschend, da es in allen Anleitungen /boot/config.txtals einziger wahrer Punkt erwähnt wird. Ich habe so viele Stunden damit verschwendet.

verwandte Informationen