スズハドットコム

IT関連や3Dプリンタの記事、たまに生活のメモを書いていきます。

Raspberry PiのWi-Fi接続が不安定なのをPower Management設定変更で解決した

自分用メモです。
(2023/12/30)Raspberry Pi Zero 2 WだけでなくRaspberry Pi 4Bでも同じ事象が発生し、同じ手順で解決できたので、一部更新しました。

Raspberry PiのWi-Fi接続が不安定な(と思われる)状況で

  • SSH接続がちょいちょい固まったり切れたりして操作がままならない
  • (Webサーバにしている場合)時々応答が遅かったり、返ってこなかったりする

という不具合を、Wi-FiのPower Managementをオフにすることで解消しました。

環境

Raspberry Pi Zero 2 W / Raspberry Pi 4B
Raspberry Pi OS 11 (bullseye)

初期状態

iwconfigで確認すると、Power Managementはオンです。

$ iwconfig wlan0
(略)
Power Management:on

Power Managementをオフにしてみる

iwconfigコマンドで設定変更できます。

$ sudo iwconfig wlan0 power off
$ iwconfig wlan0
(略)
Power Management:off

ただしこれは一時的な設定変更で、Raspberry Piを再起動するとオンに戻ってしまいます。

この状態で、SSH接続やWebサーバの応答が不安定な現象が解決しているかどうか確認します。
解決していれば、この設定を永続化しましょう。

再起動してもPower Managementがオフになるようにする

ネットワークデバイスの設定を変更するのが正攻法かと思いますが、1時間ほど悩んでうまく設定できなかったので、手っ取り早くOS起動時にiwconfigコマンドを自動で叩くことにしました。
/etc/rc.localの末尾のほうにコマンドを追記します。

$ sudo vi /etc/rc.local

末尾の「exit 0」の前に、赤文字部分を追記しました。

#!/bin/sh -e
#
# rc.local
(略)

# Wi-Fi power management OFF
iwconfig wlan0 power off

exit 0

OS再起動後、iwconfig wlan0コマンドを叩いてみて、Power Managementがオフになっていれば成功です。