RaspberryPi5の”電源ボタン”について調査する🔍

自分の元にもRaspberryPi5がやってきました。今回は結構ラッキーなタイミングで告知を見ることができたので購入できました。ただ、到着まではなぜかかなり時間がかかってしまい、初期購入勢のブログをみてあーネタがなくなってしまうなあという感じでした。新製品のスタート直後の情報は生モノです。

ascii.jp

ひとしきりネタがなくなってきてはいますが、購入前から気になっていた電源ボタンについてどんな感じなのか調べてみました。

RaspberryPi5の電源ボタン

RaspberryPi5にはこれまでなかった電源ボタンがあります。

SDカードの近くににあります。以前から電源ボタンがあるといいのにと思うことがかなりあったので、これはいいんじゃない?と気になっていました。これまでは電源共有用のケーブル(ACアダプタ)に電源スイッチのついたものを使用していました。これはこれで便利なんですが、製品によっては電源不足になるようなケーブルもあるので過信はできない状況でもあります。

現在はこちらに落ち着いています。ケーブルの太さは細いですが、RaspberryPi4Bでも電源不足にはなっていません。

では、USB Type-Cコネクタ経由で電源ケーブルを接続すると…電源が入りました😯おや?普通にブートしてしまいます。「電源ボタンの意味とは?」という顔になってしまいました。

この動きはどうも想定どおりのようなので、その他はどういう挙動になるかを調べてみます。では、RaspberryPishutdownをしてみます。自分は最近はpoweroff派です。

$ sudo poweroff

通電したまま(赤いLEDが点灯したまま)shutdownが行われました。本体には電源が通電しています。ここで、電源ボタンを押すと…再起動しました。shutdown後に再起動するには電源ケーブルの抜き差しが必要だったので、これはちょっと便利かなってレベルでした。

現在わかったことは以下の2点です。

  • 結果1:電源をそのまま接続するとRaspberryPiは電源ボタンを押さなくても起動する。
  • 結果2:shutdownなどを行って待機電源が入力されている場合には、電源ボタンを押すと起動(リスタート)を行う。

起動時に電源ボタンを押すとどうなるのか?

では、起動時に電源ボタンを押すとどうなるのかというと、1回目は何も起きませんが、2回目は電源が切れます(待機電源は入ったまま)2回目のボタンを押す間隔が比較的ながくても電源が切れました。CLIのコンソールでは特になにも表示されず、ズドンと落ちます。割と怖い仕様です。シャットダウンが行われているのか不明ですが物理で落としているのでしょうか。

ではX側ではなにか警告がでているのかも確認してみたいと思います。 X側も同様に1回目も押下も2回目の押下も関係なくズドンと電源が落ちます(待機電源は入ったまま)。

  • 結果3:2回押すと電源が切れる。ただし、待機電源は供給されている。
  • 結果4:1回目と2回目の押す間隔は関係なさそう。2回目で問答無用にシャットダウンされる。

ということがわかりました。1回目に押したときになにかダイアログや反応があって、もう1回押すと強制的に切れるのかなと期待していたので、少しびっくりしました。

まだだ!まだ終わらんよ!

RaspberryPi5の新しい機能である電源ボタンについて挙動を調べて見ましたが、自分が想定していた機能とはちょっと違う感じでした。とはいえ割り込みなどを検知してシャットダウンのプロセスに入ってくれるくらいはできるのではないかと思い、もう少し調べてみました。すると公式ページにはこんな風に書いてあります。

https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html

Turning it off and back on again

When you plug your Raspberry Pi into power for the first time, it will automatically turn on and boot into the operating system without having to push the button.

If you run Raspberry Pi Desktop, you can initiate a clean shutdown by briefly pressing the power button. A menu will appear asking whether you want to shutdown, reboot, or logout:

画像も参照

X環境では、shutdownするかダイアログが表示され尋ねられるという動きだそうです。ただし、RaspberryPi OS Liteの場合には1回でシャットダウンになる模様。

公式ページの内容と、自分の実験とは明らかに動作が違っているようです。違いはヘッドレス環境でのVNC接続HDMI経由での画面出力かぐらいかなと思い、試しにHDMI経由でモニタ接続を行い、同じ動作を行ってみると…

この予想は大当たりだったようです。HDMI接続をしていれば1回目の電源ボタン押下で確認ダイアログが表示されました。(公式ドキュメントと同じ動き)こんなところで、またしても引っかかるとは…トホホ。

そして、モニター接続時であれば、どうやらshutdownプロセスもちゃんと行ってくれてそうな感じでした。

まとめ

ヘッドレス環境の場合

  • 電源をそのまま接続するとRaspberryPiは電源ボタンを押さなくても起動する。
  • shutdownなどを行って待機電源が入力されている場合には、電源ボタンを押すと起動(リスタート)を行う。
  • 2回押すと電源が切れる。ただし、待機電源は供給されている。
  • 電源ボタンの1回目と2回目の押す間隔は関係なさそう。2回目で問答無用にシャットダウンされる。確認ダイアログは表示されない。
  • 電源ボタン長押しでもシャットダウン

HDMI経由でモニタ接続を行っている場合

  • 電源をそのまま接続するとRaspberryPiは電源ボタンを押さなくても起動する。(上記と同じ)
  • shutdownなどを行って待機電源が入力されている場合には、電源ボタンを押すと起動(リスタート)を行う。(上記と同じ)
  • 1回押すとX環境であれば確認ダイアログが表示され、以降の動作について尋ねられる。CLI環境ではshutdownされる(OSがLiteの場合も同様)
  • X環境であれば電源ボタンを2回押したときも、shutdownプロセス後shutdownされる模様(アクセスランプの点滅がみられたため)。
  • 電源ボタン長押しでもshutdownは行われる。

おわりに

電源ボタンにまで嫌われるとは…😭

/* -----codeの行番号----- */