Raspberry-Pi
hwclock -r 不工作,但 RTC 似乎沒問題
我在連接 isl1208 RTC 的 Raspberry Pi 4 上安裝了 Debian/Raspbian buster Linux。我認為 RTC 本身可以工作:當核心模組禁用時,我可以使用 python 腳本直接讀取它
systemd timedatectl
命令顯示 RTC 時鐘和
/sys/bus/i2c/devices/i2c-1/1-006f/rtc/rtc0/time
顯示時間。
但**
hwclock -r
不起作用**:$ sudo hwclock -r hwclock: select() to /dev/rtc0 to wait for clock tick timed out
hwclock
應在引導期間用於從 RTC 設置系統時間。任何想法為什麼
hwclock -r
不起作用?還是應該有其他方法在啟動期間從 RTC 設置系統時間?編輯1:
似乎 systemd 可以讀取 RTC,因為 systemd-timedated 僅在 /dev/rtc 上執行讀取操作,效果很好。
hwclock -r 在從 /dev/rtc 讀取時間之前首先執行 synchronize_to_clock_tick_rtc ,其中程序等待中斷,而中斷永遠不會到來。
所以我想知道更新中斷是否應該與 isl1208 和 RasPi 一起使用,RTC i2c IC 和 RasPi 之間只有 i2c 連接?
一種解決方法是使用busybox 中的hwclock,它不執行同步過程。
你試過了嗎:
sudo i2cdetect -y 1
您應該會看到出現一堵文字牆,如果出現 UU 而不是 68,那麼我們已經成功載入了 RTC 電路的核心驅動程序
如果您的 RTC 正確,您可能錯過了:
sudo hwclock -w
此命令會將時間從 Raspberry Pi 寫入 RTC 模組。
詳細步驟: https ://pimylifeup.com/raspberry-pi-rtc/
或 https://www.instructables.com/id/Set-up-Real-Time-Clock-RTC-on-Raspberry-Pi/