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に接続できていたのに、環境が変わって繋がらなくなった理由がさっぱりわからないのが正直なところ。
さらなる切り分けのためには自宅に持って帰って接続してみるしかないのだが、実家に置いて帰る予定であり、残念ながら真相は藪の中である…。

コメント

このブログの人気の投稿

JP1の定義をドキュメント化するjp1ajs2.jobdocが超便利

curlでADのドメインユーザーでプロキシを超える

ヤマダ電機の安心会員住所変更をした