とむむの日々

埼玉県某市に住む「とむむ」の日記です。2008年3月から、関心のあることを書き連ねる日常の記録です。

MENU

UMiD mbookでUbuntuを使う! その3

さて、今回はUbuntu9.04 on mbookで、無線LANの設定方法を紹介しよう。

まず、無線/Bluetoothボタンを押すと、dmesgに下記のログが出る。
[ 1597.203298] mmc0: new SDIO card at address 0001
[ 1597.356573] libertas_sdio: Libertas SDIO driver
[ 1597.356583] libertas_sdio: Copyright Pierre Ossman
[ 1597.368446] libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin
[ 1597.376602] libertas: can't load helper firmware
[ 1597.376614] libertas: failed to load helper firmware
[ 1597.376835] libertas_sdio: probe of mmc0:0001:1 failed with error -2

見ての通り、正常に動作していないようだ。
色々調べてみると、ココに書かれている通りにやれば、OKだった。

手順は以下の通り・・・。

1. Marvelからドライバをダウンロードする。

2. ドライバのzipファイルを展開し、helper_sd.bin と sd8686.bin を取り出す。

3. helper_sd.bin をsd8686_helper.binにリネームする。

4. sd8686.bin と sd8686_helper.bin を /lib/firmwareにコピーする。

しかし、デバイスは認識するようになったが、Ubuntuの無線ユーティリティを使用して無線APに接続すると、mbookがフリーズ・・・。

仕方がないので、無線APへは、GUIのユーティリティーを使わず、コマンドラインで接続するようにしよう。最初に断わっておくが・・・無線LANが接続された状態で、iwconfigのコマンドを打つとmbookがフリーズするので、無線の動作確認は無線APへのping等でやってもらいたい。

まずは、無線LANがどのinterfaceで認識しているのかを調べる。(とむむの場合はeth1だった)

$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

pan0 no wireless extensions.

eth1 IEEE 802.11b/g ESSID:""
Mode:Managed Frequency:2.432 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power=13 dBm
Retry short limit:8 RTS thr=2347 B Fragment thr=2346 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

次に、無線APで使用している暗号化方式によってコマンドラインが大きく変わる。
今時の無線APなら大抵WPA2を使用しているはずなので、今回はWPA2での方法を紹介する。
なお、WEPを使用している場合は、iwconfigのみで設定できるので、manやhelpを参照して欲しい。

1) WPA2用のconfigファイルを作成する。

$ sudo wpa_passphrase "SSID" "SSIDのkey" > /etc/wpa_supplicant/wpa_supplicant.conf

2) 1)で作成したconfigだけでは、設定が足りないので、赤字の箇所を手で足す。

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
-----
network={
ssid="SSID"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40

#psk="SSIDのkey"
psk=数字とアルファベットの羅列・・・
}

3) 試しに接続してみる。(以下のコマンドを打つと、ctrl + c などで停止させないと動きっぱなしになるので、注意。)
$ sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i eth1 -Dwext
CTRL-EVENT-SCAN-RESULTS
Trying to associate with 0X:1X:2X:XX:XX:XX (SSID='SSID' freq=2432 MHz)
Association request to the driver failed
Associated with 0X:1X:2X:XX:XX:XX
WPA: Key negotiation completed with 0X:1X:2X:XX:XX:XX [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 0X:1X:2X:XX:XX:XX completed (auth) [id=0 id_str=]

driver failedと不吉なメッセージが出るが、問題ない模様・・・。

4) /etc/network/interfacesに設定を追加し、interfaceを上げる。
$ sudo vi /etc/network/interfaces

      • -

iface eth1 inet dhcp (今回は、DHCP)

$ sudo ifup eth1

5) ネットワーク設定や無線APへの疎通確認などをする。

$ ifconfig
$ ping 192.168.x.1

以上のやり方でうまく接続できるようになった!
毎回、これらの作業を手作業でやると大変なので、簡単なshellを作ってみた。

○無線接続開始用
#!/bin/sh

sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i eth1 -Dwext &
sleep 10
sudo ifup eth1

○無線接続停止用
#!/bin/sh

num=`ps -ef | grep "wpa_supplicant -c" | grep -v grep | awk '{print $2}'`
sudo kill $num
sudo ifdown eth1

とりあえず、手作業の内容をshellにしただけなので、各々改善してもらいたい。
とむむ的には、これで十分。(笑)

とは言っても、無線LANフリーズ問題は回避しているだけで、解決してない。
うーん、何とも悩ましいですなー。

無線LANはとりあえず・・・使えるようになった。残りは、あと2つかな。
1)GMA500 のドライバ
2)タッチパネルモニタのドライバ

GMA500の方は、新しい情報が入ってきているので、試してみたいと思う。
次回にでも、ドライバの適応方法を紹介したい。

それでは、また、次回!!