mattintosh note

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

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