Sharing some workarounds concerning Microsoft’s Surface Pro 3 WIFI connectivity issues which I have experienced with Fedora (Silverblue) 30 and other Linux distributions.
N.B.: I use Fedora’s default kernel.
WIFI drops out randomly after which the system is unable to reconnect:
This issue can be solved by disabling the WIFI interface power saving feature. Reference.
Creating the following udev
rule does the trick:
/etc/udev/rules.d/81-surfacepro3_wifi.rules
SUBSYSTEM=="net", KERNEL=="wlp1s0", RUN+="/usr/sbin/iw dev $name set power_save off"
The WIFI card is unable to reconnect on resume from suspend:
Create the following systemd
service which is executed after the system is resumed from suspend.
This service first removes the kernel module in charge of the WIFI, the module is subsequently re inserted. This causes the WIFI device to re establish connectivity.
/etc/systemd/system/sp3-wifi-fixor.service
[Unit]
Description=Surface Pro 3 - Fix WIFI on resume from suspend
After=suspend.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/modprobe -rf mwifiex_pcie ; /usr/sbin/modprobe mwifiex_pcie
[Install]
WantedBy=suspend.target