Ubuntu Server 20.04 / RPi Zero 2 W / A+ 上未偵測到額外的 i2c_gpio

Ubuntu Server 20.04 / RPi Zero 2 W / A+ 上未偵測到額外的 i2c_gpio

我正在嘗試在 RPi Zero 2 W、Ubuntu 伺服器 20.04 上啟用第二個(基於 GPIO 的 i2c)來連接以下內容感應器。請注意,主要的 i2c 引腳在物理上已被佔用,因為 RPi 被用作另一個引腳的帽子。木板。我讀過大量文章/類似問題,但沒有運氣檢測到感測器。

這是我的/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

這是實際接線:接線

我還根據建議為 SDA 和 SCL 添加了 2x4.7 電阻。好吧,我也嘗試過不加電阻。

當我跑步時i2c檢測-l,我只看到一條預設總線:

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

這顯然沒有任何作用i2c檢測-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: -- -- -- -- -- -- -- -- 

只有當我將感測器連接到主 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 

以下是附加系統資訊:

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

請注意,我已經嘗試過升級內核,但 Ubuntu 20.04 似乎一直停留在 5.4 版本上。

任何想法將不勝感激。

更新

  • 2022/01/31: 添加訊息 紀錄

答案1

好吧,經過多次實驗,我發現 RPi 上的 Ubuntu/boot/config.txt出於某種原因會忽略設定(或只是覆蓋它們)以支援/boot/firmware位置。我檢查/boot/firmware/syscfg.txt並發現那裡有相同的設定。所以我就盲目地添加dtoverlay=i2c-gpio,...系統設定檔重新啟動後,我的 i2c 感應器神奇地出現在清單中。這很奇怪而且令人失望,因為所有指南都提到了/boot/config.txt一個事實。我為此浪費了很多時間。

相關內容