- ブログネタ:
- Linux Tips に参加中!
準備
ndiswrapperをコンパイルするための環境を用意しましょう。
yum groupinstall 開発ツール
カーネルがPAEな人は、
yum install kernel-PAE-devel
エラー状態
ndiswrapper-1.56がコンパイルエラーになります。
私が試した環境はFedora 14ですが、
おそらくUbuntu 10.10でも同様のエラーが生じるはずです。
ndiswrapper-1.56は、こちらからダウンロードできます。
Firefoxでリンク先を開いた場合、ファイルの解凍ができるので
そのまま[ダウンロード]に展開します。
cd ダウンロード/ndiswrapper-1.56
make
エラーメッセージは以下のように出力されます。
make -C driver
make[1]: ディレクトリ `/home/kenken/ダウンロード/ndiswrapper-1.56/driver' に入ります
make -C /usr/src/kernels/2.6.35.10-74.fc14.i686 M=/home/kenken/ダウンロード/ndiswrapper-1.56/driver
make[2]: ディレクトリ `/usr/src/kernels/2.6.35.10-74.fc14.i686' に入ります
LD /home/kenken/ダウンロード/ndiswrapper-1.56/driver/built-in.o
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/crt_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/hal_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ndis_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ntoskernel_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ntoskernel_io_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/rtl_exports.h
MKEXPORT /home/kenken/ダウンロード/ndiswrapper-1.56/driver/usb_exports.h
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/crt.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/hal.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/iw_ndis.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/loader.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ndis.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ntoskernel.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/ntoskernel_io.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/pe_linker.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/pnp.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/proc.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/rtl.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapmem.o
CC [M] /home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.o
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c: In function ‘set_multicast_list’:
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:953:13: error: ‘struct net_device’ has no member named ‘mc_count’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:956:20: error: ‘struct net_device’ has no member named ‘mc_count’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:960:86: error: ‘struct net_device’ has no member named ‘mc_count’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:960:98: 警告: type defaults to ‘int’ in declaration of ‘_min2’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:960:114: error: ‘struct net_device’ has no member named ‘mc_count’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:967:19: error: ‘struct net_device’ has no member named ‘mc_list’
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:968:50: error: 不完全型のポインタへの間接参照
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:969:14: error: 不完全型のポインタへの間接参照
/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.c:971:40: error: 不完全型のポインタへの間接参照
make[3]: *** [/home/kenken/ダウンロード/ndiswrapper-1.56/driver/wrapndis.o] エラー 1
make[2]: *** [_module_/home/kenken/ダウンロード/ndiswrapper-1.56/driver] エラー 2
make[2]: ディレクトリ `/usr/src/kernels/2.6.35.10-74.fc14.i686' から出ます
make[1]: *** [modules] エラー 2
make[1]: ディレクトリ `/home/kenken/ダウンロード/ndiswrapper-1.56/driver' から出ます
make: *** [all] エラー 2
パッチを当てる
このコンパイルエラーを解決するためには、
ndiswrapper-suse.patchとndiswrapper-1.56-2.6.35.patchをダウンロードします。
(ダウンロードディレクトリにファイルを置きます。)
cd ~/ダウンロード/ndiswrapper-1.56
patch -Np0 < ../ndiswrapper-suse.patch
patch -Np0 < ../ndiswrapper-1.56-2.6.35.patch
make!!
これでndiswrapperをmake出来るはずです。
make
でmakeしてください。
インストール
ndiswrapperをインストールするには、
su
(管理者権限のパスワードを入力)
make install
cp -R /lib/modules/misc /lib/modules/2.6.35.10-74.fc14.i686
depmod -a
とします。
カーネルのバージョンに気をつけてndiswrapperのモジュールをコピーしてください。
Windowsドライバのインストール
解凍
Windowsドライバのファイルの拡張子が.exeの場合、
lhaかzipで解凍できます。
(ドライバのファイルのファイル名をfile.exeと仮定します。)
解凍する前に
cd ~/ダウンロード
mkdir win-driver
cd win-driver
mv ~/ダウンロード/file.exe .
としてディレクトリを作っておきましょう。
lhaの場合、
憩いの場さんのlhaのrpmからダウンロードし、そのままパッケージマネージャーでインストールしてください。
lha -x file.exe
で解凍できます。
zipの場合は、
unzip file.exe
とすれば解凍出来ます。
インストール
ndiswrapperでWindowsドライバをインストールするには、
Windowsドライバファイルである拡張子がinfのファイルをndiswrapperにインストールさせます。
(ここで展開されたファイルは、ディレクトリが作られていない場合を想定しています。)
cd ~/ダウンロード/win-driver/
ndiswrapper -i file.inf
設定
次回リナックスが起動するときにndiswrapperを自動で読み込むように
設定します。
ndiswrapper -m
モジュールの起動
インストールしたndiswrapperモジュールを読み込みます。
modprobe ndiswrapper
これで、無線LANが有効になるはずです。
NetworkManager
GNOMEデスクトップの右上のPCのアイコンの形をしたアプレットを
クリックして、無線LANのアクセスポイントを選択してください。
WEPなど暗号化していれば、解除キーを入力してください。
どうでしょうか?
ndiswrapperの導入はハードルが高いと思われます。
もし、つまずかれたようでしたら気軽にコメントなどで質問してください。
Fedora11スタートアップバイブル
今回利用した無線LANカード corega WLCB-54GT
コメント