0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi Zero Wでhostapdがクラッシュする原因と対策まとめ

Last updated at Posted at 2025-11-10

(本記事は私の考えをAIにまとめてもらい作成しています。最終チェックはしていますが、AIらしい表現が含まれている可能性があります。)

はじめに

Raspberry Pi Zero WをWi-Fiアクセスポイント化(APモード)して使おうとしたときに、
hostapd を起動すると画面が文字化けしてフリーズする現象を経験したことはありませんか?

この問題は、Zero W特有のWi-Fiチップ(Broadcom BCM43430A1)の仕様と
ドライバ(brcmfmac)の不具合が重なった結果として起こるそうです。

とりあえず、ChatGPTがまとめた解決方法をまとめてみましたが、
やっぱり不安定。個体差もあるかもしれませんが。

私のお勧めは、別のWiFiドングル使うか、どうやら安定動作するらしいRaspberry pi4とかで試してみることをお勧めします。

本記事では、再現条件・原因・安定化設定を整理し、
SoftEther VPN + USBドングルをWANにしたWi-Fiルーター構成も紹介します。

🧭 システム構成図

       ┌────────────────────────────┐
       │        Internet (au回線)    │
       └──────────┬─────────────────┘
                  │
            [usb0: LTEドングル]
                  │
     ┌────────────┴────────────┐
     │ Raspberry Pi Zero W      │
     │──────────────────────────│
     │ ・SoftEther VPN client   │
     │ ・dnsmasq(DHCPサーバ)  │
     │ ・hostapd(Wi-Fi AP)    │
     └────────────┬────────────┘
                  │
            [wlan0: SSID "xxx"]
                  │
     ┌────────────┴────────────┐
     │  スマホ / PC / IoT機器   │
     └──────────────────────────┘

この構成では:

usb0:LTEドングル(WAN)

vpn_vpn:SoftEther VPNクライアント経由トンネル

wlan0:ローカルWi-Fi AP(SSID: xxx)

💥 症状

sudo systemctl start hostapd を実行するとフリーズ

シリアルやHDMI出力に以下のようなカーネルメッセージが出る

Process hostapd (pid: XXX)
brcmfmac: brcmf_cfg80211_change_virtual_intf: fail
Kernel panic - not syncing: Fatal exception

🔍 原因

要因 内容
Wi-Fiチップの制限 BCM43430A1 は APモード中の管理フレーム処理が不安定。
brcmfmacドライバの不具合 ieee80211n=1 や wmm_enabled=1 の組み合わせで NULL参照が発生。
省電力機能の干渉 power_save=on のままだとスリープ復帰時に通信制御が暴走。
電圧降下 Zero Wは電源ラインが弱く、瞬断でSDIO通信エラーが起きやすい。

⚙️ 対象機種と発生傾向

機種 Wi-Fiチップ 発生頻度
Pi Zero W BCM43430A1 ★★★(ほぼ確実)
Pi 3 Model B BCM43430A0 ★★(稀に発生)
Pi 3 Model B+ BCM43455C0 ★(軽度)
Pi Zero 2 W BCM43436B0 ★(稀)
Pi 4 / 5 CYW43455/CYW55572 ⚪(安定)

🧩 対策まとめ

✅ ① Wi-Fi省電力を無効化

sudo iw dev wlan0 set power_save off

永続化設定:

echo "iw dev wlan0 set power_save off" | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

✅ ② ドライバの不安定機能を無効化

echo "options brcmfmac feature_disable=0x82000" | sudo tee /etc/modprobe.d/brcmfmac.conf
sudo update-initramfs -u
sudo reboot

feature_disable=0x82000 は AMPDU aggregation / frame burst を停止し、
メモリアクセス競合を防ぎます。

✅ ③ hostapd.conf を安定構成にする

interface=wlan0
driver=nl80211
ssid=xxx
country_code=JP
hw_mode=g
channel=6
auth_algs=1
wpa=2
wpa_passphrase=xxx
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
ieee80211n=0
wmm_enabled=0
ieee80211w=0

11n通信とQoSをOFFにする のがポイント。

✅ ④ 古い安定版hostapdを利用(任意)

sudo apt install hostapd=2:2.9.0-21+rpt1 -y

✅ ⑤ RF-kill(Wi-Fiブロック)解除

sudo rfkill unblock all
sudo ip link set wlan0 up

再発防止設定:

sudo tee -a /etc/rc.local <<'EOF'
rfkill unblock all
iw dev wlan0 set power_save off
exit 0
EOF

💡 トラブル時の確認コマンド

内容					コマンド
wlan0の状態確認			ip addr show wlan0
hostapdエラー確認		`sudo journalctl -xeu hostapd
Wi-Fiブロック状態確認	sudo rfkill list all
DHCP配布確認				sudo journalctl -fu dnsmasq

🔧 電源と安定運用の注意点

5V 2A以上の電源を推奨。

USBハブ経由でLTEドングルや他デバイスを接続する。

起動順序:
usb0(dhcp) → vpnclient → hostapd → dnsmasq の順が安定。

🧾 参考リンク

Raspberry Pi Firmware Issue #1463 — WiFi firmware brcmfmac crashes when using virtual AP interface

Raspberry Pi Linux Issue #7033 — Kernel crash in brcmfmac driver when hostapd is running

Pi Forum — Pi 3 internal WiFi adaptor stopping when used as AP

StackExchange — Make iw wlan0 set power_save off permanent

🏁 まとめ

状況 対策
起動直後にクラッシュ feature_disable=0x82000
数分後にフリーズ power_save off
DHCPが効かない wlan0 に固定IP付与、dnsmasq再起動
Wi-Fiが再起動後に消える rfkill unblock all
どうしても不安定 外付けWi-Fiドングル使用 or Pi 4移行

🎯 結論

Raspberry Pi Zero W は軽量で便利ですが、
内蔵Wi-Fiチップ(BCM43430)はAPモードでは構造的に不安定です。

長期運用やVPNルーター用途では、

外付けWi-Fiドングル

Raspberry Pi 4以上
への移行を検討するのが現実的です。

💡 動作検証環境

Raspberry Pi Zero W

Raspberry Pi OS Bookworm Lite (kernel 6.6.31-v7+)

hostapd 2.10 / 2.9.0-21+rpt1

dnsmasq + SoftEther VPN client 構成

電源 5V 2A(セルフパワーUSBハブ経由)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?