2012年6月1日

UbuntuでFIT-PC2iの無線LANを有効にするには?

去年の1月から使っているFIT-PC2i。

前から気になっていた超小型省電力PCを試してみた
前から気になっていた超小型省電力PCを試してみた - その2 リベンジ編
超省電力な上に有線LANポート2つと無線LANが付いている面白いマシンだ。
8GBのUSBメモリに入れたUbuntu 10.04 Serverで順調に稼働している。

ただ、Ubuntu 10.04 Serverをインストールした直後の状態だと無線LANを認識してくれなかった。そのため今まで2つの有線LANポートを使って運用して来たのだけれど、やっぱりそろそろ無線LANも有効にして3つのLANをつなぐFirewallとして動作させてみる事にした。

無線LANを有効にする為の手順は次の通り。
  1. 無線LANチップのLinux用ドライバーをダウンロード。
  2. ドライバーのソースをコンパイル&インストール。
  3. wpa_supplicantの設定を追加。
  4. /etc/network/interfaceファイルに無線LANインターフェースの設定を追加。
  5. ネットワークサービスを再起動する。

1. 無線LANチップのLinux用ドライバーをダウンロード。


メーカのサイトからLinux用ドライバーをダウンロード。
http://www.ralinktech.com/en/04_support/support.php?sn=501
FIT-PC2iのハードウェア仕様を確認すると無線LANのチップは「RaLink RT3070」との事だったので、それに対応したものを選ぶ。


2. ドライバーのソースをコンパイル&インストール。


ダウンロードしたファイルを解凍して README_STA_usb というファイルを読むと、「Makefileを編集しろ」それから「 os/linux/config.mk」も編集しろ、と書いてある。
Build for being controlled by NetworkManager or wpa_supplicant wext functions
Please set 'HAS_WPA_SUPPLICANT=y' and
'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.
とりあえず wpa_supplicant の wext を使うと行けそうなので、上の通りに編集しておく。


3. wpa_supplicantの設定を追加。


/etc に wpa_supplicant.conf というファイルを作って無線LANアクセスポイントへの接続方法を指定すれば良いらしい。
WPA2を使ったセキュリティ設定のやり方がなかなか見つからず、この設定で一番ハマってしまった。

結局このページにたどり着いて同じ様にしたらなんとかつながった。
nlog(n): Linux で無線 LAN の成功と挫折: WPA Supplicant の導入
/etc/wpa_supplicant.confの内容:
ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=1
network={
        ssid="MYSSID"
        scan_ssid=1
        proto=WPA2
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
psk=xxxxx….xxxxの部分は、先にwpa_passphraseコマンドを使って暗号化しておく。


4. /etc/network/interfaceファイルに無線LANインターフェースの設定を追加。


これはいつも有線LANでやっている静的アドレス指定とほぼ同じ。最後の2行が増える点だけが異なる。
auto ra0
iface ra0 inet static
  address 192.168.1.10
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255

  wpa-driver wext
  wpa-conf /etc/wpa_supplicant.conf


5. ネットワークサービスを再起動する。


/etc/init.d/networking restart


これで無線LANが動いた!

さてここから次はFirewallとして使う為の iptables との格闘が始ったのだけれども、それはまた別の話だ。

ネットワークは本当に面白い。







.