ラズパイ4の熱問題を考える(1 / 2)

4ヶ月前に購入した Raspberry Pi 4 Model B ですが、Amazon Prime Video 再生機としてリビングで使っていました。

そんなラズパイ4も先日 Fire TV Stick をリビングに設置したので、お役御免になりそうです。

そうなると問題なのが、ラズパイ4の熱問題。
映画鑑賞だとそこまで連続して長時間使うことはないのですが、サーバとして使うとなると話は別。
常時稼働が前提となります。
熱問題を抱えるラズパイ4は、端的に言うと(今までの機種と比べて)熱くなる傾向が強いため、常時稼働に向かない機種なんですよ。

そんなラズパイ4ですが、ファームウェアを更新することで改善されるようです。
対応する前に、熱問題を整理してみることにしました。

目次

問題の本質

ラズパイ4こと、Raspberry Pi 4 Model B は出荷当時から問題をはらんでいました。

シングルボードコンピュータの CPU にあたる SoC が常にフルスロットルで稼働することから、多量の熱を発生させてしまうのです。
そして、これによりサーマルスロットリングが機能して、性能が低下する現象も報告されています。

サーマルスロットリング機能は、デバイスの温度を制限範囲内に維持する機能です。
(過度に発熱すると、自動的に性能を低下させて発熱を抑え、部品故障を防ごうとする仕組み)。

性能低下については、サーマルスロットリングが働かなければ良いので、十分に冷却すれば問題ありません
ただ、フルスロットル稼働については消費電力に直結するため、センサーやサーバ用途として使うには不安が残ります。

この熱問題は雑誌掲載されて広く知られるようになりました。

base on Retro computing with Raspberry Pi 4 in The MagPi issue 88 - The MagPi magazine

Thermal testing Raspberry Pi 4
Thermal testing the new Raspberry Pi firmware

この記事の右端に、2019年6月 〜 2019年10月までのタイムラインが記載されています。

最新の内容は、GitHub に上がっています。

base on rpi-eeprom/release-notes.md at master · raspberrypi/rpi-eeprom · GitHub

GitHub
Raspberry Pi4 bootloader EEPROM release notes

熱問題を整理する

熱問題解消の道筋を時系列にまとめてみました。
上記、GitHub の内容をベースに The MagPi 88号も照らし合わせながら記載しています。

2019-05-10 - Git d2402c53 (RC2.1)

  • First production version.
    最初の製品に搭載されていたバージョン。

Launch firmware (June 2019)
finalised prior to production, the launch firmware is how every raspberry pi 4 rolled off the factory floor - fully functional, but not fully optimised.

生産前に完成したローンチファームウェアは、すべてのラズベリーパイ4が工場の床から転がり落ちた方法です。
完全に機能しますが、完全には最適化されていません。

2019-07-15 - Git 514670a2

  • WAKE_ON_GPIO now defaults to 1 in the EEPROM config file.
    WAKE_ON_GPIOは、EEPROM構成ファイルでデフォルトで1になりました。
  • POWER_OFF_ON_HALT setting added defaulting to zero.
    POWER_OFF_ON_HALT設定が追加され、デフォルトでゼロになりました。

    この設定変更により、上記 2項目の初期値は以下になります。

    WAKE_ON_GPIO = 1
    POWER_OFF_ON_HALT = 0

これのどこが、省エネ(熱問題)に寄与するかと言うと、この設定により初期状態(初期値)で PMIC(パワーマネジメント IC)出力がオフになります。
※PMIC は、出力電圧などを動的に設定することができるので、省エネとなりひいては熱も少なくなります。

base on Pi 4 Bootloader Configuration - Raspberry Pi Documentation
WAKE_ON_GPIO
Default: 1 (0 in original version of bootloader 2019-05-10)
POWER_OFF_ON_HALT
If 1 and WAKE_ON_GPIO=0 then switch off all PMIC outputs in halt.

1でWAKE_ON_GPIO = 0の場合、停止中のすべてのPMIC出力をオフにします。

加えて、USB 3.0 コントローラチップの電源管理も改善された模様。

VLI firmware (July 2019)
released as an early beta, then withdrawn following the discovery of a bug. the vli firmware enabled power management in the usb 3.0 controller chip.

初期のベータ版としてリリースされ、バグの発見後に撤回されました。 vliファームウェアは、usb3.0コントローラーチップの電源管理を有効にしました。

2019-09-05 - Git d8189ed4 - (BETA)

  • Update SDRAM setup to reduce power consumption.
    消費電力を削減するためにSDRAMセットアップを更新します。

VLI, SDRAM firmware (September 2019)
the release combines the benefits of the earlier, and now fixed. VLI firmware plus modifications to the way raspberry pi's lpddr4 memory operates.

このリリースは、以前の利点を組み合わせたもので、現在は修正されています。 VLIファームウェアに加えて、ラズベリーパイの LPDDR4 メモリの動作方法の変更。

Clocking, and load-step firmware (October 2019)
the latest public release at the time of writing, this firmware update improves how the system-on-chip can incease and decrease its clock speed and voltage.

執筆時点での最新のパブリックリリースであるこのファームウェアアップデートは、システムオンチップがクロック速度と電圧を増減する方法を改善します。

Beta firmware (Oct soon)
Due for public release soon, the beta firmware build includes power-saving tweaks to the system-on-chip operating voltage and the way HDMI video output works.

間もなく公開される予定のベータファームウェアビルドには、システムオンチップの動作電圧とHDMIビデオ出力の動作方法に対する省電力の調整が含まれています。

こうやって時系列で見ていくと、比較的早めに対策が行われたことがわかります。

The MagPi 88号 は 2019年10月までの記載なので、それ以降の熱に関係しそうな情報を上記 GitHub から抜粋してみます。

2020-01-17 - Git 5e86aac5f (BETA) RC4

  • Fix SD card voltage detection
    SDカード電圧検出の修正。

2020-07-31 Standardize USB port power control accross board revisions - BETA

  • Turn off USB port power for 1-second regardless of boot-mode.
    起動モードに関係なく、USBポートの電源を1秒間オフにします。

2020-08-10 Promote 2020-07-31 release to STABLE

  • The USB port power management change from the last BETA improves compatiblity for devices which during reset with no regressions reported. Make this the latest stable release.
    前回のベータ版(上記 2020-07-31)からのUSBポートの電源管理の変更を最新の安定版リリースにします。