2009年4月6日月曜日

無線Lan(手動)

注意!!内容中に示してあるコマンド等で横長になっているものは途中で切れている可能性があります。(どうやったら、もう少し一行の文字数を増やせるのかな?(^^;;)

S101を買った時に、無線ルーターなるものをはじめて買った。
バッファローのWHR-G300N
S101からこのWHR-G300NにWPAで接続してみた。

wikiにある参考ドキュメントは2個
Wireless_Setup
WPA_Supplicant

まず、ArchLinuxの現在のデフォルトのカーネル(kernel26 2.6.28.8-1)では、S101の無線LANデバイスは認識され、ドライバもロードされている。ドキュメントの通り試してみると以下の通り。

# lspci | grep -i net
01:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)
02:00.0 Ethernet controller: Attansic Technology Corp. L1e Gigabit Ethernet Adapter (rev b0)

# lsmod | grep ath
ath9k 252216 0
mac80211 161184 1 ath9k
led_class 5508 1 ath9k

あちこちで情報が出ているとおりS101はチップがAtherosのAR928Xでドライバはath9kモジュールが読み込まれる。

Wireless_Setupドキュメントに従って、wireless_toolsパッケージをインストールした。
このパッケージにiwconfigとかが入っている。

まずはiwconfigコマンドでインターフェイス名の確認(eth0とかwlan0とか)

# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11bgn ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=0 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


デバイス名はwlan0になっているので、ifconfigで、このデバイスを起動する。

# ifconfig wlan0 up
# ifconfig
    ・
    ・
    省略
    ・
    ・

wlan0 Link encap:Ethernet HWaddr 00:22:43:4B:D4:91
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

    ・
    ・
    省略
    ・
    ・

ここでiwlistでスキャンするとアクセスポイントが見つかるはず。(自分のところのが出ないときは、何度かやってみる)

# iwlist wlan0 scan
wlan0 Scan completed :
    ・
    ・
    省略
    ・
    ・
Cell 02 - Address: 00:1D:73:D2:0A:AC
ESSID:"MYHOMENET"
Mode:Master
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=85/100 Signal level:-40 dBm Noise level=-95 dBm
Encryption key:on
    ・
    ・
    省略
    ・
    ・
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
    ・
    ・
    省略
    ・
    ・
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 12 Mb/s
24 Mb/s; 48 Mb/s
Extra:tsf=000000000004fd98
Extra: Last beacon: 623ms ago

Wireless_Setupドキュメントはここまで。WPAを使うので、ここからWPA_Supplicantドキュメントに従ってみる。
まずは、wpa_supplicantパッケージをインストール。
次に、/etc/wpa_supplicant.confを/etc/wpa_supplicant.conf.originalなどの名前でバックアップ用にコピー。(後で、wpa_supplicant.confの中身を完全に書き換えてしまうので、元々書かれている設定サンプルの内容を必ずバックアップしておくことを忘れない!)

WPAで認証に必要になるのはSSIDとパスワード。このうち、WPAの無線ネットワークではパスワードが16進数文字列で通信されるらしく、これにエンコードしなければならないらしい。この作業をwpa_passphraseコマンドが引き受けてくれる。SSIDとパスワードが以下のようなものなら、次の用にコマンドを打ってみる。

SSID:MYHOMENET
PASS:ho5ge8hage319

# wpa_passphrase MYHOMENET ho5ge8hage319
network={
ssid="MYHOMENET"
#psk="ho5ge8hage319"
psk=1e6934d7b5410df7b217aca7e14c745d2231a7c4b5dcd945a925007cb21411bf
}

結果は、標準出力に出るが、実はこれ自体がwpa_supplicant.confでの設定書式になっている。
そこで、wpa_supplicant.confに設定を書き込むためには単純に次のコマンドでOK。

# wpa_passphrase MYHOMENET ho5ge8hage319 > /etc/wpa_supplicant.conf

追加のアクセスポイントがある場合、同じようにwpa_passphraseコマンドで設定書式を作り、リダイレクトを今度は「>」では無くて、「>>」でファイルに追加する形にすればよい。
最後に、wpa_supplicant.confファイルの先頭に次の一行を書き込む。

ctrl_interface=DIR=/var/run/wppa_supplicant GROUP=wheel

以上で、設定ファイルは完成。この設定ファイルを元にwpa_supplicantコマンドを実行するとWPAの暗号を介した通信が出きるようになる。WPA_Supplicantドキュメントによれば、ここで以下のコマンドを実行してみると書かれている。


# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf


ここで、-Dオプションは無線LANデバイスに応じたドライバの指定で、S101の場合、wextドライバでOK。-Bオプションはバックグラウンドで実行のためのオプション。他は見ての通り、インターフェイスと設定ファイルの指定オプション。他にデバッグ用の-dオプション(or -ddでもっといっぱいデバッグ用表示)があるとのこと。テストなら、-Bを外して、-dとか-ddオプションを付け加えて実行してみる。


# wpa_supplicant -dd -Dwext -i wlan0 -c /etc/wpa_supplicant.conf

標準出力に多分一生懸命働いてる様子がいっぱい表示されてしばらくすると、おとなしくなり接続が完了する。
ここで、別コンソールからログインして(bgしてもいいとおもうけど)IPやゲートウエイの設定をする。うちの場合、IPをdhcp取得なので次の通り。

#dhcpcd wlan0

これで、ごにょごにょ通信してIPアドレス等を取得できれば完了。

1 件のコメント:

  1. ubuntu系のデストリビューションを入れていた時に無線ランは勝手に使えてたんだけど、暫くすると切れてしまって、デスクトップからの制御だと復旧できなかった。(システム自体再起動するとつかえた)

    最近のPlamoLinuxのMLでS101の無線ランの事が話題になっていたので、楽しみに読んでたんだけど、結局投稿者の人は無線ランボードを入れ替えて一件落着してしまって、ずっこけたwそこでの話題は繋がるけど、通信速度が非常に遅いって問題だった。

    しかし、おまけ話題的にはチップ自体が不評らしい。確かにWindoze上でもよく接続が切れて繋がりなおしていたのか、トレイアイコンが「接続完了」みたいな吹き出しをよく出していた。無線ランとか初めてだったので、そういうものなのかとおもっていたけど、異常なことだったのかもしれない(^^;
    でも、ath9k自体新しいドライバみたいだから、なんか改善されていくのかもしれない、、、と期待。

    返信削除