Raspberry Pi 2 Model B (以下RPi)
Raspbian Jessie
Python 2.7.9
Geany 1.24.1
GNU Make 4.0
gcc (Raspbian 4.9.2-10) 4.9.2
使用中のRPiがシャットダウンするようになった。
Pin #33, #35, #37を使ってのソフトウェアI2C通信をしている最中に発生。
- I2C結線
- SDA: Pin #35(GPIO 19)
- SCL: Pin #37(GPIO 26)
- GND: Pin #39
- 1秒ごとに50kHzの通信を実施
- データ取得コマンドの送信を4セット実施
- その他結線
- SDA, SCL, GNDに対して、Analog Discovery 2のロジック用ケーブルを接続
- I2C通信のモニタのため
- 有線のEthernetケーブルを接続
- HDMIケーブルを接続
- SDA, SCL, GNDに対して、Analog Discovery 2のロジック用ケーブルを接続
- 対処
- 電源を1Aのものから2.5A供給のUSBアダプタに変更
- => シャットダウンした
- Raspbian JessieのmicroSDをUbuntu 16.04 LTSにマウントし、fsckを実施
- マウントを解除し
fsck /dev/sdb3 -y
fsck /dev/sdb5 -y
fsck /dev/sdb6 -y
- => シャットダウンした
- Analog Disocvery 2のモニタ用接続を解除
- => シャットダウンした
- I2Cのピン割当を変更
- SDA: Pin #38 (GPIO 20)
- SCL: Pin #40 (GPIO 21)
- Python実装のSWシャットダウンのピン使用を回避
- Pythonスクリプトは停止してはいるが。。。
- Python実装のSWシャットダウンのピン使用を回避
- => シャットダウンした
- HDMIケーブルを抜いた
- => 電源オン後15分は正常動作
- => 電源オンから25分経過にてシャットダウン発生
- 電源を1Aのものから2.5A供給のUSBアダプタに変更
I2C通信をすることによって、シャットダウンが起きるようになっているようではある。
Raspberry Pi 3 Model Bにて動作開始
Raspberry Pi 3 Model B (以下RPi3)
Raspbian Stretch
- python 2.7.13
- python 3.5.3
- bash v4.4.12
- Geany v1.29
- GNU Make 4.1
- gcc (Raspbian 6.3.0-18+rpi1+deb9u1) 6.3.0 20170516
- 対処
- RPi2からRPi3に変えてみる
- RPi3: 購入して数か月のもの
- 新しいmicroSDにOS新規インストール
- => 20分ほど経過した時点でI2Cセンサの読み取り結果がすべて0xFFになる
- フリーズはしていない
- センサー側の問題と思われる
- 三回発生
- センサー電源のオフ、オンで復帰
- => 4時間21分経過: フリーズしていない
- RPi2からRPi3に変えてみる
まとめ
- Raspberry Pi 3 Model B + 新規microSDにOSインストール
- 正常動作
- 問題の可能性
- A. RPi2のmicroSDが壊れた?
- B. RPi2に起きて、RPi3に起きない問題
- ハードウェアの違い
- ライブラリバージョンの違い
切り分けはできていないが、調査はいったんここで置いておく。