私は、16.04システムでしばらくの間、Netgear AC600(別名A6100)wifiドングルの使用に成功しており、dkmsによる管理にも成功しているため、カーネルの更新時に自動的に再構築されました。
4.4.0-47-genericへの最新のカーネルアップデートでは、モジュールはdkmsによって正常に再構築およびロードされましたが、完全に機能していません。 iwconfigにも表示されません。
4.4.0-45カーネルに戻すと、機能が復元されます。
これを壊すために新しいカーネルで何が起こったか知っている人はいますか?おそらく、このカーネルにはrtl8812AUドライバーが含まれていますか?もしそうなら、私のために構築された1つのdkmsをどのように削除しますか?
アドバイスありがとうございます。
編集:modinfo 8812au|grep vermagic
の出力は
vermagic: 4.4.0-45-generic SMP mod_unload modversions 686
ls -al /var/lib/dkms/rtl8812au
の出力は
ls: cannot access '/var/lib/dkms/rtl8812au': no such file or directory
編集2:
ls /usr/src
の出力は
linux-headers-4.4.0-45 linux-headers-4.4.0-47-generic
linux-headers-4.4.0-47-generic rtl8812AU_8821AU_linux-1.0
linux-headers-4.4.0-47
ls /var/lib/dkms
の出力は
dkms_dbversion rtl8812AU_8821AU_linux
編集3:
dkms status
の出力は
rtl8812AU_8821AU_linux, 1.0, 4.4.0-45-generic, i686: installed
rtl8812AU_8821AU_linux, 1.0, 4.4.0-47-generic, i686: installed
Dkms 8812auカーネルモジュールにはバグがあり、カーネルアップデートを含むソフトウェアアップデート中に間違ったカーネル用にビルドされます。
ケースに固有の方法は次のとおりです。
https://github.com/diederikdehaas/rtl8812A から新しいソース(Zip形式)をダウンロードします。 Zipを展開し、ソースフォルダーを/usr/src/rtl8812au-4.3.14
にコピーします。 dkms.confファイルを編集して変更します。
MAKE="'make'"
に
MAKE="'make' KVER=${kernelver}"
ターミナルで(#の後ろに何もコピー/貼り付けないでください、それらはあなたのための単なるコメントです):
Sudo dkms remove rtl8812AU_8821AU_linux/1.0 --all
#古いカーネルモジュールを削除Sudo rm -r /usr/src/rtl8812AU_8821AU_linux-1.0
#古いソースコードを削除
Sudo dkms add rtl8812au/4.3.14
#/ usr/srcソースをdkmsツリーに追加
Sudo dkms build rtl8812au/4.3.14
#ドライバーをビルドする
Sudo dkms install rtl8812au/4.3.14
#ドライバをインストール
dkms status
#現在のカーネルに正しいバージョンがインストールされていることを確認します
modinfo 8812au|grep vermagic
#正しいvermagic値を確認します