mattintosh note

どこかのエンジニアモドキの備忘録

2024-06-05: 現在ホビー関連の記事を hobby.mattintosh-note.jp に移行しています。
現在掲載されている一部の画像と今後掲載される画像は特定の環境から閲覧できなくなります。

Raspberry Pi 3 の無線省電力機能をオフにする

hostapd で無線 LAN アクセスポイント化している Raspberry Pi 3 のワイヤレスパワーマネジメント機能を切ろうと思ってちょっと試してみたら iwconfig だと弾かれるらしい。txpower は使えるんだけどな…。

$ sudo iwconfig wlan0 power off
Error for wireless request "Set Power Management" (8B2C) :
    SET failed on device wlan0 ; Invalid argument.

iw コマンドでは正しく動作する。

$ sudo iw dev wlan0 set power_save off
$ iw dev wlan0 get power_save
Power save: off
$ iwconfig wlan0
wlan0     IEEE 802.11bgn  Mode:Master  Tx-Power=31 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

hostapd が起動した後にパワーマネジメント機能を無効にするために /usr/lib/systemd/system/multi-user.target.wants/hostapd.serviceExecStartPost= 行を追加する。

[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=network.target

[Service]
ExecStart=/usr/bin/hostapd /etc/hostapd/hostapd.conf
ExecStartPost=/usr/bin/iw dev wlan0 set power_save off
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

変更を反映させる。

$ sudo systemctl daemon-reload