« JavaScriptでvi ? | メイン | Webのデバッグツール »

Linuxで無線LAN

え~昨日の続きです。

まずは、WEPで接続してみましょう!

# iwconfig eth4 essid "xxxxxxxx"
# iwconfig eth4 key s:1234567890123
# dhclient eth4

お~つながりました。

iwconfigのkey登録は、文字列で設定する場合は、s:文字列で16進で入力する場合は、0102-0304-xxxxの様に、2バイトずつハイフンを入れる必要があるようです。

次にWPAですが、WPAを設定するには、wpa_supplicantが必要なので、下記のようにしてインストールしましょう。(Debian Etchの場合です)

# apt-get install wpasupplicant

次に、PreSharedKeyを作成します。

wpa_passphrase ssid passphrase

なので

# wpa_passphrase myid mypass > /etc/wpa_supplicant/wpa_supplicant.conf

中身は

network={
ssid="myid"
#psk="mypass"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

となっています。

認証方式にWPA-PSKを使用し、暗号方式をTKIPとする場合は下記のように修正します。

network={
ssid="myid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

認証方式にWPA-PSKを使用し、暗号方式をAESとする場合は下記のように修正します。

network={
ssid="myid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

認証方式にWPA2-PSKを使用し、暗号方式をTKIPとする場合は下記のように修正します。

network={
ssid="myid"
proto=RSN
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

認証方式にWPA2-PSKを使用し、暗号方式をAESとする場合は下記のように修正します。

network={
ssid="myid"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

ちなみに、supplicantを使用してWEP128を使用する場合は下記のように修正します。

network={
ssid="myid"
key_mgmt=NONE
wep_key0="1234567890123"
wep_tx_keyidx=0
}


設定が済んだら、下記コマンドを実行して動作確認をしましょう!

wpa_supplicant -i eth4 -c /etc/wpa_supplicant/wpa_supplicant.conf -w
・・・
CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completed ・・・

上記のようなメッセージが出力されたら、無事に設定は完了です。
なので、下記のコマンドを実行してバックグラウンドで実行しましょう!!

wpa_supplicant -i eth4 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

次に、IPアドレスを設定して終了です。
DHCPの場合は

dhclient eth4
・・・
bound to xxx.xxx.xxx.xxx -- renewal in xxxxx seconds.

とIPアドレスが表示されれば正常に取得できたと言うことです。


ちなみに、私がはまったのは上記のwpa_supplicantを実行した際に正常にSSIDが設定されないので、接続できない問題でした。

これは、バグなんでしょうね~
回避方法は、下記のように手動でSSIDを設定すればOKです。

iwconfig eth4 essid "myid"

まぁ~ここまで来たら、起動時に認識させたいですよね~
その場合は"/etc/network/interface"に下記を追加します。

auto eth4
iface eth4 inet dhcp
wireless-essid myid ←上記のSSIDが設定されないバグの回避
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

以上でOK!

あとは、ifup eth4 and ifdown eth4でON/OFFが出来ます。

ちなみに、今回使用した無線LANカード(WLI-CB-G54HP)はBroadcomの4318チップを使用していました。このチップのカーネルドライバにまだ問題があるみたいで、設定を変更しての再接続が出来ないことが多く、そのたびにmodprobe -r bcm43xxとmodprobe bcm43xxを実行しなければいけませんでした。

まぁ、それ以外は正常に動作しているので、OKでしょう~(^。^)y-.。o○

トラックバック

このエントリーのトラックバックURL:
http://www.youchikurin.com/mt/mt-tb.cgi/118

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年06月20日 20:20に投稿されたエントリーのページです。

ひとつ前の投稿は「JavaScriptでvi ?」です。

次の投稿は「Webのデバッグツール」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35