After recent update of OpenSUSE 15.3, my ASUS ROG laptop with Intel(R) Wireless-AC 9560 adapter started suddenly loosing WiFi device.
To find out what was the reason (and wireless adapter model) I used following command:
sudo dmesg | grep iwl
First I tried to remove and then install wifi module as described in https://askubuntu.com/questions/271387/how-to-restart-wifi-connection
sudo modprobe -r iwlmvm
sudo modprobe -r iwlwifi
sudo modprobe iwlwifi
sudo modprobe iwlmvm
But after a couple of restarts the computer started hanging with caps lock button light blinking.
Thanks to Mike, turning off power management for wifi let me having the system that does not hang after a couple of minutes after reboot:
sudo iwconfig wlan0 power off
If your wifi currently disabled, you'll need to combine both methods mentioned above.
I also tried downloading latest ucode (46 version) from Intel's website https://www.intel.com/content/www/us/en/support/articles/000005511/wireless.html and placing into /lib/firmware folder.
Also move somewhere the firmware that is in default package to a backup folder.
cd /lib/firmware
mv ./iwlwifi-9000-pu-b0-jf-b0-46.ucode.xz ~/
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/iwlwifi-9000-pu-b0-jf-b0-46.ucode
After this reload iwlwifi module as described above or reboot.
But this method and turning off power management helped only until my laptop got slept for a night.
So I started deleting firmware versions one after another until I got stable system with power management on, here is what is final solution I use currently (run as root):
su root
# enter password
cd /lib/firmware
mv ./iwlwifi-9000-pu-b0-jf-b0-46.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-43.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-41.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-38.ucode.xz ~/
modprobe -r iwlmvm
modprobe -r iwlwifi
modprobe iwlwifi
modprobe iwlmvm
This gave a bit of calm time, but yet not helped.
So then in addition to downgrading firmware I made a combination of what is suggested here:
su root
# enter password
cd /lib/firmware
mv ./iwlwifi-9000-pu-b0-jf-b0-46.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-43.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-41.ucode.xz ~/
mv ./iwlwifi-9000-pu-b0-jf-b0-38.ucode.xz ~/
cat <<EOF > /etc/modprobe.d/99-iwlwifi.conf
blacklist hp_wmi
blacklist intel_ips
options usbcore autosuspend=1
options i915 modeset=1
options iwlwifi swcrypto=0
options iwlwifi power_save=0
options iwlwifi uapsd_disable=1
options iwlmvm power_scheme=1
EOF
modprobe -r iwlmvm
modprobe -r iwlwifi
modprobe iwlwifi
modprobe iwlmvm
iwconfig wlan0 power off
So far for 3 days I experience no problems, but I added it to the keyboard shortcut so I could have WiFi back after next bad update.
After some time started experiencing problems again, so tried to install kernel-firmware-iwlwifi version 20211030.
After update to OpenSuse Leap 15.3.2 my script is:
cat <<EOF > /etc/modprobe.d/99-iwlwifi.conf
options usbcore autosuspend=0
options i915 modeset=1
options iwlwifi swcrypto=0
options iwlwifi power_save=0
options iwlwifi uapsd_disable=1
options iwlmvm power_scheme=1
EOF
modprobe -r iwlmvm
modprobe -r iwlwifi
modprobe iwlwifi
modprobe iwlmvm
iwconfig wlan0 power off