Puncte:0

I2c_gpio suplimentar nu este detectat pe Ubuntu Server 20.04 / RPi Zero 2 W / A+

drapel pg

Încerc să activez al doilea (i2c bazat pe GPIO) pe RPi Zero 2 W, serverul Ubuntu 20.04 pentru a conecta următoarele senzor. Rețineți că pinii i2c primari sunt ocupați fizic, deoarece RPi este folosit ca o pălărie pentru altul. bord. Am citit o mulțime de articole / întrebări similare, dar nu am avut noroc să detectez senzorul.

Aici e al meu /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

Iată cablarea reală: cablare

Am adăugat și rezistențe 2x4.7 pentru SDA și SCL conform recomandărilor. Ei bine, am încercat și fără rezistențe.

Când alerg i2cdetect -l, văd doar o magistrală implicită:

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

Ceea ce evident nu dă nimic pentru 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: -- -- -- -- -- -- -- -- 

Văd un senzor doar dacă îl conectez la portul primar i2c:

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 

Iată informații suplimentare despre sistem:

ubuntu@rpi:~$ uname -a
Linux rpi 5.4.0-1050-raspi #56-Ubuntu SMP PREEMPT Joi 13 ian 13:09:35 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

Rețineți că am încercat deja să fac upgrade la kernel, dar se pare că Ubuntu 20.04 s-a blocat la versiunea 5.4.

Orice gând ar fi foarte apreciat.

ACTUALIZĂRI

  • 2022/01/31: adăugat dmesg busteni.
drapel ch
Vedeți ceva interesant în ceea ce privește interfața dvs. în ieșirea `dmesg`?
Sergey Korol avatar
drapel pg
@Serg Am actualizat postarea cu un link către jurnalul dmesg. Văd câteva probleme cu spi și codificări. Dar nu sunt sigur dacă are o relație directă cu problema inițială. Poate găsiți ceva interesant acolo.
drapel ch
Este greu de spus cu siguranță în cazul tău, deoarece ai încercat multe lucruri. În primul rând, poate omiteți definiția magistralei, adică eliminați `bus4` din `dtoverlay` - lăsați-o să fie furnizată de sistem. Și, de asemenea, poate încercați să activați în mod explicit suportul pentru dispozitivul `i2c-rtc` corespunzător.
Sergey Korol avatar
drapel pg
@Serg a încercat să scoată autobuzul, dar nu a ajutat. Totuși, nu sunt sigur în ceea ce privește suportul explicit al dispozitivului „i2c-rtc”. Ați vrut să spuneți ceva de genul acesta: https://gist.github.com/Lahorde/2bc5e4a3b69fc6ca5797?
drapel ch
Da, ceva de genul acesta, așa cum ați furnizat în linkul GitHub.
Puncte:0
drapel pg

Ok, după o serie de experimente am venit cu faptul că Ubuntu pe RPi ignoră /boot/config.txt setări dintr-un anumit motiv (sau doar le suprascrie) în favoarea /boot/firmware Locație. am examinat /boot/firmware/syscfg.txt și am găsit aceleași setări acolo. Atunci am adăugat orbește dtoverlay=i2c-gpio,... la syscfg iar după repornire, senzorul meu i2c a apărut ca magic în listă. Este ciudat și dezamăgitor, așa cum menționează toți ghizii /boot/config.txt ca un singur punct de adevăr. Am pierdut atâtea ore cu asta.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.