Hello,
I know this is an old topic, but I’ve recently purchased a new laptop, decided to give Manjaro a try and ran into the same problem - after sleep (but not hibernation) wifi networks get disconnected and disappear from NetworkManager.
The given solution in the other topic did not help me as it solves the issue by re-enabling the network hardware enable/disable button, which is not present on my laptop.
After fiddling around with this issue and trying the other given options (I frankly tried so many things that I forgot more than half of them in the process, including many modifications to udev rules, grub configuration, modprobe .conf
files, getting new firmware, etc.).
Eventually I noticed that the network card
0000:2c:00.0 Network controller: Intel Corporation Wi-Fi 7(802.11be) AX1775*/AX1790*/BE20*/BE401/BE1750* 2x2 (rev 1a)
Subsystem: Rivet Networks Device 1774
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
failed to return from D3cold
state after sleep
[ 1751.155237] iwlwifi: unknown parameter 'd0i3_disable' ignored
[ 1751.156063] iwlwifi 0000:2c:00.0: Unable to change power state from D3cold to D0, device inaccessible
cat /sys/bus/pci/devices/0000:2c:00.0/power_state
D3cold
and
cat /sys/bus/pci/devices/0000:2c:00.0/d3cold_allowed
would always be 1
after restart.
So I created a service /etc/systemd/system/disable-d3cold.service
to disable d3cold_allowed
[Unit]
Description=Disable D3cold for Wi-Fi PCI Device
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c "echo 0 > /sys/bus/pci/devices/0000:2c:00.0/d3cold_allowed"
[Install]
WantedBy=multi-user.target
sudo systemctl enable disable-d3cold.service
Now that the device does not enter D3cold
it can not fail to recover from it.
I understand that this is more a workaround than an actual solution, but for my case (since I’m only using sleep when laptop is connected to AC power) this is acceptable.
Perhaps there is a more elegant solution, but throwing this in here so if somebody has the same issue has this option and can save themselves the frustration.