hwclock -r は動作しませんが、RTC は問題ないようです。

hwclock -r は動作しませんが、RTC は問題ないようです。

Raspberry Pi 4にDebian / Raspbian Buster Linuxをインストールし、isl1208 RTCを接続しました。私の考えでは、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-timedatedは/ dev / rtcでのみ読み取り操作を実行するため、systemdはRTCを読み取ることができるようです。これはうまくいきます。

hwclock -r は、プロセスが割り込みを待つが割り込みが発生しない /dev/rtc から時間を読み取る前に、まず sync_to_clock_tick_rtc を実行します。

もしそうなら、RTC i2c ICとRasPiの間にi2c接続しかないisl1208とRasPiでアップデートの中断が機能する必要があるのだろうか。

答え1

解決策は、同期プロセスを実行しないbusyboxでhwclockを使用することです。

答え2

試してみました:

sudo i2cdetect -y 1

テキストの壁が表示されるのを見ることができます。 68の代わりにUUが表示されたら、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/

関連情報