MadWifi 設定メモ

wifiカードとか買い足しながらいまだにIBM X22を使ってます。で、X22にインストールしたDebian上でもwifiを使いたくて、MadWifiをインストールすることにした。MadWifiはオープンソースプロジェクトで、AtherosというLANチップセットLinux上で利用するためのカーネルデバイスドライバー、とのこと。
この記録はX22 + WiFiで書いてるんだけど、Windowsよりもかなり速くて快適。わーい、便利だー。

今回使ったもの:

IBM X22
Debian Sarge (2.6.8-3)
MadWifi
Philips CPWNA100 (PCMCIA Wi-Fi card)

手順概要:

  1. 関連ソフトのインストール
  2. MadWifiのインストール
  3. MadWifiの設定
  4. 環境設定

1. 関連ソフトのインストール

apt-get install pcmcia-cs wireless-tools

2. MadWifiのインストール
こういうインストラクションがあったけど、やってもダメだったので、マニュアルでインストール。手順はMadWifiのHowToにあるとおり:
i. 必要条件を満たす
(Linux kernel 2.4.23+ / 2.6.xが必要。カーネルの設定が必要。ビルドにはカーネルビルドに利用されたのと同じバージョンのgccが必要。カードの設定にifconfig, wpa-supplicantが必要)
ii. ルートになる
iii. MadWifiをダウンロード(リンクはMadWifiページにある)
iv. 以前インストールしていたものがある場合は以下を実行(失敗して再インストールする場合なんかも)

ifconfig ath0 down
ifconfig wifi0 down
# MadWifiデバイスの数だけこれを繰り返す。(番号は適宜変更)

次に、MadWifiのディレクトリに入っている前提で:

cd scripts
./madwifi-unload.bash
./find-madwifi-modules.sh /lib/modules/
cd ..

古いモジュールの削除をするか質問された場合yesと答える。でも僕はdirectory structureの違いのせいか、質問されなかったので、/lib/modules/2.6.8-3-386/net内の全てを手動で消した。

v. ひきつづきMadWifiのディレクトリに入っている前提で:

make
make install

で、インストールできるはず。

3. MadWifiの設定
ワイヤレスポイントを一つ以上設定できるという便利な機能もあるらしいのだけど、今回はパス。
i. アクセスポイントを探すためのスキャンモジュールを有効にする

modprobe wlan_scan_sta

成功しても何も表示されません。

ii. ワイヤレスインターフェイスを有効にする

ifconfig ath0 up

iii. 実際にアクセスポイントをスキャンしてみる

wlanconfig ath0 list scan

これで、自宅やご近所さんのアクセスポイント一覧が見える。
もっと細かく見たい場合:

iwlist ath0 scan

と入力すると、周波数、チャンネルその他詳細情報が見える。

iv. オープンアクセスポイントに接続する場合:

iwconfig ath0 essid "アクセスポイント名"

とする。

v. WEPのアクセスポイントに接続する場合:

iwconfig ath0 key

WPAのアクセスポイントに接続する設定はやっていないのでわかりません。このへんを参照。

vi. IPアドレス取得
固定IPにする場合:

ifconfig ath0 netmask up

DHCPから取得する場合:

dhclient ath0


3. MadWifiの設定
アクセスポイントも見えたのに、なぜか外部/内部ネットワーク上のサーバーにpingが通らない。ping結果をよく見てみると、切断してある有線LANからアクセスしようとしている。そりゃ無理だけど、どうやったら無線に切替えるかわからないので、とりあえず有線LANを無効に。

ifconfig eth0 down

そうすると、内部サーバーだけは見えるようになった。でもなぜ外部が見えないの?といろいろ探していたら、どうやらゲートウェイが指定されていないのが原因の模様。

route add default gw

でいけるようになりました。やったあ。