Hi,
To make things clear, this post is divided into two parts:
A few months ago, I bought a new computer (asus vivobook K3605ZV). Once received, I was surprised to see that the wifi card (mt7902) wasn't supported by linux and will, à priori, not be supported in the near future. Therefore, I replaced the wifi card with an AX210 from Intel bought. The wifi card works well, but now the computer can't wake up from sleep... At this point, my computer was running debian 12 with linux 6.1.
I did some research and add the following script inside /usr/lib/systemd/system-sleep/ (https://bbs.archlinux.org/viewtopic.php?id=293404):With this script, my computer can now resume from sleep but after that, wifi isn't working at all but bluetooth works without any problems (which is weird?). In particular, dmesg outputs this after resuming:
I tought that It was because linux 6.1 is too "old" so I installed linux 6.10 from the backports and latest version of iwlwifi. It didn't solved the issue and in fact was a regression because with linux 6.10 and the script above, the computer can't wake up. I searched a way to disable d3cold and found the following kernel parameter: pcie_port_pm=off, which apparently disable d3cold for every pci. With that, wifi now works after waking up from sleep (linux 6.1 and 6.10), but it is not ideal as the computer keeps running, to the point, that sometimes the fan is spinning while the computer is sleeping.
I searched a way to disable d3cold only for the wifi card, and finally by looking at linux source code, I came up with the following init.d script:
At this point, I was using linux 6.10 and everything was working and I was extremely happy. But for a few weeks now, wifi breaks straight after booting. I also realized that I can upgrade linux to 6.11, which didn't solve my issue. Switching to linux 6.1 actually solves the issue BUT I don't want to do that because linux 6.10 (and 6.11) solves another problem (screen flickering).
Current situation
Right now, I'm using debian 12 with linux 6.11 from backports and iwlwifi 20240709. Every logs below will be produced using these versions.
The problem is: after resuming from sleep, wifi breaks (but not bluetooth). A init.d script was found to partially solve the problem by disabling d3cold only for the wifi card. However, this script doesn't always work when the computer is booting.
lspci returns:
dmesg | grep iwlwifi returns:
The last line is replicated seven times and comes from linux printing a stacktrace:
It should be noted that linux 6.1 don't prints these stacktraces at boot (unlike 6.10 and 6.11).
The full outputs of dmesg can be found is here: https://dpaste.com/FZNJYDNDX (due to character limit)
It shows more things such as:Finally,
lsusb && rfkill list all && mokutil --sb-state returns (seen users on others forums ask this):As conclusion, here are my questions:
- why bluetooth keeps working when wifi is broken?
- Is it possible that I have poorly connected the wifi card? I think not because bluetooth always works.
- Did you have any simple fix to solve this problem?
Thank you.
To make things clear, this post is divided into two parts:
- 'Context' to understand what is the problem and what I have tried to solve it
- 'Current situation' which is a small recap of the problem alongside a few logs.
A few months ago, I bought a new computer (asus vivobook K3605ZV). Once received, I was surprised to see that the wifi card (mt7902) wasn't supported by linux and will, à priori, not be supported in the near future. Therefore, I replaced the wifi card with an AX210 from Intel bought. The wifi card works well, but now the computer can't wake up from sleep... At this point, my computer was running debian 12 with linux 6.1.
I did some research and add the following script inside /usr/lib/systemd/system-sleep/ (https://bbs.archlinux.org/viewtopic.php?id=293404):
Code:
#!/bin/shcase $1/$2 inpre/*)modprobe -r iwlmvm iwlwifi;;post/*)modprobe iwlmvm iwlwifi;;esac
Code:
[ 294.230053] iwlwifi 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible[ 294.289935] iwlwifi 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible[ 294.290403] iwlwifi 0000:2c:00.0: HW_REV=0xFFFFFFFF, PCI issues?[ 294.290537] iwlwifi: probe of 0000:2c:00.0 failed with error -5
I searched a way to disable d3cold only for the wifi card, and finally by looking at linux source code, I came up with the following init.d script:
Code:
#!/bin/sh### BEGIN INIT INFO# Provides: disable_d3cold_ax210# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: # Short-Description: Disable d3cold for AX210### END INIT echo 0 > /sys/bus/pci/devices/0000\:2c\:00.0/d3cold_allowed # THIS LINE DISABLES D3COLDexit 0
Current situation
Right now, I'm using debian 12 with linux 6.11 from backports and iwlwifi 20240709. Every logs below will be produced using these versions.
The problem is: after resuming from sleep, wifi breaks (but not bluetooth). A init.d script was found to partially solve the problem by disabling d3cold only for the wifi card. However, this script doesn't always work when the computer is booting.
lspci returns:
Code:
0000:00:00.0 Host bridge: Intel Corporation 12th Gen Core Processor Host Bridge/DRAM Registers (rev 02)0000:00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 02)0000:00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)0000:00:04.0 Signal processing controller: Intel Corporation Alder Lake Innovation Platform Framework Processor Participant (rev 02)0000:00:06.0 System peripheral: Intel Corporation RST VMD Managed Controller0000:00:07.0 PCI bridge: Intel Corporation Alder Lake-P Thunderbolt 4 PCI Express Root Port #0 (rev 02)0000:00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02)0000:00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01)0000:00:0d.0 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 USB Controller (rev 02)0000:00:0d.2 USB controller: Intel Corporation Alder Lake-P Thunderbolt 4 NHI #0 (rev 02)0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller0000:00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01)0000:00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)0000:00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)0000:00:15.2 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #2 (rev 01)0000:00:16.0 Communication controller: Intel Corporation Alder Lake PCH HECI Controller (rev 01)0000:00:1c.0 PCI bridge: Intel Corporation Alder Lake PCH-P PCI Express Root Port #9 (rev 01)0000:00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)0000:00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)0000:00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)0000:00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)0000:01:00.0 VGA compatible controller: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] (rev a1)0000:2c:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)10000:e0:06.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x4 Controller #0 (rev 02)10000:e1:00.0 Non-Volatile memory controller: Micron Technology Inc 2400 NVMe SSD (DRAM-less) (rev 03)
dmesg | grep iwlwifi returns:
Code:
[ 7.292109] iwlwifi 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible[ 7.351864] iwlwifi 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible[ 7.352389] iwlwifi 0000:2c:00.0: HW_REV=0xFFFFFFFF, PCI issues?[ 7.352442] iwlwifi 0000:2c:00.0: probe with driver iwlwifi failed with error -5[ 32.296576] ghash_clmulni_intel sha512_ssse3 sha256_ssse3 snd_soc_hda_codec sha1_ssse3 snd_hda_ext_core snd_soc_core iwlwifi snd_compress snd_pcm_dmaengine snd_hda_intel snd_intel_dspcfg aesni_intel snd_intel_sdw_acpi gf128mul crypto_simd cryptd snd_hda_codec snd_ctl_led rapl snd_hda_core cfg80211 snd_hwdep snd_pcm asus_nb_wmi mei_pxp mei_hdcp asus_wmi intel_cstate processor_thermal_device_pci processor_thermal_device iTCO_wdt intel_rapl_msr intel_uncore platform_profile intel_pmc_bxt snd_timer processor_thermal_wt_hint ucsi_acpi processor_thermal_rfim mei_me wmi_bmof iTCO_vendor_support processor_thermal_rapl snd typec_ucsi mei rfkill intel_rapl_common watchdog pcspkr processor_thermal_wt_req typec soundcore processor_thermal_power_floor igen6_edac intel_pmc_core processor_thermal_mbox roles int3403_thermal int340x_thermal_zone intel_vsec int3400_thermal pmt_telemetry intel_hid acpi_pad acpi_thermal_rel acpi_tad pmt_class sparse_keymap joydev evdev ac serio_raw i2c_dev msr parport_pc ppdev lp parport loop efi_pstore
Code:
[ 32.296409] ------------[ cut here ]------------[ 32.296423] WARNING: CPU: 13 PID: 1520 at include/linux/rwsem.h:80 follow_pte+0x20b/0x220[ 32.296445] Modules linked in: rfcomm snd_seq snd_seq_device vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) qrtr cmac algif_hash algif_skcipher af_alg bnep nvidia_drm(POE) nvidia_modeset(POE) nvidia(POE) btusb btrtl uvcvideo btintel btbcm btmtk videobuf2_vmalloc uvc videobuf2_memops bluetooth videobuf2_v4l2 videodev videobuf2_common mc binfmt_misc nls_ascii nls_cp437 vfat fat snd_soc_skl_hda_dsp snd_soc_hdac_hdmi snd_sof_probes snd_soc_intel_hda_dsp_common snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_hda_scodec_component snd_soc_dmic intel_uncore_frequency snd_sof_pci_intel_tgl intel_uncore_frequency_common snd_sof_pci_intel_cnl snd_sof_intel_hda_generic x86_pkg_temp_thermal soundwire_intel intel_powerclamp soundwire_generic_allocation soundwire_cadence coretemp snd_sof_intel_hda_common kvm_intel snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof kvm snd_sof_utils snd_soc_hdac_hda snd_soc_acpi_intel_match snd_soc_acpi soundwire_bus crct10dif_pclmul snd_soc_avs[ 32.296576] ghash_clmulni_intel sha512_ssse3 sha256_ssse3 snd_soc_hda_codec sha1_ssse3 snd_hda_ext_core snd_soc_core iwlwifi snd_compress snd_pcm_dmaengine snd_hda_intel snd_intel_dspcfg aesni_intel snd_intel_sdw_acpi gf128mul crypto_simd cryptd snd_hda_codec snd_ctl_led rapl snd_hda_core cfg80211 snd_hwdep snd_pcm asus_nb_wmi mei_pxp mei_hdcp asus_wmi intel_cstate processor_thermal_device_pci processor_thermal_device iTCO_wdt intel_rapl_msr intel_uncore platform_profile intel_pmc_bxt snd_timer processor_thermal_wt_hint ucsi_acpi processor_thermal_rfim mei_me wmi_bmof iTCO_vendor_support processor_thermal_rapl snd typec_ucsi mei rfkill intel_rapl_common watchdog pcspkr processor_thermal_wt_req typec soundcore processor_thermal_power_floor igen6_edac intel_pmc_core processor_thermal_mbox roles int3403_thermal int340x_thermal_zone intel_vsec int3400_thermal pmt_telemetry intel_hid acpi_pad acpi_thermal_rel acpi_tad pmt_class sparse_keymap joydev evdev ac serio_raw i2c_dev msr parport_pc ppdev lp parport loop efi_pstore[ 32.296712] configfs efivarfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 crc32c_generic rndis_host cdc_ether usbnet mii dm_mod nvme nvme_core i915 drm_buddy i2c_algo_bit drm_display_helper cec hid_multitouch rc_core hid_generic xhci_pci ttm i2c_hid_acpi i2c_hid xhci_hcd drm_kms_helper hid usbcore thunderbolt crc32_pclmul drm crc32c_intel intel_lpss_pci i2c_i801 intel_lpss i2c_smbus idma64 vmd usb_common battery button video wmi[ 32.296799] CPU: 13 UID: 0 PID: 1520 Comm: nv_queue Tainted: P OE 6.11.10+bpo-amd64 #1 Debian 6.11.10-1~bpo12+1[ 32.296812] Tainted: [P]=PROPRIETARY_MODULE, [O]=OOT_MODULE, [E]=UNSIGNED_MODULE[ 32.296815] Hardware name: ASUSTeK COMPUTER INC. Vivobook_ASUSLaptop K3605ZV_K3605ZV/K3605ZV, BIOS K3605ZV.305 05/24/2024[ 32.296819] RIP: 0010:follow_pte+0x20b/0x220[ 32.296829] Code: 00 00 00 c0 eb 8b 49 8b 3c 24 e8 f0 57 93 00 e8 8b f6 e0 ff bd ea ff ff ff 5b 89 e8 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc <0f> 0b e9 1e fe ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 90[ 32.296835] RSP: 0018:ffff9a7f41d9fb78 EFLAGS: 00010246[ 32.296841] RAX: 0000000000000000 RBX: 00007fdc6c7a9000 RCX: ffff9a7f41d9fbb8[ 32.296845] RDX: ffff9a7f41d9fbb0 RSI: 00007fdc6c7a9000 RDI: ffff8e155a9040b0[ 32.296849] RBP: ffff9a7f41d9fbf8 R08: ffff9a7f41d9fd50 R09: 0000000000000000[ 32.296853] R10: ffff8e1551ba5f3c R11: 0000000000000000 R12: ffff9a7f41d9fbb8[ 32.296857] R13: ffff9a7f41d9fbb0 R14: ffff8e155e6b7380 R15: 0000000000000000[ 32.296860] FS: 0000000000000000(0000) GS:ffff8e18e0280000(0000) knlGS:0000000000000000[ 32.296865] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033[ 32.296869] CR2: 00007f21f8d3a3d8 CR3: 00000001c7c22000 CR4: 0000000000f50ef0[ 32.296874] PKRU: 55555554[ 32.296877] Call Trace:[ 32.296884] <TASK>[ 32.296893] ? __warn+0x80/0x120[ 32.296905] ? follow_pte+0x20b/0x220[ 32.296913] ? report_bug+0x164/0x190[ 32.296924] ? handle_bug+0x58/0x90[ 32.296932] ? exc_invalid_op+0x17/0x70[ 32.296938] ? asm_exc_invalid_op+0x1a/0x20[ 32.296953] ? follow_pte+0x20b/0x220[ 32.296961] follow_phys+0x4b/0x110[ 32.296969] untrack_pfn+0x57/0x120[ 32.296977] unmap_single_vma+0xa6/0xe0[ 32.296986] zap_page_range_single+0x122/0x1d0[ 32.296998] unmap_mapping_range+0x11a/0x140[ 32.297010] nv_revoke_gpu_mappings+0x67/0xb0 [nvidia][ 32.297914] _nv000695rm+0x35/0x100 [nvidia][ 32.298926] rm_execute_work_item+0xea/0x130 [nvidia][ 32.299810] os_execute_work_item+0x5e/0x80 [nvidia][ 32.300505] _main_loop+0x8f/0x150 [nvidia][ 32.301153] ? __pfx__main_loop+0x10/0x10 [nvidia][ 32.301744] kthread+0xcf/0x100[ 32.301752] ? __pfx_kthread+0x10/0x10[ 32.301759] ret_from_fork+0x31/0x50[ 32.301765] ? __pfx_kthread+0x10/0x10[ 32.301771] ret_from_fork_asm+0x1a/0x30[ 32.301778] </TASK>[ 32.301779] ---[ end trace 0000000000000000 ]---
The full outputs of dmesg can be found is here: https://dpaste.com/FZNJYDNDX (due to character limit)
It shows more things such as:
Code:
[ 9.540899] ucsi_acpi USBC000:00: error -ETIMEDOUT: PPM init failed (appear with linux 6.10)[ 11.704030] pci 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible (appear with linux 6.11)
lsusb && rfkill list all && mokutil --sb-state returns (seen users on others forums ask this):
Code:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 001 Device 004: ID 322e:2012 BillionPixels USB2.0 HD UVC WebCamBus 001 Device 003: ID 04f3:0c90 Elan Microelectronics Corp. ELAN:ARM-M4Bus 001 Device 002: ID 04e8:6863 Samsung Electronics Co., Ltd Galaxy series, misc. (tethering mode)Bus 001 Device 006: ID 8087:0032 Intel Corp. AX210 BluetoothBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub0: asus-wlan: Wireless LAN Soft blocked: no Hard blocked: no1: asus-bluetooth: Bluetooth Soft blocked: no Hard blocked: no3: hci0: Bluetooth Soft blocked: no Hard blocked: noSecureBoot disabledPlatform is in Setup Mod
- why bluetooth keeps working when wifi is broken?
- Is it possible that I have poorly connected the wifi card? I think not because bluetooth always works.
- Did you have any simple fix to solve this problem?
Thank you.
Statistics: Posted by PoulpoGaz — 2024-12-28 21:23 — Replies 2 — Views 93