2015年2月12日木曜日

Raspberry Pi 2 kernel panic / Rainbow square


Raspberry Pi 2 を初期設定をすませたものの、頻繁にkernel panicとなり挙動が怪しかったのですが、その理由は電力不足によるものでした。

利用環境は無線USBポートにキーボード、マウス、無線LANを接続した環境で動作させてました。
負荷がかかるような作業、Mathmaticaを動かしたり、apt-get で更新したりなどすると、kernel panicになってました。

起動時や落ちる前にコンソール画面の右上に四角く虹のシンボルが点滅してました。
これは、電圧低下の警告で以下に説明されていました。

-----
Under-voltage warnings
http://www.raspberrypi.org/forums/viewtopic.php?f=29&t=82373

ターボモードを無効にして、既存の過熱状態(>85'C)に警告記号を追加しました。

現在の記号は以下のとおりです。

  赤の四角:過温度
  虹の四角:低電圧

リスクを理解していれば、いつものように config.txt の中で動作を上書きすることができます。

avoid_warnings=1  警告オーバーレイを削除します。
avoid_warnings=2    低電圧でも、ターボモードを可能にする。

テスト用に、「temp_limit="50"」として、より簡単に温度警告トリガーを作ることができます。
また、おそらく不十分な電源(おそらくPCのUSBソケット)、または、あやしげな
マイクロUSBケーブルを利用した場合の電圧低下チェックをトリガにすることができます。
----

電源のUSBのアダプターを独立させるようにして電源の安定確保したところ、
虹の四角は表示さなくなり安定して動作しています。

もともと Raspberry Pi B+で使っていたUSB電源アダプタとケーブルだったのですが、Raspberry Pi 2では、消費電力が上がったのと、他の機器とそのUSBアダプタを共有したことが原因でPi2で必要な電圧が確保できなかったのが原因だろうと思います。