Ubuntu18.04のIntel AC7260 WiFiがプチ切れ不安定

投稿者: | 2022年3月19日

Ubuntu 18.04を入れたVaioのIntel AC7260 内蔵WiFiが 不安定 で、しばらくするとWiFiは繋がったまま、ネットワーク通信が途絶してしまう現象が定期的に発生。デュアルブートのWindows 10側では安定しているので、ハードウェアに問題は無いと判断。色々調べて IPv6 無効化や ドライバ 設定で改善出来るか試してみました。

WiFi接続確立のままネットワーク断

以前、内蔵WiFiカードを11ac対応のIntel AC7260へ載せ替えたVaio VPCSA26GGを、Windows 10とUbuntu 18.04のデュアルブートで愛用しています。問題はUbuntuで使用中に時折、WiFi接続は確立されたまま、ネットワークへの疎通が絶たれてしまうというもの。WiFiアクセスポイントへ繫ぎ直せば復旧するので使い続けていました。

 

IPv6が原因!?

調べてみると、Ubuntuでは比較的よくある問題らしく、IPv6を無効にすると解消するとのこと。しかしかながら個人的に私はLinux系でのIPv6は鬼門だと思っていて、OSのセットアップ時に必ず無効にしていたはず。GUIのネットワーク接続を確認しても確かに無効にしてあります。

図1.WiFi ネットワーク接続情報

図1.WiFi ネットワーク接続情報

ところがターミナルで確認するとWiFiインターフェイスやloにまだ少し、IPv6に関する記述が残っていました。

 

sysctlによるIPv6無効化

そこで、 /etc/sysctl.conf に次の行を追記してIPv6を無効にします。

sysctl に設定をリロードさせるとIPv6の残骸は綺麗に無くなりました。

一部の事例ではシステム再起動後にこの変更内容が消えてしまうらしいので試しに再起動させてみましたが、今回は消えること無くしっかり機能してくれていました。

 

iwlwifiの設定見直し

IPv6無効化によりWiFiネットワークはだいぶ安定しましたが、ある日たまたまネットワークが切れた際に確認することが出来たログがこちら。

Intel WiFiモジュール向けドライバ、iwlwifiから警告が挙がってネットワークが切れる、と言う因果関係は見えてきたので、まずWiFiインターフェイスとロードされているドライバを確認。

Ubuntu界隈のIntel AC7260もまた色々と問題はあるようで、おおよそ次の2つのスレッドから対処策は見つかりました(Great Tnx!!)。

以上を元に、 /etc/modprobe.d/iwlwifi.conf へセットするパラメータを決めるために、まずは現在使用中のドライバの詳細を確認してみます。

利用可能なパラメータはバージョンによって異なる場合があるので、上の parm 項を確認して使える項目をピックアップの上、以下のオプション項を追記しました(Bluetoothは別途無効済)。

設定ファイルを保存したら、以下の要領でドライバを再読込させて設定を反映させます(iwlwifiの下にiwlmvmがぶら下がっているので落とす時はこちらから。ロードはiwlwifiがハードウェアに応じた子を自動ロードしてくれます)。

なお、 swcrypto=1 というオプションも先述のフォーラムで追加すると良い項目の一つに挙げられていたのですが、私の場合は逆にネットワーク断の頻度が顕著に増したので削除しました。この辺りは個々の環境によって有意な要素は異なるようなので、いろいろ試しながら最適解を探るしか無さそうです。

また、編集した設定ファイル /etc/modprobe.d/iwlwifi.confに誤りがあるとロードに失敗してエラーになります。 modinfo の注釈に従って power_save=disable を設定しようとした時に遭遇してしまいびっくり。

値は 1 をセットするようなのですが、どちらの場合でも省電力モードが有効になったままで設定が効かないので、意味は無さそう。

 

省電力モードを無効に

ちなみに iw コマンドを使うと、次のように強制的に省電力モードを切ることが出来ます。

但し、APに繫ぐ度にOnに戻ってしまうので、ユーザの中には自動起動スクリプトに登録して繰り返し実行しているケースも。しかし今回はこちらもあまり有意性は感じられなかったため、特に何もしません。

 

iwlwifiドライバファイルの入替え

先述のiwlwifiドライバ公式サイトによると、

“Those devices will not be supported by the newest firmware versions:
the last firmware that was released for 3160, 7260 and 7265 is -17.ucode.
Bug fixes will be ported to -17.ucode.”

とあり、AC7260は最新ファームウェアではサポートされず、 -17.ucode が最終版とのこと。少し気になったので、現在のカーネルバージョンとドライバファイルを見てみます。

自分で入れ替えることもさほど難しくなさそうなので、カーネルファームウェアのダウンロードページから最新のファームウェアをダウンロードします。

この大きなアーカイブから、iwlwifi-7260関連のファイルを取り出し、所有権やアクセス権を現在使用中のファイルと合わせます。

準備が出来たので、これらの新ドライバファイルを /lib/firmware/ へ上書きコピーします。

ドライバファイルを入替えたら、/boot/initrd.imgをアップデートしてPCを再起動します。

再起動後もWiFiが正常に接続されたのを確認したので、ブートログを見てみます。

このままでは今後、linux-firmwareの更新時に上書きされてしまう可能性があるので、以下の要領でパッケージを更新保留にする必要があります。

保留を解除したい場合は unhold を付けて実行。

以上、カーネルドライバの入替え〜適用については、こちらの記事を参考にさせて頂きました(Great Tnx!!)。

 

ここまでの試行錯誤でネットワーク断はかなり軽減されまたものの、それでもまだドライバからの警告とWiFiネットワークの瞬断は解消しません。ところが数日後、あれほどしつこく再発していたWiFiネットワーク断が全く無くなっていることに気づき、カーネルバージョンを確認すると、ドライバはそのままにカーネルのマイナー番号が進んでいました。

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA