RasPi2でリアルタイムクロック RTC-8564NB を使用する

RasPi2に切り替えてから特に大きな問題はなく安定して動作していますが、ある時、hwclockコマンドが使えないことが発覚しました。 現在、RTCに役割はありませんが、電源制御の予定もあり、なにより気持ちがよくありません。

RTC-8564NB

どうやら、デバイスの設定方法がデバイスツリーというものに変わった為の様でした。

例によって、フォーラムに情報がありました。 「PI2でRTC PCF8563が動作しない

この情報によると、hwclockの最新バージョンをコンパイルしてインストールするというものです。 実際の手順は…

  1. /boot/config.txt に dtoverlay=i2c-rtc,pcf8563 を追加
  2. hwclockの最新バージョンをダウンロード・コンパイル
    wget https://www.kernel.org/pub/linux/utils/util-linux/v2.26/util-linux-2.26.1.tar.gz
    tar zxvf util-linux-2.26.1.tar.gz
    cd util-linux-2.26.1
    (apt-get install gcc)  ※gcc導入済みであれば不要
    ./configure –without-python –without-systemd –without-ncurses
    make hwclock
  3. hwclock-rtc.cファイルを編集(debugオプション使用時の修正)

必要に応じ、util-linux-2.26.1の下に生成されたhwclockコマンドファイルを /sbin へコピーします。

手順3.の修正ですがこちらを参考にhwclock-rtc.cファイルを編集後、コンパイルを実行しましたが、debugオプション使用時のエラーは修正されませんでした。

若干の問題はあるものの、hwclockコマンドやアラームの操作が可能となりました。 RasPi2はシャットダウン状態からの起動に必要なリセット端子が外部に引き出されていない為、その辺りが今後の課題です。

 

※displayコネクタの横にリセット端子がありました。  2015.5.6追記

※hwclockコマンドは完全と言える状態ではありませんが、アラームについては、シェルスクリプト(alarm.sh) を使用して設定することにより実用上問題ない状態にはなりました。 2015.5.17追記

参考:http://d.hatena.ne.jp/payapara/20090626/1246029897

※カーネルの更新で不具合は解消しました。 「Raspbian最新カーネルでRTCの不具合が解消」 2015.7.19追記

 

RTC関連コマンド

ハードウェアクロックを表示
hwclock -r
ハードウェアクロックをシステムクロックと同期
hwclock -w
RTCの状態表示
cat /proc/driver/rtc
RTCアラームのリセット
echo 0 > /sys/class/rtc/rtc0/wakealarm
RTCアラームを60秒後に設定
echo +60 > /sys/class/rtc/rtc0/wakealarm
UNIXエポックからの経過時間を表示
cat /sys/class/rtc/rtc0/since_epoch

 

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です