Wireless
Participate in insightful discussions regarding issues related to Intel® Wireless Adapters and technologies
Announcements
For support on Altera products please visit the Altera Community Forums.
8851 Discussions

Intel WiFi 7 BE200 loses connection after suspend/resume on Ubuntu 25.04 - seeking advice on solutio

Reivax523
Beginner
21,918 Views

I'm experiencing a common but frustrating issue with my Intel WiFi 7 BE200 card on Ubuntu 25.04 and would appreciate community advice on the best solution approach.

Hardware:

  • Laptop: IdeaPad Pro 5 14IAH10 - Type 83JK
  • WiFi Card: Intel WiFi 7 BE200 320MHz
  • OS: Ubuntu 25.04 (kernel 6.14.0-15-generic)
  • Firmware: 96.44729d4e.0 gl-c0-fm-c0-96.ucode

WiFi works perfectly on boot, but after suspend/resume, it cannot find any networks. The system shows the classic "Unable to change power state from D3cold to D0, device inaccessible" error in dmesg.

  1. This appears to be a known issue with BE200 cards and power management
  2. Manual driver reload (sudo modprobe -r iwlmvm iwlwifi && sudo modprobe iwlwifi iwlmvm) doesn't restore functionality
  3. Only a full reboot restores WiFi

I have tried WiFi-specific udev rules to disable power management but it did not work. I also tested firmware updates (I have v96, v97 available), but still, did not work.

Any insights from the community would be greatly appreciated! I am really struggling to find any solutions.

 
 
 
 
Labels (1)
24 Replies
dawnnguyen-vn
Beginner
1,537 Views

Thank you so much!
Your solution works perfectly with kernel 6.15. Before this, I was using a different method (linked here ), which only worked with kernels older than 6.15. After switching to your approach, everything is working smoothly.
Your explanation was very clear and helped me understand the issue. I really appreciate your help—thank you again!

0 Kudos
bugg
Beginner
1,254 Views

I created the account just to thank you,it worked!

 
0 Kudos
Matt1234
Beginner
917 Views

I have the same bug ; (

0 Kudos
aivanov
Beginner
553 Views

try putting

#!/usr/bin/env bash

HWID='8086:272b'
SWID=$(lspci -bn | grep "$HWID" | awk '{print $1}')
SWdev="/sys/bus/pci/devices/0000:${SWID}/d3cold_allowed"
[ -w "$SWdev" ] || exit 1

_self(){
 case "$1" in
   pre) echo 0 > $SWdev ;;
   post) echo 1 > $SWdev ;;
 esac
}

_self $1

exit 0

into /lib/systemd/system-sleep/ (whatever filename fits you the best)
Don't forget to make executable
Then reboot if the card is already broken, otherwise it supposed to be ready to use

If your card's VID:PID differs - edit the 3d line correspondingly

0 Kudos
Reply