2019年12月24日

Broadcom でアクセスポイントをつくるためのドライバ

ここ数年の Ubuntu (18.10〜19.10) で Broadcom 製の無線デバイスを使って有線インターネットを共有するために、ドライバを入れるまでの記録。

ドライバの選択肢

歴史的経緯により Broadcom 向けのドライバは複数ある。

b43

あるいは b43legacy

  • Linux カーネルのコミュニティによるリバースエンジニアリングでの開発
  • Ubuntu では firmware-b43-installer をインストールすると自動で適切なファームウェアを入れてくれる

broadcom-wl

  • Broadcom によるプロプライエタリなSTAドライバ
  • Ubuntu でのパッケージ名 bcmwl-kernel-source または broadcom-sta-*
  • 「Additional Drivers (追加のドライバー)」画面から入れることができる

STAはおそらくStation = 端末側、Access Pointの対義語ではなかろうか

brcm80211

別名 brcmsmac (PCIe) / brcmfmac (SDIO/USB)

  • Broadcom によるオープンソース
  • できるだけ新しいチップセットをサポート = 古いものは未対応
  • カーネルに含まれているのでインストール作業は不要

en:users:drivers:brcm80211 [Linux Wireless]

使えるドライバ

まずはデバイスの型番を調べる。ベンダーID 14e4でPCIデバイスを検索。BCM4331という型番を得る。

$ lspci -nn -d 14e4:
03:00.0 Network controller [0280]: Broadcom Limited BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)

Linux Wireless の b43 によれば BCM4331 は、

  • PHY Version が HT-PHY (11n?) なので 5GHz には未対応
  • 使えるドライバは b43 以外では wl (STAドライバ)。brcm80211 はNG (一応TODOリストには入ってる)

一方で wl については他のドライバがサポートしていなかったときにだけ使うべきという警告を見た。Station のためのドライバということはつまり、今回の目的のアクセスポイントになる機能を提供していないのではという懸念点もある。

とりあえず b43 を入れて使っている。が、どうも不安定。無線は飛んでいるのにインターネットはおろかルーター(Ubuntu)までたどり着けなくなる。
そもそも Broadcom は Linux で AP 化するには相性が悪いらしい。本気でやるならドングル買いましょう。

ちなみに create_ap は brmfmac で仮想モード(WiFiをインとアウトどちらにも使う機能)を有効にするとカーネルパニックを引き起こす恐れがあるとして警告を出している→Issue #203 · oblique/create_ap · GitHub
有線の回線を無線を通して共有する場合にはあてはまらない。

参考

posted by かぷらす at 22:40| Comment(0) | 作業記録 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください