Wifi ドングルのドライバーをコンパイル/インストールするときにカーネル モジュールが不足していますか?

Wifi ドングルのドライバーをコンパイル/インストールするときにカーネル モジュールが不足していますか?

ゴール

Netis wf2190Debian を搭載した NUC に Wi-Fi ドングルをインストールします。

環境

  • NUC DC3217IYE
  • ネティスWF2190
  • デビアンリナックス3.16-0.bpo.2-amd64 #1 SMP Debian 3.16.3-2~bpo70+1 (2014-09-21) x86_64 GNU/Linux
  • インストール済みbuild-essential

ドライバーは Web サイトから入手しましたが、install.shコンパイルしようとするとこのエラーが発生するスクリプトを実行するだけです。ディレクトリはあります/lib/modules/3.16-0.bpo.2-amd64/が、buildフォルダーはありません。このフォルダーを追加しようとしましたが、スクリプトはどうやらソース ファイルを探しているようで、そのファイルが何なのか、どこで入手できるのかわかりません。

何かヒントはありますか?

エラー

Authentication requested [root] for make driver:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.16-0.bpo.2-amd64/build M=/root/netis-wf2190/driver/rtl8812AU_linux_v4.3.8_12175.20140902  modules
make: *** /lib/modules/3.16-0.bpo.2-amd64/build: No such file or directory.  Stop.
make: *** [modules] Error 2
##################################################
Compile make driver error: 2
Please check error Mesg
##################################################

...不足しているbuildフォルダを作成した後

ルールを探しています(??)

Authentication requested [root] for make driver:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.16-0.bpo.2-amd64/build M=/root/netis-wf2190/driver/rtl8812AU_linux_v4.3.8_12175.20140902  modules
make[1]: Entering directory `/lib/modules/3.16-0.bpo.2-amd64/build'
make[1]: *** No rule to make target `modules'.  Stop.
make[1]: Leaving directory `/lib/modules/3.16-0.bpo.2-amd64/build'
make: *** [modules] Error 2
##################################################
Compile make driver error: 2
Please check error Mesg
##################################################

カーネルのインストール方法

追加deb http://http.debian.net/debian-backports squeeze-backports(-sloppy) mainされsource.list、その後

 aptitude -t wheezy-backports install linux-image-amd64

カーネルのカーネルソースをインストールするにはどうすればよいですか3.16-0.bpo.2-amd64?

これを試してみたら解決しました!

 # apt-get install linux-headers-3.16-0.bpo.2-amd64

から/lib/modules/3.16-0.bpo.2-amd64

 ln -s /usr/src/linux-headers-3.16-0.bpo.2-amd64/ build

そして走ったinstall.sh

答え1

注記:私は Fedora 20 を使用していますが、問題はここでも同じです。パスと Linux カーネルのバージョン番号だけが異なります。

インストール スクリプトをダウンロードして実行しようとしたときにも、bash ./install.shこのエラー メッセージが表示されました。

make: *** /lib/modules/3.16.3-200.fc20.x86_64/build: そのようなファイルまたはディレクトリはありません。停止します。

スクリプトにはこのディレクトリを作成する機能が備わっておらず、使用できるようにすでに存在しているものと想定しています。

/lib/modules/3.16.3-200.fc20.x86_64/build

確認してみるとそこには存在しないことがわかります:

$ cd /lib/modules/3.16.3-200.fc20.x86_64/build
bash: cd: /lib/modules/3.16.3-200.fc20.x86_64/build: No such file or directory

このディレクトリは少しわかりにくいかもしれませんが、ディレクトリを 1 レベル上に変更すると、状況は少しわかりやすくなります。

$ cd /lib/modules/3.16.3-200.fc20.x86_64/
$ ls -l | grep build
lrwxrwxrwx.  1 root root     39 Sep 29 14:25 build -> /usr/src/kernels/3.16.3-200.fc20.x86_64

別のディレクトリへのリンクも同様buildです。この場合、カーネルの開発ツリーがインストールされていれば、そのリンクがインストールされます。したがって、この問題を解決するには、それらを含むディストリビューションのパッケージをインストールするだけです。

Fedora ではこれらのパッケージは という名前で呼ばれるkernel-devel-<kernel version #>ので、これをインストールすればすべて準備完了になると思います。

関連情報