手順
① wifi-fixという実行ファイルを作る。
sudo /usr/local/bin/wifi-fix
② 以下の内容を保存
Wi-Fi のドライバを一度強制終了して、もう一度ロードします。
./usr/local/bin/wifi-fix
#!/bin/bash
echo "Starting full hardware reset for Wi-Fi recovery..."
# 1. ネットワーク管理をオフ
sudo nmcli networking off
# 2. 依存関係を順番にアンロード (逆順にバラす)
# tiny-dfrが動いているとDRMが抜けないので先に止める
sudo systemctl stop tiny-dfr
# 万が一、プロセスが残っていた場合の強制終了
# sudo pkill -9 tiny-dfr
sudo rmmod appletbdrm
sudo rmmod hid_appletb_kbd
sudo rmmod hid_appletb_bl
# Wi-Fiモジュールを抜く
sudo modprobe -r brcmfmac_wcc
sudo modprobe -r brcmfmac
# 最後に大元の apple-bce を強制的に抜く
sudo rmmod -f apple-bce
echo "Hardware stack unloaded. Rebuilding..."
# 3. 順番にロードし直す (土台から組み立てる)
sudo modprobe apple-bce
sleep 2
sudo modprobe brcmfmac
sudo modprobe brcmfmac_wcc
# その他周辺デバイスの復元
sudo modprobe hid_appletb_bl
sudo modprobe hid_appletb_kbd
sudo modprobe appletbdrm
# 4. ネットワークと表示系を再開
sudo nmcli networking on
# systemdの状態を一度クリアしてから再起動
# sudo systemctl reset-failed tiny-dfr.service
sudo systemctl restart tiny-dfr
# スリープ復帰時のような「輝度調整の不具合」も直したい場合は以下を有効化
# sudo systemctl restart upower
# sudo /usr/bin/sh -c "echo 255 | tee /sys/class/leds/apple::kbd_backlight/brightness"
echo "Full reset complete. Wi-Fi should be back online."
③ 実行許可を与える
sudo chmod +x /usr/local/bin/wifi-fix
実行方法
wakaba@fedora ~ % sudo /usr/local/bin/wifi-fix
Starting full hardware reset for Wi-Fi recovery...
Hardware stack unloaded. Rebuilding...
Full reset complete. Wi-Fi should be back online.
wakaba@fedora ~ % wifi-fix
Starting full hardware reset for Wi-Fi recovery...
[sudo] wakaba のパスワード:
Hardware stack unloaded. Rebuilding...
Full reset complete. Wi-Fi should be back online.
wakaba@fedora ~ %