Debian4.0r5(Etch)で「WLI-CB-AG54」を使う

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

環境

まず、対象PCのLinuxの環境です。

Debian4.0r5(Etch)
kernel 2.6.18-6
pcmcia-cs 3.2.8-9
linux-headers 2.6.18-6
wireless-tools 28-1+etchnhalf.1

上記のバージョンはインストール時にバージョンを指定せずにインストールされたバージョンですが、 時期によってはバージョンが異なる可能性があるので、その場合はバージョンを指定してインストールする必要があるかもしれません。

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

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

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

ラッパドライバ NdisWrapper 1.28
ドライバ wdrv-981.exe

NdisWrapperはLinuxでWindowsのドライバを使う為のツールです。
なお、NdisWrapperはDebianのパッケージからインストールしますので、リンク先は省略しています。

必要なツールのインストール

「NdisWrapper」等を利用する為に必要なツールをインストールします。
なお、lhaはドライバの解凍に必要な為にインストールしていますが、デフォルトではパッケージがありませんので、 こちらのapt-lineの設定を参考に、non-freeを追加します。

Debian:# aptitude install module-assistant wireless-tools lha <= 必要なツールのインストール
「NdisWrapper」のインストール

「NdisWrapper」のインストール

Debinのパッケージを利用してインストールします。

Debian:# aptitude install ndiswrapper-source ndiswrapper-common ndiswrapper-utils

「NdisWrapper」のモジュール化

Debian:# m-a prepare <= module-assistantに必要なパッケージをインストール
Debian:# m-a a-i ndiswrapper <= 「NdisWrapper」のモジュール化
ドライバのインストール

ドライバの読み込み

BUFFALOのサイトからドライバをダウンロードします。

Debian:# wget http://buffalo.jp/php/ldl.php?to=lan/wdrv-981.exe
Debian:# lha -x wdrv-981.exe
Debian:# ndiswrapper -i wdrv-981/cbg54/win2000/netcbg54.inf

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

Debian:# ndiswrapper -l
Installed ndis drivers:
netcbg54        driver installed, hardware (14E4:4324) present (alternate driver: bcm43xx)

カードが刺さっていない場合、hardware以降の表示がありません。
また、ここで上記の様に
alternate driver: bcm43xx
という表示がある場合、kernelモジュールにある汎用ドライバが代わりに利用されているので、利用しないようにします。

Debian:# modprobe -r bcm43xx <= bcm43xxを外す

起動時にも読み込まないようにします。

Debian:# vi /etc/modprobe.d/blacklist <= 設定ファイルの編集
blacklist bcm43xx <= 最終行に追加

これで読み込まれなくなる場合もありますが、自分の環境では相変わらず
alternate driver: bcm43xx
の表示がされたままでした。
このままでも問題なく無線LANが使えましたが、少々気持ち悪かったので、以下の様に対応しました。

Debian:# mv /lib/modules/2.6.18-6-686/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko ./ <= ドライバファイルを移動

この後、以下で行う作業の depmod -a コマンドを実行すると、
alternate driver: bcm43xx
が表示されなくなりました。

モジュールの組み込み

Debian:# ndiswrapper -m

このコマンドで /etc/modprobe.d/ndiswrapper というファイルが作成され
alias wlan0 ndiswrapper
という一行がありますので、確認して下さい。

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

Debian:# depmod -a
Debian:# modprobe ndiswrapper

これで、カードにランプがつくはずです。
なお、自分の環境では、
alternate driver: bcm43xx
という表示の対処でドライバファイルを移動しましたので、この作業の後に元に戻しました。

Debian:# mv ./bcm43xx.ko /lib/modules/2.6.18-6-686/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko <= ドライバファイルを元のパスに移動

この作業後も
alternate driver: bcm43xx
という表示はされなくなりましたが、depmod -a コマンドを実行すると再び表示されるので、 depmod -a コマンドを利用する場合、bcm43xx.koファイルを移動してから実行しました。

LANカードの設定

固定IPアドレスとDHCPの場合を記述していますので、環境に合わせてどちらかを記述して下さい。

Debian:# vi /etc/network/interfaces <= 設定ファイルの編集
固定IPアドレスの場合
allow-hotplug wlan0 <= デバイス名を指定
iface wlan0 inet static <= 固定IPにする
address 192.168.0.XXX <= IPアドレスを指定
network 192.168.0.0 <= ネットワークを指定
netmask 255.255.255.0 <= サブネットマスクを指定
broadcast 192.168.0.255 <= ブロードキャストアドレスを指定
gateway 192.168.0.1 <= デフォルトゲートウェイを指定
wireless-essid hogehoge <= ESSIDを指定
wireless-key s:fugafuga <= WEPで暗号化している場合、キーを指定
ここまで

DHCPの場合
allow-hotplug wlan0 <= デバイス名を指定
iface wlan0 inet dhcp <= DHCPにする
wireless-essid hogehoge <= ESSIDを指定
wireless-key s:fugafuga <= WEPで暗号化している場合、キーを指定
ここまで

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

Debian:# ifup wlan0

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

▲ページのトップへ