無料ブログはココログ

« グラボ | トップページ | quagga »

2009年7月20日 (月)

WN-WAG/CBH

I-O DATAWN-WAG/CBH

今のマシンにCard-Busがない点を補うために、拡張カードまで買うバカさ加減。
店員さんにも「usbで同じ機能のものがありますよ」と勧められた。
ま、そりゃそうだよな。

このカードを選んだのは、madwifi-projectの記事で、AR5212を使っていると書いてあったから。

でも、lspciすると、

Atheros Communications Inc. AR5413 802.11abg NIC (rev 01)

ん?5413?
ま、いいや、動くだろ。
などと、軽く考えたのが間違いだった。

madwifi or ath5k

さて、このチップに対応するドライバは、二種類ある。
madwifiとath5k。
色々試してみて、ath5kの方が使えるので、こっちを選択。
madwifiではstuck beacon problemが発生して、とても使い物にならない。

madwifiの名誉のために付け加えると、ステーションモードなら大丈夫なので、apとして使う予定のない人はmadwifiを使えば問題ない(はず)。
また、5413だからといって、必ず発生するものでもない模様。

ath5k

ath5kは、linux-wirelessにある。
ath5kだけを貰う方法もあるかもしれないか、面倒なのでcompat-wireless-2.6.tar.bz2を持ってくる。
適当な場所で展開してmake、make install。

hostapd

ath5kはiwconfigでは設定しない。
ap(master)modeはhostapdを通じて制御する。
hostapdでath5kを使うにはnl80211が必要なので、必然的に0.6系列の最新版を取得することになる。

今日の時点で最新のhostapd-0.6.9.tar.gzをダウンロード。
適当な場所に展開。

hostapd-0.6.9/hostapd/defconfigを参考に、hostapd-0.6.9/hostapd/.configを作る。
ath5kを使うのだから、nl80211をyにするのは必須。
それ以外は任意。

で、make、make install。

実は、最初は深く考えずにaptitude経由でパッケージを入れた。
結局削除したんだけど、initスクリプトは残った。
便利だから、これを流用する。
daemonの在り処を書き換えるだけなんだけどね。

hostapd.conf

hostapdをインストールしたら、hostapd.confというファイルを作る。
雛形があるので、参考にする。
うちの場合はこんな感じ。

「hostapd.conf」をダウンロード

/etc/network/interfaces

例によって、追加。

allow-hotplug wlan0
iface wlan0 inet static
        address 192.168.3.1
        netmask 255.255.255.0
        network 192.168.3.0
        broadcast 192.168.3.255
        post-up /bin/echo "1" > /proc/sys/net/ipv4/ip_forward
        post-up /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j MASQUERADE
        post-up /bin/sleep 20
        post-up /bin/sh /etc/init.d/hostapd restart

post-upで何をやっとるんだ、と思うだろうが、これは順番に。

nat

linuxboxでnatすれば少し楽ができるかも、という発想の下、

post-up /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j MASQUERADE

この一行を加える。

hostapdの謎

ここまで設定して、動くことを確認して、再起動する。
すると、なぜかpspがapを探知できない。
シェルから

/etc/init.d/hostapd restart

を実行すると上手く行く。
バッドノウハウではあるが、

post-up /bin/sh /etc/init.d/hostapd restart

この一行を加える。
わざわざ/bin/shを噛ませているのは、そうしないと動かなかったから。
sleepはおまじない。

dhcpd.conf

新たなサブネットが出来るので、/etc/dhcp3/dhcpd.confに追加。

subnet 192.168.3.0 netmask 255.255.255.0 {
  range 192.168.3.100 192.168.3.200;
  option broadcast-address 192.168.3.255;
  option routers 192.168.3.1;
}

こんな感じ。

linux-igd

pspのネットワーク接続テストを実行すると、「upnp」という項目が出る。
「なし」と書かれるのが悔しいので、このルータにもupnpを追加。
linux-igdというパッケージがあるので、持ってくるだけ。
設定も簡単。

« グラボ | トップページ | quagga »

hostapd」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: WN-WAG/CBH:

« グラボ | トップページ | quagga »