Eee PC 901 と eeeUbuntu 8.04の無線LANについてのメモ

2008/07/28 23:20

eeeUbuntu 正式版なら初期状態から無線LANが使えます

eeeUbuntuにRT2860STAのフル機能版ドライバー(部屋さん仕様)を入れてみた - Mattari Memo

で追記したのですが、フルファンクション版のドライバーが公開されて、無事にローミング機能を作動出来るようになりました。NetworkManagerで無線LANを設定、管理することが可能になりました。
で、既にeeeUbuntuの正式版が公開されまして、インストール直後(ライブCDからもいけるか?)から無線LANを使うことが出来ます。のでeeeUbuntuを使う場合は正式版の導入からをおすすめします。
なお、eeeMint 5.0 901対応版 0726 、eeeXubuntu-lcr 8.04 901対応版 0728 も公開されています。

ライブCDの部屋

以下は過去ログ

先ほどまで、ライブCDの部屋の管理人の方との相談や、色々試行錯誤して何とか無線LAN(WPAのTKIP)でインターネットへの接続にとりあえず成功したのでご報告。
やりとりの間に、ドライバーのバージョン(wpa_supplicantのサポート)が上がっているので、ライブCDの部屋の掲示板で確認してみてください。今回ではそれを利用しています。

ライブCDの部屋

2008/07/22

wpaguiについて

部屋の管理人さんに試してほしいと言われたので試してみました。
インストールは、apt-get install wpagui で出来ます。
起動してみると、設定するウィンドウが表示されますが、無線のデバイスが認識されていないらしく、何をやっても反応がありません。
端末内は、PING〜な行が流れ続けて、とにかくコネクト出来ないと怒られます。
僕が使っているドライバが、1.6.1.0だったはずですが、これでは無理なのかな?
部屋さんのサイトでは、ドライバのバージョンが1.7.0.0のものを適応したxxxUbuntuが公開されているので、これならいけるのかもしれません。
Fn + F2の動作不良も直っているようなので、また試してみたいです。(ドライバの更新でいけるなら、そちらでもやってみたいですが、どうなんでしょうか?)

2008/07/23

wpaguiについて追記

コメント欄にておささんに教えてもらいましたが、wpa_guiはroot権限で実行する必要があるそうです。

gksu wpa_gui

今使っているドライバーは、部屋さんのフルファンクションドライバーを利用しています(詳しくは、ライブCDの部屋へ)
しかし、今のところwpa_guiの接続も、wpa_supplicantも出来ませんでした。
以前のドライバーは保持しておいたほうが良いでしょう。今後何か変わりましたらまた追記します。

前説

eeeUbuntu 8.04 の0716版のもののインストール後から始めています。
今回は、wpa_supplicantをサポートされたとのことなので、対応ドライバに置き換えて、設定したメモです。
利用した機材は、無線LANルーターはLa Fonero+ PCはEee PC 901です。

まだちゃんと使えないかも

まだ安定して接続できていません。再度wpa_supplicantを実行しても接続出来ない事がありました。ご注意ください。(見切り発車でごめんなさい><)
→一応起動時に無線LANが使えるようにはなりました。ですが、Fn + F2で切り替えがうまくいかないなどの問題もありますし、まだユーザーも多くないので、人柱な気持ちでやってもらえるといいと思います。

手順

wpa_supplicant対応のドライバーを適応させる

まず、ライブCDの部屋掲示板の番号481のレスから、rt2860staのドライバをダウンロードします。そのファイルはホームディレクトリに置いておきましょう。
以下のコマンドを実行。まず無線LANを落として、ドライバーを外して、ドライバーを入れ替えます。

sudo ifdown ra0
sudo modprobe -r rt2860sta
sudo insmod rt2860sta.ko

システムに登録する場合はこちらを実行

cp rt2860sta.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless 
rt2860staのコンフィグレーションファイルを作成(もしかしたらいらない?)
  • wpa_supplicantを利用した接続方法では、この項目はいらないようです。wpa_supplicantを利用しないドライバの場合はこのコンフィグレーションファイルが必要になります。ので必要の可能性を考えて残しています。

次に、rt2860staのコンフィグレーションファイルを作成します。
スーパーユーザーになって、ファイルを置くディレクトリを作成、サンプルソースから作成したディレクトリにコピーします

sudo -s
mkdir /etc/Wireless
mkdir /etc/Wireless/RT2860STA
cp /usr/src/2008_0522_RT2860_Linux_STA_v1.6.1.0/RT2860STA.dat /etc/Wireless/RT2860STA 

次に、Eee PC 901用に設定してみます。
僕がいじった項目はこちらです。901ならこれだけで大丈夫かと思います。
設定の説明は以下に有りました。
/usr/src/2008_0522_RT2860_Linux_STA_v1.6.1.0/README_STA

AuthMode=WPAPSK
EncrypType=TKIP
WPAPSK= xxxxxxxxxxxxx-encrypted PSK-xxxxxxxxxxxxxxx
CountryCode=JP
Channel=0
WirelessMode=9 

WPAPSKは、ネットワークのキーを暗号化したもののようで、以下のコマンドで作成出来ます

wpa_passphrase ssid パスフレーズ

これで、端末に長い文字列が並ぶので、それをコピーしてコンフィグレーションファイルに書き込んであげましょう。
または、 これより下で作業をするときの下準備として

sudo -s
wpa_passphrase ssid パスフレーズ >> /etc/wpa_supplicant/wpa_supplicant.conf

を実行しても良いです。

wpa_supplicant.confの作成

以下が大変参考になりました。

WifiDocs/WPAHowTo - Community Ubuntu Documentation

Ubuntuでは既にwpa_supplicantがインストールされているので、wpa_supplicant.confを作成して、オプションで指定して実行してやるという方法をとりました。
wpa_supplicant.confの作成はこんな感じ。先ほどコンフィグレーションファイルを作成した時に既に作成していますので、無ければ実行しておいてください。

sudo -s
wpa_passphrase ssid パスフレーズ >> /etc/wpa_supplicant/wpa_supplicant.conf

これを作成したあとに、以下のように書き換えてみました。

sudo gedit /etc/wpa_supplicant/wpa_supplicant.conf
network={
      ssid="ssid"
      #psk="TextPassphrase"
      psk=xxxxxxxxxxxxx-encrypted PSK-xxxxxxxxxxxxxxx
      proto=WPA
      key_mgmt=WPA-PSK
      pairwise=TKIP
}

wpa_supplicantの実行

以下を実行します。

sudo wpa_supplicant -ira0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext -w

実行すると、接続が開始されます。起動している間は端末に接続ログみたいなものが流れます。終了する場合は ctrl + c です。

起動したらすぐに使えるようにするには?

わからないので調べてます。サービスとして登録出来ればいいかもしれません。
→とりあえずですが、起動時にネット接続ができたので、変更した内容をメモ。

/etc/network/interfaces に以下を追記する

auto ath0
iface ath0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

これで再起動すると、次からはすぐにネットに接続できると思います。

気になること

  • 常にネットワークの使用率が高い
    • システム・モニタを見てると、ネットワークの使用率が常時一定の量があります。このままだとバッテリーの持ちが気になります・・・
  • Fn + F2 で無線LANの動作を切り替えたときに
    • ONにしても、無線は使えませんでした。これはドライバがサポートしていないからかもしれません。

今後の課題

  • ローミングWifiの探索が出来たらなあ
  • Fn + F2 で切り替えができたらなあ

コマンドラインSSIDを検索する

iwlist scanning

これで一覧は出て来るので、SSIDは見れました。