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のネットワーク接続を確認しても確かに無効にしてあります。
ところがターミナルで確認するとWiFiインターフェイスやloにまだ少し、IPv6に関する記述が残っていました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff 3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff inet 192.168.5.199/24 brd 192.168.5.255 scope global dynamic noprefixroute wlp2s0 valid_lft 11328sec preferred_lft 11328sec inet6 fe80::4a51:b7ff:fe2a:e23e/64 scope link valid_lft forever preferred_lft forever |
sysctlによるIPv6無効化
そこで、 /etc/sysctl.conf に次の行を追記してIPv6を無効にします。
1 2 3 |
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1 |
sysctl に設定をリロードさせるとIPv6の残骸は綺麗に無くなりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ sudo sysctl -p net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000 link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff 3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff inet 192.168.5.199/24 brd 192.168.5.255 scope global dynamic noprefixroute wlp2s0 valid_lft 10824sec preferred_lft 10824sec |
一部の事例ではシステム再起動後にこの変更内容が消えてしまうらしいので試しに再起動させてみましたが、今回は消えること無くしっかり機能してくれていました。
iwlwifiの設定見直し
IPv6無効化によりWiFiネットワークはだいぶ安定しましたが、ある日たまたまネットワークが切れた際に確認することが出来たログがこちら。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Mar 3 14:34:01 VPCSA26GGu NetworkManager[1030]: <info> [1646289241.5983] connectivity: (wlp2s0) timed out Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128502] WARNING: CPU: 1 PID: 499 at /build/linux-JspD3Z/linux-4.15.0/drivers/net/wireless/intel/iwlwifi/mvm/rs.c:1225 iwl_mvm_rs_tx_status+0x158/0x790 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128505] Modules linked in: ccm intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp arc4 snd_hda_codec_hdmi kvm snd_hda_codec_realtek irqbypass snd_hda_codec_generic crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_hda_intel snd_hda_codec aesni_intel snd_hda_core aes_x86_64 snd_hwdep crypto_simd radeon uvcvideo glue_helper cryptd iwlmvm intel_cstate snd_pcm mac80211 videobuf2_vmalloc intel_rapl_perf videobuf2_memops snd_seq_midi joydev videobuf2_v4l2 input_leds snd_seq_midi_event i915 videobuf2_core serio_raw videodev iwlwifi ttm rtsx_pci_ms snd_rawmidi media drm_kms_helper memstick drm snd_seq cfg80211 i2c_algo_bit fb_sys_fops snd_seq_device snd_timer mac_hid syscopyarea snd sony_laptop sysfillrect mei_me soundcore sysimgblt mei shpchp lpc_ich tpm_infineon video binfmt_misc sch_fq_codel Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128551] parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid hid rtsx_pci_sdmmc r8169 mii psmouse ahci libahci rtsx_pci Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128565] CPU: 1 PID: 499 Comm: irq/33-iwlwifi Tainted: G W 4.15.0-169-generic #177-Ubuntu Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128566] Hardware name: Sony Corporation VPCSA26GG/VAIO, BIOS R2087H4 06/15/2012 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128579] RIP: 0010:iwl_mvm_rs_tx_status+0x158/0x790 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128581] RSP: 0018:ffffb7f68140fa90 EFLAGS: 00010282 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128583] RAX: 00000000ffffffea RBX: ffff8b87d2f7a908 RCX: 00000000000000ff Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128585] RDX: ffffffffc0aa9489 RSI: 0000000000000000 RDI: 0000000000000000 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128586] RBP: ffffb7f68140fb38 R08: 0000000000000000 R09: 0000000000000000 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128588] R10: 0000000000000006 R11: ffff8b87324f483e R12: ffff8b87d09b7428 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128589] R13: 0000000000000006 R14: 0000000000000000 R15: ffff8b87d42b1568 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128592] FS: 0000000000000000(0000) GS:ffff8b87dfa40000(0000) knlGS:0000000000000000 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128593] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128595] CR2: 00005618099470a8 CR3: 000000023180a004 CR4: 00000000000606e0 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128597] Call Trace: Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128605] ? __slab_free+0x153/0x2d0 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128609] ? skb_free_head+0x21/0x30 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128612] ? kfree+0x168/0x180 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128624] rs_mac80211_tx_status+0x9e/0xa0 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128657] rate_control_tx_status+0xa7/0xb0 [mac80211] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128675] __ieee80211_tx_status+0x2ba/0x820 [mac80211] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128693] ieee80211_tx_status+0x84/0xb0 [mac80211] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128704] iwl_mvm_tx_reclaim+0x289/0x380 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128715] iwl_mvm_rx_ba_notif+0x19a/0x2d0 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128725] iwl_mvm_rx_common+0x7d/0x280 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128734] iwl_mvm_rx+0x5d/0x70 [iwlmvm] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128745] iwl_pcie_rx_handle+0x268/0x9c0 [iwlwifi] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128756] iwl_pcie_irq_handler+0x704/0xab0 [iwlwifi] Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128761] ? irq_finalize_oneshot.part.42+0xf0/0xf0 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128764] irq_thread_fn+0x26/0x60 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128767] irq_thread+0xea/0x170 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128770] ? irq_forced_thread_fn+0x90/0x90 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128775] kthread+0x121/0x140 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128778] ? irq_thread_check_affinity+0xe0/0xe0 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128783] ? kthread_create_worker_on_cpu+0x70/0x70 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128789] ret_from_fork+0x35/0x40 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128792] Code: 70 0a 00 00 48 63 c1 48 01 83 68 0a 00 00 56 51 be 00 00 10 00 49 8b 3f 48 c7 c1 50 87 aa c0 e8 4f d2 ca ff 59 5e e9 03 ff ff ff <0f> 0b e9 fc fe ff ff 49 c7 c0 f8 52 ab c0 49 8b 3f 48 c7 c1 50 Mar 3 14:34:08 VPCSA26GGu kernel: [ 4843.128826] ---[ end trace 6b6899776f31d924 ]--- |
Intel WiFiモジュール向けドライバ、iwlwifiから警告が挙がってネットワークが切れる、と言う因果関係は見えてきたので、まずWiFiインターフェイスとロードされているドライバを確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ iw wlp2s0 info Interface wlp2s0 ifindex 3 wdev 0x1 addr ##:##:##:##:##:## ssid ######## type managed wiphy 0 channel 40 (5200 MHz), width: 80 MHz, center1: 5210 MHz txpower 22.00 dBm $ lsmod | grep iwl iwlmvm 368640 0 mac80211 786432 1 iwlmvm iwlwifi 290816 1 iwlmvm cfg80211 634880 3 iwlmvm,iwlwifi,mac80211 |
Ubuntu界隈のIntel AC7260もまた色々と問題はあるようで、おおよそ次の2つのスレッドから対処策は見つかりました(Great Tnx!!)。
以上を元に、 /etc/modprobe.d/iwlwifi.conf へセットするパラメータを決めるために、まずは現在使用中のドライバの詳細を確認してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
$ modinfo iwlwifi | grep -v alias: filename: /lib/modules/4.15.0-169-generic/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko license: GPL author: Copyright(c) 2003- 2015 Intel Corporation <linuxwifi@intel.com> description: Intel(R) Wireless WiFi driver for Linux firmware: iwlwifi-100-5.ucode firmware: iwlwifi-1000-5.ucode firmware: iwlwifi-135-6.ucode firmware: iwlwifi-105-6.ucode firmware: iwlwifi-2030-6.ucode firmware: iwlwifi-2000-6.ucode firmware: iwlwifi-5150-2.ucode firmware: iwlwifi-5000-5.ucode firmware: iwlwifi-6000g2b-6.ucode firmware: iwlwifi-6000g2a-6.ucode firmware: iwlwifi-6050-5.ucode firmware: iwlwifi-6000-6.ucode firmware: iwlwifi-7265D-29.ucode firmware: iwlwifi-7265-17.ucode firmware: iwlwifi-3168-29.ucode firmware: iwlwifi-3160-17.ucode firmware: iwlwifi-7260-17.ucode firmware: iwlwifi-8265-34.ucode firmware: iwlwifi-8000C-34.ucode firmware: iwlwifi-9260-th-b0-jf-b0-34.ucode firmware: iwlwifi-9260-th-a0-jf-a0-34.ucode firmware: iwlwifi-9000-pu-a0-jf-b0-34.ucode firmware: iwlwifi-9000-pu-b0-jf-b0-34.ucode firmware: iwlwifi-9000-pu-a0-jf-a0-34.ucode firmware: iwlwifi-QuQnj-a0-hr-a0-34.ucode firmware: iwlwifi-QuQnj-a0-jf-b0-34.ucode firmware: iwlwifi-QuQnj-f0-hr-a0-34.ucode firmware: iwlwifi-Qu-a0-jf-b0-34.ucode firmware: iwlwifi-Qu-a0-hr-a0-34.ucode srcversion: 578432A6FC6B903815C7082 depends: cfg80211 retpoline: Y intree: Y name: iwlwifi vermagic: 4.15.0-169-generic SMP mod_unload modversions signat: PKCS#7 signer: sig_key: sig_hashalgo: md4 parm: swcrypto:using crypto in software (default 0 [hardware]) (int) parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint) parm: amsdu_size:amsdu size 0: 12K for multi Rx queue devices, 4K for other devices 1:4K 2:8K 3:12K (default 0) (int) parm: fw_restart:restart firmware in case of error (default true) (bool) parm: antenna_coupling:specify antenna coupling in dB (default: 0 dB) (int) parm: nvm_file:NVM file name (charp) parm: d0i3_disable:disable d0i3 functionality (default: Y) (bool) parm: lar_disable:disable LAR functionality (default: N) (bool) parm: uapsd_disable:disable U-APSD functionality bitmap 1: BSS 2: P2P Client (default: 3) (uint) parm: bt_coex_active:enable wifi/bt co-exist (default: enable) (bool) parm: led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int) parm: power_save:enable WiFi power management (default: disable) (bool) parm: power_level:default power save level (range from 1 - 5, default: 1) (int) parm: fw_monitor:firmware monitor - to debug FW (default: false - needs lots of memory) (bool) parm: d0i3_timeout:Timeout to D0i3 entry when idle (ms) (uint) parm: disable_11ac:Disable VHT capabilities (default: false) (bool) |
利用可能なパラメータはバージョンによって異なる場合があるので、上の parm 項を確認して使える項目をピックアップの上、以下のオプション項を追記しました(Bluetoothは別途無効済)。
1 |
options iwlwifi bt_coex_active=0 swcrypto=1 11n_disable=8 |
設定ファイルを保存したら、以下の要領でドライバを再読込させて設定を反映させます(iwlwifiの下にiwlmvmがぶら下がっているので落とす時はこちらから。ロードはiwlwifiがハードウェアに応じた子を自動ロードしてくれます)。
1 2 3 4 5 6 7 8 9 10 |
$ sudo modprobe -r iwlmvm $ sudo modprobe -r iwlwifi ←【iwlwifiは既にアンロードされたが念の為】 rmmod: ERROR: missing module name. modprobe: FATAL: Error running remove command for iwlwifi $ sudo modprobe iwlwifi $ lsmod | grep iwl iwlmvm 368640 0 mac80211 786432 1 iwlmvm iwlwifi 290816 1 iwlmvm cfg80211 634880 3 iwlmvm,iwlwifi,mac80211 |
なお、 swcrypto=1 というオプションも先述のフォーラムで追加すると良い項目の一つに挙げられていたのですが、私の場合は逆にネットワーク断の頻度が顕著に増したので削除しました。この辺りは個々の環境によって有意な要素は異なるようなので、いろいろ試しながら最適解を探るしか無さそうです。
また、編集した設定ファイル /etc/modprobe.d/iwlwifi.confに誤りがあるとロードに失敗してエラーになります。 modinfo の注釈に従って power_save=disable を設定しようとした時に遭遇してしまいびっくり。
1 2 |
$ sudo modprobe iwlwifi modprobe: ERROR: could not insert 'iwlwifi': Invalid argument |
値は か 1 をセットするようなのですが、どちらの場合でも省電力モードが有効になったままで設定が効かないので、意味は無さそう。
1 2 |
$ iw wlp2s0 get power_save Power save: on |
省電力モードを無効に
ちなみに iw コマンドを使うと、次のように強制的に省電力モードを切ることが出来ます。
1 2 3 |
$ sudo iw wlp2s0 set power_save off $ iw wlp2s0 get power_save Power save: off |
但し、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 が最終版とのこと。少し気になったので、現在のカーネルバージョンとドライバファイルを見てみます。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ uname -a Linux 4.15.0-169-generic #177-Ubuntu SMP Thu Feb 3 10:50:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux $ ls -l /lib/firmware/*7260* -rw-r--r-- 1 root root 672352 3月 30 2017 /lib/firmware/iwlwifi-7260-10.ucode -rw-r--r-- 1 root root 782300 3月 30 2017 /lib/firmware/iwlwifi-7260-12.ucode -rw-r--r-- 1 root root 786920 3月 30 2017 /lib/firmware/iwlwifi-7260-13.ucode -rw-r--r-- 1 root root 1049284 3月 30 2017 /lib/firmware/iwlwifi-7260-16.ucode -rw-r--r-- 1 root root 1049340 3月 3 2021 /lib/firmware/iwlwifi-7260-17.ucode -rw-r--r-- 1 root root 683236 3月 30 2017 /lib/firmware/iwlwifi-7260-7.ucode -rw-r--r-- 1 root root 679780 3月 30 2017 /lib/firmware/iwlwifi-7260-8.ucode -rw-r--r-- 1 root root 680508 3月 30 2017 /lib/firmware/iwlwifi-7260-9.ucode |
自分で入れ替えることもさほど難しくなさそうなので、カーネルファームウェアのダウンロードページから最新のファームウェアをダウンロードします。
1 |
linux-firmware-20220209.tar.gz 390,279,401 Byte |
この大きなアーカイブから、iwlwifi-7260関連のファイルを取り出し、所有権やアクセス権を現在使用中のファイルと合わせます。
1 2 3 4 5 6 7 8 9 10 11 |
$ sudo chown root:root ./* $ sudo chmod 664 ./* $ ls -l -rw-rw-r-- 1 root root 672352 2月 10 07:06 iwlwifi-7260-10.ucode -rw-rw-r-- 1 root root 782300 2月 10 07:06 iwlwifi-7260-12.ucode -rw-rw-r-- 1 root root 786920 2月 10 07:06 iwlwifi-7260-13.ucode -rw-rw-r-- 1 root root 1049284 2月 10 07:06 iwlwifi-7260-16.ucode -rw-rw-r-- 1 root root 1049340 2月 10 07:06 iwlwifi-7260-17.ucode -rw-rw-r-- 1 root root 683236 2月 10 07:06 iwlwifi-7260-7.ucode -rw-rw-r-- 1 root root 679780 2月 10 07:06 iwlwifi-7260-8.ucode -rw-rw-r-- 1 root root 680508 2月 10 07:06 iwlwifi-7260-9.ucode |
準備が出来たので、これらの新ドライバファイルを /lib/firmware/ へ上書きコピーします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo cp -v -p ./* /lib/firmware/ './iwlwifi-7260-10.ucode' -> '/lib/firmware/iwlwifi-7260-10.ucode' './iwlwifi-7260-12.ucode' -> '/lib/firmware/iwlwifi-7260-12.ucode' './iwlwifi-7260-13.ucode' -> '/lib/firmware/iwlwifi-7260-13.ucode' './iwlwifi-7260-16.ucode' -> '/lib/firmware/iwlwifi-7260-16.ucode' './iwlwifi-7260-17.ucode' -> '/lib/firmware/iwlwifi-7260-17.ucode' './iwlwifi-7260-7.ucode' -> '/lib/firmware/iwlwifi-7260-7.ucode' './iwlwifi-7260-8.ucode' -> '/lib/firmware/iwlwifi-7260-8.ucode' './iwlwifi-7260-9.ucode' -> '/lib/firmware/iwlwifi-7260-9.ucode' $ ls -l /lib/firmware/iwlwifi-7260* -rw-rw-r-- 1 root root 672352 2月 10 07:06 /lib/firmware/iwlwifi-7260-10.ucode -rw-rw-r-- 1 root root 782300 2月 10 07:06 /lib/firmware/iwlwifi-7260-12.ucode -rw-rw-r-- 1 root root 786920 2月 10 07:06 /lib/firmware/iwlwifi-7260-13.ucode -rw-rw-r-- 1 root root 1049284 2月 10 07:06 /lib/firmware/iwlwifi-7260-16.ucode -rw-rw-r-- 1 root root 1049340 2月 10 07:06 /lib/firmware/iwlwifi-7260-17.ucode -rw-rw-r-- 1 root root 683236 2月 10 07:06 /lib/firmware/iwlwifi-7260-7.ucode -rw-rw-r-- 1 root root 679780 2月 10 07:06 /lib/firmware/iwlwifi-7260-8.ucode -rw-rw-r-- 1 root root 680508 2月 10 07:06 /lib/firmware/iwlwifi-7260-9.ucode |
ドライバファイルを入替えたら、/boot/initrd.imgをアップデートしてPCを再起動します。
1 2 3 4 5 6 |
$ sudo update-initramfs -uk all update-initramfs: Generating /boot/initrd.img-4.15.0-169-generic update-initramfs: Generating /boot/initrd.img-4.15.0-167-generic $ ls -l /boot/initrd.img* -rw-r--r-- 1 root root 41851343 3月 4 10:47 /boot/initrd.img-4.15.0-167-generic -rw-r--r-- 1 root root 41849741 3月 4 10:47 /boot/initrd.img-4.15.0-169-generic |
再起動後もWiFiが正常に接続されたのを確認したので、ブートログを見てみます。
1 2 3 4 5 6 7 |
$ dmesg | grep iwl [ 4.132228] iwlwifi 0000:02:00.0: loaded firmware version 17.3216344376.0 op_mode iwlmvm [ 4.191210] iwlwifi 0000:02:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144 [ 4.209486] iwlwifi 0000:02:00.0: base HW address: ##:##:##:##:##:## [ 4.257288] Modules linked in: kvm_intel(-) kvm irqbypass snd_hda_intel(+) crct10dif_pclmul iwlmvm(+) crc32_pclmul snd_hda_codec ghash_clmulni_intel snd_hda_core uvcvideo mac80211 pcbc snd_hwdep aesni_intel snd_pcm videobuf2_vmalloc aes_x86_64 videobuf2_memops crypto_simd videobuf2_v4l2 glue_helper iwlwifi videobuf2_core snd_seq_midi cryptd snd_seq_midi_event videodev intel_cstate joydev input_leds intel_rapl_perf i915(+) media radeon(+) snd_rawmidi serio_raw snd_seq rtsx_pci_ms ttm cfg80211 drm_kms_helper memstick lpc_ich snd_seq_device drm snd_timer i2c_algo_bit snd sony_laptop fb_sys_fops mei_me syscopyarea sysfillrect sysimgblt soundcore shpchp mei tpm_infineon mac_hid video binfmt_misc sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid hid rtsx_pci_sdmmc psmouse [ 4.569975] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs' [ 4.703029] iwlwifi 0000:02:00.0 wlp2s0: renamed from wlan0 |
このままでは今後、linux-firmwareの更新時に上書きされてしまう可能性があるので、以下の要領でパッケージを更新保留にする必要があります。
1 2 |
$ sudo apt-mark hold linux-firmware linux-firmware は保留に設定されました。 |
保留を解除したい場合は unhold を付けて実行。
以上、カーネルドライバの入替え〜適用については、こちらの記事を参考にさせて頂きました(Great Tnx!!)。
ここまでの試行錯誤でネットワーク断はかなり軽減されまたものの、それでもまだドライバからの警告とWiFiネットワークの瞬断は解消しません。ところが数日後、あれほどしつこく再発していたWiFiネットワーク断が全く無くなっていることに気づき、カーネルバージョンを確認すると、ドライバはそのままにカーネルのマイナー番号が進んでいました。
1 2 3 4 5 6 7 8 9 10 11 |
$ uname -a Linux VPCSA26GGu 4.15.0-171-generic #180-Ubuntu SMP Wed Mar 2 17:25:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux $ ls -l /lib/firmware/*7260* -rw-rw-r-- 1 root root 672352 2月 10 07:06 /lib/firmware/iwlwifi-7260-10.ucode -rw-rw-r-- 1 root root 782300 2月 10 07:06 /lib/firmware/iwlwifi-7260-12.ucode -rw-rw-r-- 1 root root 786920 2月 10 07:06 /lib/firmware/iwlwifi-7260-13.ucode -rw-rw-r-- 1 root root 1049284 2月 10 07:06 /lib/firmware/iwlwifi-7260-16.ucode -rw-rw-r-- 1 root root 1049340 2月 10 07:06 /lib/firmware/iwlwifi-7260-17.ucode -rw-rw-r-- 1 root root 683236 2月 10 07:06 /lib/firmware/iwlwifi-7260-7.ucode -rw-rw-r-- 1 root root 679780 2月 10 07:06 /lib/firmware/iwlwifi-7260-8.ucode -rw-rw-r-- 1 root root 680508 2月 10 07:06 /lib/firmware/iwlwifi-7260-9.ucode |