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