VineLinux3.2で「WLI-CB-AG54」を使う

VineLinux3.2で無線LANカードの「WLI-CB-AG54」を使う方法です。
ただし、結構環境に依存したり、自分自身が色々と試行錯誤して利用出来るようにしたのをまとめたものなので、 この通りにしても絶対に上手くいくとは限りません。

環境

まず、対象PCのLinuxの環境です。
・VineLinux3.2
・kernel-2.4.31-0vl1.8
・kernel-pcmcia-cs-3.2.7-0vl3
・kernel-headers-2.4.31-0vl1.8
・wireless-tools-26-0vl3
kernelとkernel-headersのバージョンは合わせておく必要があります。

次に、ハードウェアの環境です。

PC PC-PJ100H
無線LANカード WLI-CB-AG54
Air Station WHR2-A54G54

で、最後に必要なソフトです。

ラッパドライバ NdisWrapper-0.9
ドライバ wdrv_600.exe

NdisWrapperはLinuxでWindowsのドライバを使う為のツールです。
どちらも最新バージョンではないですが、色々と調べた結果、上記のバージョンでの動作実績がありましたので、 上記のバージョンで作業しました。

ドライバのインストール

上記のLinuxの環境はすでに構築済みとします。

「NdisWrapper」のインストール

[root@Vine ~]# mkdir /usr/local/src/ndiswrapper
[root@Vine ~]# exit
[kaz@Vine ~]$ cd /usr/local/src/ndiswrapper
[kaz@Vine ndiswrapper]$ wget http://jaist.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-0.9.tar.gz
[kaz@Vine ndiswrapper]$ tar xzf ndiswrapper-0.9.tar.gz
[kaz@Vine ndiswrapper]$ cd ndiswrapper-0.9
[kaz@Vine ndiswrapper]$ ./configure 2>&1 | tee configure.log
[kaz@Vine ndiswrapper]$ make 2>&1 | tee make.log
[kaz@Vine ndiswrapper]$ su
Password:
[root@Vine ndiswrapper]# make install 2>&1 | tee make.log

ドライバの読み込み

以下でlhaコマンドを使ってますが、インストールしていない場合、インストールして下さい。
apt-getでインストールできます。

[root@Vine ~]# wget http://buffalo.bmcdn.jp/buffalo/lan/wdrv_600.exe
[root@Vine ~]# lha -x wdrv_600.exe
[root@Vine ~]# ndiswrapper -i wdrv_600/cbg54/netcbg54.inf

これでWLI-CB-AG54のドライバが組み込まれましたので、確認します。

[root@Vine ~]# ndiswrapper -l
Installed ndis drivers:
netcbg54        hardware present

カードが刺さっていない場合、hardware NOT present という表示になると思います。

モジュールの組み込み

[root@Vine ~]# ndiswrapper -m

上記のコマンドで /etc/modules.conf に
alias wlan0 ndiswrapper
という一行が加えられますので、確認して下さい。

次にモジュールを組み込みます。

[root@Vine ~]# depmod -a
[root@Vine ~]# insmod ndiswrapper

これで、カードにランプがつくはずです。

LANカードの設定
[root@Vine ~]# vi /etc/sysconfig/network-scripts/ifcfg-wlan0 <= wlan0の設定ファイルの作成
DEVICE=wlan0 <= デバイス名を指定
BOOTPROTO=none
IPADDR=192.168.11.XXX <= IPアドレスを指定
NETMASK=255.255.255.0
ESSID=hogehoge <= ESSIDを指定
KEY=s:fugafuga <= WEPで暗号化している場合、キーを指定
ONBOOT=yes <= ブート時に有効にする
USERCTL=no
BROADCAST=192.168.11.255
NETWORK=192.168.11.0
PEERDNS=yes
GATEWAY=192.168.11.1

[root@Vine ~]# chmod 600 /etc/sysconfig/network-scripts/ifcfg-wlan0

設定が済みましたので、wlan0を有効にします。

[root@Vine ~]# ifup wlan0

これでネットワークに繋がります。

起動時に有効にする

上記のwlan0の設定で ONBOOT をyesにしましたが、このままではきちんと起動してくれませんので、設定します。

「murasaki」の設定

[root@Vine ~]# vi /etc/murasaki/murasaki.pcimap
ndiswrapper 0x000014e4 0x00004324 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000
 <= 最後に追加

サービスの起動順序の変更

起動時に認識させる為には「murasaki」→「pcmcia」→「network」の順でサービスを起動させる必要がありますので、 起動順序を変更します。

[root@Vine ~]# mv /etc/rc.d/rc3.d/S27pcmcia /etc/rc.d/rc3.d/S09pcmcia <= ランレベル3の設定
[root@Vine ~]# mv /etc/rc.d/rc5.d/S27pcmcia /etc/rc.d/rc5.d/S09pcmcia <= ランレベル5の設定

これで起動時にも有効になりますが、起動時の画面では「network」のサービス時に「wlan0」がFAILEDになってしまいました。
これはndiswrapperを組み込んだ直後だと有効にならないのが原因みたいです。
ただ、実際にログインしてみると有効になっていました。
どうしても気になるのであれば、wlan0の設定で ONBOOT をnoにして /etc/rc.d/rc.local に
/sbin/insmod ndiswrapper
/bin/sleep 5
/sbin/ifup wlan0
等とすれば良いと思います。

▲ページのトップへ