Vostro1400で無線LAN(WPA-PSK)(Fedora編)

DELLのVostro1400(Inspiron1420)で無線LAN接続したときの設定を書いておく。
暗号はWPA-PSK、DHCPは使わずIPアドレスは192.168.0.10に固定、ゲートウェイは192.168.0.1(ブロードバンドルータDNSサーバ機能有り、IPv6未対応)、SSIDステルス、Macアドレスフィルタリングという状況である。
残念ながらNetworkManagerを使うと接続に失敗するので、設定ファイルを直接書き直す方法を取る。


$ []lspci |grep Network[]
[]0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)[]

$ []lsmod |grep iwl[]
[]iwl3945 160565 0[]
[]mac80211 125265 1 iwl3945[]


$ []cat /etc/modprobe.conf[]
.....
[]alias wlan0 iwl3945[] 無線インターフェイスはwlan0
.....
[]install ipv6 /bin/true[] ipv6モジュールをロードしない

$ []sudo cat /etc/sysconfig/network-scripts/ifcfg-wlan0[] []詳しくは/usr/share/doc/initscripts-8.60/sysconfig.txt参照[]
[]# Intel Corporation PRO/Wireless 3945ABG Network Connection[]
[]DEVICE=wlan0[]
[]BOOTPROTO=none[] DHCPを使わない
[]ESSID=[]MySSID
[]HWADDR=[]xx:xx:xx:xx:xx:xx Macアドレス。ifconfig wlan0でHWaddrに表示される値を入れる。
[]IPADDR=192.168.0.10[]
[]NETMASK=255.255.255.0[]
[]ONBOOT=yes[] 起動時にロード

$ []cat /etc/sysconfig/network[]
[]NETWORKING=yes[]
[]IPV6INIT=no[]
[]NETWORKING_IPV6=no[]
[]HOSTNAME[]=MyHostName /etc/hostsで指定、通常localhost
[]GATEWAY=192.168.0.1[]

$ []cat /etc/resolv.conf[]
[]nameserver 192.168.0.1[] ルータをDNSサーバとして使用

$ []cat /etc/sysconfig/wpa_supplicant[]
[]INTERFACES="-iwlan0"[]
[]DRIVERS="-Dwext"[]

$ []sudo cat /etc/wpa_supplicant/wpa_supplicant.conf[]
[]#ifcfg-wlan0[]
[]ctrl_interface=/var/run/wpa_supplicant[]
[]ctrl_interface_group=0[] rootグループだけが読み込み可
[]ap_scan=1[]
[]network={[]
[] ssid[]="MySSID"
[] key_mgmt=WPA-PSK[]
[] proto=WPA[]
[] pairwise=TKIP[]
[] group=TKIP[]
[] psk[]="My_pre_shared_key" 16進数を使う場合は"をはずす。参考
}

# []ifdown wlan0 ; service wpa_supplicant ; ifup wlan0[]
で接続される。

init scriptでの注意点

wpa_supplicantはS27messagebusサービス起動後にしか起動しない。したがってS28以降にするべし。
wlan0はwpa_supplicant起動後にしか接続されない。さらに起動直後だと接続に失敗しやすい。したがってS10networkではwlan0をifupしても無意味。そこで/etc/rc5.d/S10networkを削除し、
S10loup

#!/bin/sh
ifup lo

S99wlan

#!/bin/sh
ifup wlan0

を作成してchmod a+xし、/etc/rc5.d/以下に置いておく。

2008/04/19追記

/etc/sysconfig/wpa_supplicantの書式変更も参照してください。