4.4.xカーネルを起動するときは、バグのあるステージングドライバーr8723au
がブラックリストに登録されていることを確認し、大幅に改善されたメインライン rtl8xxxu
を優先します。
ただし、古い4.2.xカーネルを起動する場合でも、古いr8723au
ドライバーを使用する必要があります。
特定のカーネルバージョンのモジュール only をブラックリストに登録する方法はありますか? (UPDATE: old モジュールr8723au
を new カーネル、新しいドライバーから引き継がれないようにします。)
私が持っていたアイデア:
/etc/modprobe.d/blacklist-r8723au.conf
-私が知る限り、1つのカーネルバージョンにのみブラックリストを指定することはできません/etc/default/grub
-一部のバージョンのカーネルコマンドラインにmodprobe.blacklist=r8723au
を指定する方法はありません。私が得た手っ取り早い解決策は、手動で/boot/grub/grub.cfg
を編集し、関連するブラックリストパラメータを特定のカーネルバージョンに追加することです…しかしもちろん、これは次にupdate-grub
を実行したときに自動的に上書きされます(おそらく、更新されたXenial/16.04カーネルをインストールするとき)。
私の知る限り、モジュールrtl8xxxuはカーネルバージョン4.2.0-xxには存在しないため、4.2.0-xxカーネルでの起動は問題ありません。
2つのドライバーが同じusb.idsをカバーしていることを私は知りませんが、モジュールの名前を変更することで、r8723auが4.4.0-xxにロードされないようにすることができます。例えば:
Sudo mv /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.ko /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.bak
Sudo mv /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.ko /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.bak
更新されたカーネルバージョン(おそらく-23)がUpdate Managerによってインストールされている場合は、このプロセスを繰り返す必要があります。