どうも、Qです、こんちには。
只のメモ。
1.USB wireless LAN
PLANEXからGW-USMicroN2Wという非常の小型のUSBタイプの無線LANアダプタが売られている。これよりさらに小さいのも既に販売されているのだが、これだけ小さければまあ文句があるような例は殆ど無いだろう。
例のごとくこういう新しいデバイスをLinuxで使う場合は結構メンドクサイ。ubuntuでやったっていうのは結構見付かるのだが、CentOS5.5でも成功したのでメモ。このブログをそのデバイスを使って書いている(笑)
ubuntu,CentOS共通作業
1.このデバイスで使われているチップは、自分が買ったものはRTL8188Sというものだった。そこでまずRealtekからRTL8188SUというデバイスのLinuxドライバをダウンロード。
2.圧縮されているので展開し、展開されたフォルダの中のdriverというディレクトリの中のファイルをさらに展開する。その中のos_intf/linux/usb_intf.cというファイルをemacs等のテキストエディタで開き50行付近のところに
{USB_DEVICE(0x2019, 0xed16)},
というのを加える。
(ちなみに0x2019はidVender、0xed16はidProductというらしい。違う値の場合も有るのでシステム管理のハードウェア情報で確認する。とりあえずデバイスを挿しておけば、USBに関するハードウェア情報のどっかには書いてあるのでそれを探す。dmesgで当たりを付けることができる)
3.二つ上のディレクトリに戻り(Makefileがあるディレクトリ)、makeを実行する。成功したら****.ko(自分の場合は8712u.ko)が作成される。そしてmake installを実行する。
CentOSはsu -で一旦スーパーユーザーになってからmake installを実行する。
ubuntuはrootを一時的に有効にしてからスーパーユーザーになってmake install。sudoでは失敗する。
以下OS別
CentOSの場合
4.スーパーユーザーのまま
modprobe 8712u
を実行する。(3.で作成されるファイル名が違う場合はそれを入力)
そしてGW-USMicroN2Wを挿せばifconfigでwlan*(*は数字)というのができる(はず)
5.wpa_passphrase ssid passward > wpa_supplicant.confを実行してwpa_supplicant.confを/etc/wpa_supplicant/にコピーする。
6./etc/sysconfig/wpa_supplicantをテキストエディタで開き、
#INTERFACES="-i wlan0"とか書いてあるらへんの下に
INTERFACES="-i wlan*"
というのを書く(書き換える、もしくはそうなっていることを確認する)
7./etc/sysconfig/network-scriptsというディレクトリに移動し、ifcfg-wlan*というファイルを作り、その中に
DEVICE=wlan*
HWADDR=00:1D:xx:xx:xx:xx
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Wireless
というのを書く。ifcfg-eth*があればそれをコピーすると楽。
8.詳しいことは知らないが、サービスの起動の順序が影響してうまくいかないことがあるっぽい。起動するランレベルの/etc/rc*.d/に移動して(普通はrc5.d)
messagebus -> wpa_supplicant -> network
の順に起動するように設定する。
(S**サービス名で**の値が大きい程後に起動される)
9.再起動する。多分これでうまくいくと思う。後は挿しっぱなしにしておけば起動時に自動的に認識してくれるはず。起動中に抜き差しした場合はnetworkをrestartしないとダメかも・・・
ubuntuの場合
make installが終了した段階でデバイスがifconfigで認識出来るようになっている。あとはネットワークマネージャで設定すればOK。簡単。
昔サーバーを立てた時の知識が凄く役に立ったなぁ。てかCentOSメンドクサイ(笑)
2.マルチブートとカーネル
マルチブート可能なPCだと、どれかのOSが格納されているディスク上のgrub設定でシステムが起動する。従って他のOSをアップデートしても、起動に使われるgrubの設定が変わらないためずっと古いカーネルで起動してしまう。makeの中等でuser -rでカーネルのバージョン等を使ってるとはまるので要注意。
また古いカーネルを何個前まで保持しておくかは決まっているため(CentOSでは/etc/yum.confのinstallonly_limit)、 放っておくといずれ古いカーネルが消されてしまい起動できなくなる。定期的に手動で起動に使われているgrubの設定を書き換えるか、何か手段を講じる必要がある。
3.grubの設定
CentOS
/boot/grub/grub.conf
ubuntu
/boot/grub/menu.lst
ともかくこれでLinuxで無線LANが使えるようになった。素晴らしいw