Ubuntuで無線LANカードを動作させる。

たぶん古いマシンにUbuntuを入れた場合に頻発する問題だと思うのだけれど、無線LANカードを挿しても上手く動いてくれなかったり、挿した瞬間にOSがフリーズしてしまったりしませんか。

対応するドライバが無いのが原因なのだけれど、Linux用のドライバを配布しているメーカーは殆ど聞かないですね。さて、そんなときはWindows用のドライバを流用すればよいらしい。

NdisWrapperという賢いユーティリティを使います。

NdisWrapperは、最新のUbuntuだったら配布パッケージに含まれている(2014.05.15現在)ので、端末を開いて

$ sudo apt-get install ndiswrapper-utils-1.9

…としてやれば、必要な他のファイルと共にインストールできます。Synapticパッケージマネージャを使うならば、ndiswrapper-utils-1.9に「インストール指定」のチェックを入れてインストール。

で、次に無線LANカードのドライバを用意します。
おそらく、メーカーから自己解凍形式の .exeファイルで配布されていたり、カードを購入した時に付属しているCD-ROMに入っていたりする筈。自己解凍形式 .exeファイルを Ubuntu上で展開するには…

$ lha -x FILE_NAME.exe

で大丈夫。コマンド "lha" が無いよ! と怒られた場合は、

$ sudo apt-get install lhasa

してから再チャレンジ。

展開されたファイルたちから自分の持っている無線LANカードに対応したドライバを探します。ちなみにウチの場合、無線LANカードはBUFFALOのWLI-CB-AMG54という型番で、対応する .infファイル名は netamg54.inf、.sysファイルは amg54.sysでした。
そのファイルがあるディレクトリに移動して以下のコマンド。

$ sudo ndiswrapper -i netamg54.inf

続いて、

$ sudo modprobe ndiswrapper

ここまで済んだら、無線LANカードが動作するようになっている筈。

更に、適当なテキストエディタ(例えば pico)で /etc/modules を開いて…

$ sudo pico /etc/modules

…ファイルの末尾に ndiswrapper と1行追加して保存。

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

lp
rtc
ndiswrapper

これで起動時にNdisWrapperモジュールが読み込まれるようになります。

カテゴリ: