MACBOOKのBCM4321がWifiに接続できない問題
環境が変わって無線LANが繋がらなくなる
先日Linux化したMacbook4.1(2008 early)を実家用PCにしようと思い持って帰ったら、家のWifiには問題なく繋がってインターネットに出て行けてたにも関わらず、何故かWifiには接続できてDHCPからIPも落ちてきているのに、ゲートウェイとなるルーターにPINGも飛ばないし、ネットにも出られないという謎事象に陥った。まずは結論
結論から言うと、broadcom製の無線nicのドライバが間違っており、ちゃんと通信できていなかった。そのため、プロプライエタリのドライバモジュールであるwlを消してしまい、オープンソースのb43を有効にすることで解決した。
カードの情報
$ lspci | grep -i broadcom
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4321 802.11a/b/g/n (rev 03)
切り分け
- 無線LANルーターだけではなく、スマホのWifiテザリング(=別の無線LANルーター)でもNG。
- BluetoothテザリングならOK。
- DNSの解決ができてないが、そもそもゲートウェイに到達できない。
上記より、ルーターとかDNSの問題ではなく、macbook側のWifiの問題だろうという当たりをつけたが、ドライバの問題に行き着くまでに時間がかかった。
以下のubuntuのwikiにbrocade製のドライバの設定方法が記載されていた。
もともとプロプライエタリ版のドライバが組み込まれており、wlのモジュールが使用されていたのだが、どうやらwlだとNGで、b43を使うと接続できることがわかった。
とりあえず接続できるように設定変更
以下のコマンドでwlを無効化し、b43を使用するようにしたところ、ルーターのIPと疎通がとれ、インターネットにも出られるようになった。
modprobe -r wl
modprobe b43
再起動してもb43を使えるようにする
ただし、再起動するとwlのほうが組み込まれてしまい、b43を有効化できない。
/etc/modprobe.d/blacklist.confあたりを弄って、wlをブラックリストにしたりbcm43xxをコメントアウト化してみても変わらず。#blacklist bcm43xx
blacklist wl
悩んだ結果、wlのモジュールごと消してしまおうという結論にいたり、削除。
sudo apt remove bcmwl-kernel-source
これで再起動後もb43が使われるようになった。
駄目になった原因が不明
自宅では問題なくWifiに接続できていたのに、環境が変わって繋がらなくなった理由がさっぱりわからないのが正直なところ。
さらなる切り分けのためには自宅に持って帰って接続してみるしかないのだが、実家に置いて帰る予定であり、残念ながら真相は藪の中である…。
コメント
コメントを投稿