3.12-8カーネルファイル linux-headers-all.deb、linux-headers-generic_i368.deb; linux-image-generic_i386.deb をkernel.orgからダウンロードし、次の方法でインストールしました。
dpkg -i *.deb
今、私はいくつかの無線LAN信号のドロップアウトを除去しようとしています。これはおそらくドライバー自体が原因です。どうやらath9kドライバーにいくつかの修正があったため、デフォルトをバックポートバージョンに置き換えたいと思います。
Kernel.orgから backports-3.12.8-1.tar.gz をダウンロードし、次の方法でath9kモジュールを準備しようとしました。
cd ~/.source/backports-3.12.8-1/
Sudo apt-get install build-essential
Sudo apt-get build-dep linux-image-$(uname -r)
Sudo ln -s /usr/src/linux-headers-$(uname -r) /usr/src/linux
make defconfig-ath9k
これにより、次の「missing-prototypes ERROR」が発生します。
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c
cc conf.o zconf.tab.o -o conf
しかし、私が続けると:
Sudo modprobe -r ath9k
Sudo make
Sudo checkinstall
すべてが機能します!!!
だから私の質問は:
このモジュールは特定の他のカーネルモジュールに依存していますか?
はい、次のコマンドはあなたに教えてくれます:
modinfo ath9k
もしそうなら、それらに関する情報はどこにありますか?
Wireless.kernel.org/en/users/Drivers/ath9kをご覧ください。
このカーネルモジュールをインストールする正しい方法はありますか。ドライバ?
おそらく、カーネルのコンパイルでプロを得ることによって:-)。
THX
私がちょうどやったように、この質問に出くわすかもしれない人々のために:
これにより、次の「missing-prototypes ERROR」が発生します。
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o conf.o conf.c cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o zconf.tab.o zconf.tab.c cc conf.o zconf.tab.o -o conf
これらの行は実際にはエラーではありません。 make
コマンドは、Makefile
というファイルで指定されている他のコマンドの束を実行します。デフォルトでは、make
はこれらのコマンドを実行する前に端末に書き出します。たとえば、Makefile
がfoo
を実行し、次にbar
を実行し、次にbaz
を実行すると、makeはfoo
を端末に書き込み、foo
コマンドを実行します。 ;次に、bar
を端末に書き込み、bar
を実行します。その後、baz
を端末に書き込み、baz
を実行します。
この場合、それらのcc
行は、make
がMakefile
によって実行するように指示されたコマンドです。 cc
コマンドは、システムのデフォルトの Cコンパイラ を実行します。これはおそらく GCC です。 -
で始まるものは オプション であり、Cコンパイラの動作に影響します。
GCCのようなコンパイラの場合、 -W
で始まるオプション は、技術的に有効なコードを見たときに警告を出すようにコンパイラに指示しますが、多くの場合悪い考えです(たとえば、プログラマーthinkは何らかの方法で行動しますが、実際には別の方法で行動します)。
この場合、-Wall
は、GCCの警告の多く(すべてではありません!)をオンにします。 -Wmissing-prototypes
および-Wstrict-prototypes
は、Cの 関数プロトタイプ 機能に関連する問題を見つけるために、追加の警告をオンにします。
したがって、これらのメッセージは、cc
コマンドが実行されようとしていること、および(特に)コードが危険であると判断した場合に警告する必要があることを示しています。特に、関数プロトタイプが誤用されている場合。
GCC警告は次のようになります。
main.c: In function ‘main’:
main.c:1:5: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
int main(int argc, char **argv) {
^
そのようなものは出力に表示されないため、警告やエラーは発生しませんでした。偶数withこれらの追加の-W
チェックを有効にします。
2.6.30以降のバージョン以降は正常に動作するはずですが、新しいカーネルをインストールすることをお勧めします。カーネル3.13.0-24-generic
でAPとして使用していますが、新しいカーネルをインストールする方が良いとわかっています。私はhttp://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.12-vivid/
または同様のものでそれを使用していました(私のHDDがクラッシュするまで)。上記のカーネルで使用されているものの詳細を提供できます。