公開日: 2012年8月9日 01:34:39
最終更新: 2012年9月22日 13:26:08

Thinkpad で LINUX

Thinkpad でLINUX

Thinkpad T60 にCentOSを入れてみたが、無線LANの設定につまづいたため、メモ書き。

トラックポイントの認識

PC-UNIX を thinkpad に インストールしたときに、トラックポイントがマウスとしては使用できるのにホイールが利かない、ということがあります。X-Window の設定で、マウスのボタン認識ができていないためだと思いますが、xorg.conf に 以下の設定を追加すると正常に動くようです。

$ vi /etc/X11/xorg.conf

編集後、Ctrl+Alt+BackSpace キーで X-Window を再起動すると設定が反映されます。

Wireless LAN 設定

Fedoraでは素直にドライバを組み込んで無線LANを認識してくれるのですが、CentOS や Debian ベースの「保守的」(?)なディストリでは、ドライバの読み込み等、設定を行わないと認識してもらえません。

デバイスの確認

デバイスが読み込まれているかどうか、lspci コマンドで確認します。

私の Thinkpad X60 では iwp3945 が組み込まれているようですが、認識はされていても「ネットワーク設定」画面には表示されないところを見ると、どうやらドライバが組み込まれていないようです。

ipw3945 ドライバのインストール

ここから ipw3945 のドライバ、ファームウェア、デーモンをダウンロードしてインストールします。
※ カーネルとバージョンと合わせる必要があります。「uname -r」で確認しておきます。

今回はCentOS 5.1 を使用していますので、http://dl.atrpms.net/el5-i386/atrpms/stable/ から以下のファイルをダウンロードしました。

  • ipw3945-ucode-1.14.2-4.at.noarch.rpm
  • ipw3945-kmdl-2.6.18-53.1.19.el5-1.2.0-18.4.el5.i686.rpm
  • ieee80211-kmdl-2.6.18-53.1.19.el5-1.2.18-22.el5.i686.rpm
  • ipw3945-firmware-1.14.2-1.nodist.rf.noarch.rpm
  • ipw3945d-1.7.22-4.i386.rpm

また、無線の暗号化には WPA-PSK を使用しますので、最新の wpa_supplicant をインストールしておきます。

インストールが完了したらマシンを再起動します。「システム」→「管理」からネットワーク設定の画面を開いて、NICの追加にwireless デバイスが表示されればOK 。

ifcfg-wlan0 の作成

上記「ネットワーク設定」の画面で設定してもかまいません(eth1 で作られます。) CUI の場合は /etc/sysconfig/network-scripts/ に ifcfg-wlan0 を作成します。

 

# ifcfg-wlan0
TYPE=Wireless
DEVICE=wlan0 ...1
HWADDR=xx:xx:xx:xx:xx:xx
BOOTPROTO=dhcp ...2
ONBOOT=no ...3
PEERDNS=yes ...4
ESSID='SSID' ...5
CHANNEL=1 ...6
MODE=Auto
RATE=Auto

1 … デバイス名
2 … DHCPでIPアドレスを動的に取得
3 … wpa_supplicant から起動しますので、「no」にしておきます。
4 … DNS情報はサーバから取得します。
5 … 無線LANのAPに設定したSSIDを指定します。
6 … 無線LANのAPに設定したチャンネルを指定します。

/etc/sysconfig/wpa_supplicant の編集

/etc/sysconfig/wpa_supplicant を開いて以下のとおり編集します。

# wlan0 and wifi0
# INTERFACES="-iwlan0 -iwifi0"
INTERFACES="-iwlan0"
# ndiswrapper and prism
# DRIVERS="-Dndiswrapper -Dprism"
DRIVERS="-Dwext"

/etc/wpa_supplicant/wpa_supplicant.conf の編集

無線APへの接続設定については wpa_supplicant.conf を編集します。APへ接続するためのパスフレーズがそのまま設定ファイルに書かれているのは気持ち悪いので、wpa_phraseコマンドを使ってハッシュ値に置き換えます。

得られたハッシュ値を/etc/wpa_supplicant/wpa_supplicant.conf へ入力します。

ctrl_interface=/var/run/wpa_supplicant
#ctrl_interface_group=wheel
ctrl_interface_group=root

network={
	ssid="SSID"  ...1
	scan_ssid=1  ...2
	key_mgmt=WPA-PSK  ...3
	pairwise=CCMP TKIP
	group=CCMP TKIP
	
	psk=e3311c76b4bdf58c99bbb5031c2a57f7c38acaa66eb6bc5073a1496fd8d4c96d
}

1…無線LANのAPに設定したSSID
2…AP側が 「SSIDを通知しない」(ステルスモード)になっているときは必要かも。
3…wpa-psk で通信を暗号化(APの設定と合わせる)

wpa_supplicant の起動

設定ファイルの編集が終わったら、wpa_supplicant をdebugフラグ付で起動してみます。

※ 有線ネットワークが起動していると(というか、他に dhclient が起動していると)、接続はできてもIPアドレスが取得できない、というトラブルに見舞われることがあります。うちの環境では、無線接続確立後にdhclient をリブートしたところ、IPアドレスが取得できました。

ブート時に wpa_supplicant を起動する

いちいちコマンドを打って無線LANに接続するのも面倒なので、chkconfig コマンドでブート時に wpa_supplicant を起動するよう設定します。

…ところが、これまた困ったことに、マシンを再起動してみると ipw3945のドライバモジュールより先に wpa_supplicant が起動してしまいます。 仕方がないので以下のとおり rc ファイルをリネームして対処しました。

dhclient については、/etc/rc.local に記述しました。

まぁ、動けばOKってことで(; ´▽`)