FreeBSD Daily Topics

2008年5月2日ワイヤレスドライバの設定方法概論

Wireless

ワイヤレスドライバは現在活発な開発状況にあり、設定方法は随時変更されています。以前は読み込まなければなからなったカーネルモジュールを明示する必要がなくなったり、機能が統廃合されて別のモジュールを使うようになるといった変更があります。ここではワイヤレスドライバの状況を簡単にまとめます。

an(4)Aironet Communications 4500/4800ワイヤレスネットワークアダプタドライバ
arl(4)Aironet Arlan 655ワイヤレスネットワークアダプタドライバ
ath(4)Atheros IEEE 802.11ワイヤレスネットワークドライバ
awi(4)AMD PCnetMobile IEEE 802.11 PCMCIAワイヤレスネットワークドライバ
cnw(4)Netwave AirSurferワイヤレスネットワークドライバ
ipw(4)Intel PRO/Wireless 2100 IEEE 802.11ドライバ
iwi(4)Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.1ドライバ
malo(4)Marvell Libertas IEEE 802.11b/gワイヤレスネットワークドライバ
ral(4)Ralink Technology IEEE 802.11ワイヤレスネットワークドライバ
rum(4)Ralink Technology USB IEEE 802.11a/b/gワイヤレスネットワークデバイス
wpi(4)Intel 3945ABG Wireless LAN IEEE 802.11ドライバ
zyd(4)ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/gワイヤレスネットワークデバイス

どのデバイスドライバが該当するかわからない場合は、/usr/src/sys/dev/以下をgrep -irで再起検索するなどして、デバイス名やデバイス名に含まれている番号などから検索をかけます。たとえばIntel PRO/Wireless 3945ABGのデバイスドライバを探したいのであれば、プロンプト.1のように⁠3945⁠などで検索をかけます。この例であればwpi(4)がそれにあたることがわかります。

 Intel 3945ABGワイヤレスデバイスドライバを探す例 - 結果はwpi(4)
% cd /usr/src/sys/dev/
% grep -ir "3945" *      
ispfw/asm_2300.h:	0x00b6, 0x0003, 0x8072, 0x0000, 0x2020, 0x0008, 0x3945, 0x000a,
ispfw/asm_2300.h:	0x092c, 0x0003, 0x8072, 0x0000, 0x1000, 0x0000, 0x3945, 0x000a,
ispfw/asm_2322.h:	0x000b, 0xc21c, 0x000f, 0x4000, 0x000a, 0x3945, 0x0003, 0x8a28,
ispfw/asm_2322.h:	0x0000, 0x8072, 0x0008, 0x4040, 0x0007, 0x0000, 0x000a, 0x3945,
ispfw/asm_2322.h:	0x0007, 0x0000, 0x0007, 0x0000, 0x0007, 0x0000, 0x000a, 0x3945,
ispfw/asm_2400.h:	0x0201f800, 0x00103945, 0x49a1d80b, 0x5c025800,
wpi/if_wpi.c: * Driver for Intel PRO/Wireless 3945ABG 802.11 network adapters.
wpi/if_wpi.c: * The 3945ABG network adapter doesn't use traditional hardware as
wpi/if_wpi.c:	{ 0x8086, 0x4222,    0x0, "Intel(R) PRO/Wireless 3945ABG" },
wpi/if_wpi.c:	{ 0x8086, 0x4227,    0x0, "Intel(R) PRO/Wireless 3945ABG" },
wpi/if_wpi.c:	{ 0x8086, 0x4222, 0x1005, "Intel(R) PRO/Wireless 3945AB"  },
wpi/if_wpi.c:	{ 0x8086, 0x4222, 0x1034, "Intel(R) PRO/Wireless 3945AB"  },
wpi/if_wpi.c:	{ 0x8086, 0x4222, 0x1014, "Intel(R) PRO/Wireless 3945AB"  },
wpi/if_wpi.c:	{ 0x8086, 0x4222, 0x1044, "Intel(R) PRO/Wireless 3945AB"  },
wpi/if_wpi.c:			 * Some 3945ABG adapters support channels 7, 8, 11
% 

該当するデバイスドライバを見つけたら、あとはそのオンラインマニュアルに従って設定を行います。設定方法はFreeBSDのバージョンが違ったり、8-CURRENTでも開発の進捗によって違いますので注意してください。たとえばwpi(4)を使う場合、2008年4月24日現在の8-CURRENTでは/boot/loader.confにリスト1の設定を書き込むように求められますが、2008年4月12日現在の7-STABLEでは/boot/loader.confにリスト2を書くように求められます。

リスト1 wpi(4)デバイスドライバを有効にするための設定例 - 8-CURRENT 2008/04/24
if_wpi_load="YES"
legal.intel_wpi.license_ack=1
リスト2 wpi(4)デバイスドライバを有効にするための設定例 - 7-STABLE
if_wpi_load="YES"
wlan_load="YES"
wlan_amrr_load="YES"
firmware_load="YES"
wpifw_load="YES"
legal.intel_wpi.license_ack=1

ライセンスの関係で、⁠legal.intel_wpi.license_ack=1⁠のようにライセンスに同意することを示す設定を/boot/loader.confに追加する必要がある点はこれまでの設定とかなり違う部分です。

SSIDや暗号方法などは/etc/wpa_supplicant.confファイルに記載しておくと便利です。/etc/wpa_supplicant.confにどういった設定を書くかはwpa_supplicant.conf(5)オンラインマニュアルに説明とサンプルがありますので、こちらを参考にしてください。

リスト3 /etc/wpa_supplicant.confファイルの設定例 - WPA/WPA2-PSKの場合
network={
    ssid="ここにSSID"
    scan_ssid=1
    key_mgmt=WPA-PSK
    psk="ここに共有パスワード"
}
リスト4 /etc/wpa_supplicant.confファイルの設定例 - WEPの場合
network={
    ssid="ここにSSID"
    scan_ssid=1
    key_mgmt=NONE
    wep_tx_keyidx=1
    wep_key0=ここにWEPキー
}

/etc/wpa_supplicant.confファイルを作成するかわりに、⁠/etc/start_if.インターフェース名」のファイルを作成してそこに設定するためのコマンドを書いておくといった方法もあります。適材適所に使い分けてください。

おすすめ記事

記事・ニュース一覧