FreeBSDのWiFiドライバーは2015年にifnetのKernel Programming Interfaceの変更にともない修正が入りました。この修正はリリースバージョンでは11で反映されました。それまではifnetをそれぞれのデバイスが持っていた物をwlanに集約して、それぞれのドライバーからifnetを削除するという修正でした。すべてのWiFiドライバに修正が入っているのでかなり大規模な修正でした。
この修正でifconfigでWiFiのデバイスが表示されなくなり、代わりにsysctlで確認できるようになりました。
# sysctl net.wlan.devices
net.wlan.devices: otus0
生のWiFiのデバイスはifではないという考えに基づく変更ではないかと思います。
ちなみにotusは11でサポートされた、AtherosのAR9系WiFiのドライバーです。
wlanを作りwpaコマンドを使うのは従来通りです。
# ifconfig wlan0 create wlandev otus0 country JP
# ifconfig wlan0 up scan
country JPは/etc/regdomain.xmlに書かれた国毎の設定が反映されます。これを付けなかったり、日本以外を設定すると、いくら技適マークが入ったモジュールを使っていても、電波法違反となりますので注意してください。
アクセスポイント(HOSTAP)に接続する場合(STA)は以下のようにします。
# kldload wlan_ccmp wlan_tkip wlan_wep
# wpa_passphrase ssid password > /tmp/wpa.conf
# wpa_supplicant -i wlan0 -c /tmp/wpa.conf
これでwlan0にdhclientをするかifconfigで固定アドレスを設定すれば通信できます。
wlan0がどのデバイスで動いているかはifconfigには出てこないので以下で確認できます。
# sysctl net.wlan.0.%parent
net.wlan.0.%parent: otus0
hostapdを使ったAPも試してみましたが、うまくいきません。以前試したときのようにMac OS X雪豹から接続すると、接続してすぐに切断されてしまいます。Mac OS X側にTimeoutとログが出ているので、なにかが足りないのかもしれません。
よく見かけるWiFiデバイスのリスト
デバイス | 接続 | メーカー | チップ | タイプ | 備考 |
---|---|---|---|---|---|
otus | USB | Atheros | AR9170 | n | HOSTAPのサポートは無いようです |
ath | PCI,CardBus | Atheros | AR5212 | g | |
uath | USB | Atheros | AR5005UG and AR5005UX | g | |
ral | PCI | Ralink | RT2500, RT2501, RT2600, RT2700, RT2800, RT3090 and RT3900E | g/n | nのサポートは無い |
ural | USB | Ralink | RT2500USB | g | |
rum | USB | Ralink | RT2501USB and RT2601USB | g | |
run | USB | Ralink | RT2700U, RT2800U, RT3000U and RT3900E | n | 対応チップのVersionは、2860, 2872, 3070, 3071, 3572, 3593, 5390, 5392, 5592。 |
bwi | PCI,CardBus | Broadcom | BCM43xx | g | CardBusのモジュールをいくつか持っていますが、エラーが出て使えませんでした |
bwn | PCI,CardBus | Broadcom | BCM43xx | g | |
rsu | USB | REALTEK | RTL8188SU/RTL8192SU | n | |
rtwn | PCI | REALTEK | RTL8188CE-VAU/RTL8188CUS/RTL8188EU/RTL8188RU/RTL8192CU/RTL8812AU/RTL8821AU | n | |
urtwn | USB | REALTEK | RTL8188CU/RTL8188RU/RTL8188EU/RTL8192CU | n | |
urtw | USB | REALTEK | RTL8187B/L | g | |
zyd | USB | ZyDAS Technology(Atheros) | ZD1211/ZD1211B | b |
最初のFreeBSDのWiFiスタックはNetBSDのものをポートしたようです。オリジナルはWIDEの尾上淳(Atsushi Onoe)さんが作った物ようです。現在のスタックはそれをSam Lefflerさんが作り直した物との事です。
BroadcomのWiFiサポートを作り直すbhndというPJがあります。
参考