You are not logged in.

#1 2019-04-17 01:35:33

alien_anon
Member
Registered: 2019-04-17
Posts: 3

Surface Pro 3 Wireless Card shuts off

Evening all (EST)

I'm running into an issue with a Marvell network controller on my surface pro 3. When the system boots, it recognizes the network module, but after some time dmesg states

"mwifiex_pcie Firmware wakeup failed"

and goes through a series of

"PREP_CMD: card is removed", and "deleting the crypto keys"

Once this happens, rfkill no longer shows the wireless LAN controller and running lspci -k does not produce any output.

Currently on another machine, but will post the outputs of dmesg after the first mwifiex_pxie message and the pre-fail lspci.

Edit: Adding packages I think are relevant to this issue

NetworkManager controls the network connections
nm-applet in the mate bar
linux-firmware is installed
using normal linux kernel, not -lts or -hardened

Edit 2: Linking pastebins to outputs because I don't know how to format to <code>
lspci -k output pastebin:
https://pastebin.com/ydmrzj66

dmesg logs post-failure:
https://pastebin.com/Se39YRzT

Last edited by alien_anon (2019-04-17 01:50:03)

Offline

#2 2019-04-17 18:09:51

alien_anon
Member
Registered: 2019-04-17
Posts: 3

Re: Surface Pro 3 Wireless Card shuts off

Continuing my search throughout the internets, apparently this is not a singular issue. I have found a few other postings that mention this behaviour in previous kernel versions as well and will attempt some of those troubleshooting paths as well.

Offline

#3 2019-04-18 00:49:50

alien_anon
Member
Registered: 2019-04-17
Posts: 3

Re: Surface Pro 3 Wireless Card shuts off

After some more investigating, it seems that the firmware for this card is a bit unstable from the manufacturers. The root of this problem is apparently a failure to wake up the card after it goes into power saving mode. To solve this, I amended the example script from the Talk:Microsoft Surface Pro 3 page on the wiki and created a systemd unit to run during boot to turn off power saving mode for the wifi card.

The systemd link is as follows for anyone else that runs into this issue and doesn't want to recompile a custom kernel using the latest firmware module from Marvell.

Under /etc/systemd/system/*nameofyourservice*.service.d/

[Unit]
Description=Disable Wifi Power Saving Mode
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/bin/iw dev wlp1s0 set power_save off

[Install]
WantedBy=multi-user.target

Once you create this using "sudo systemctl edit --force --full *nameofyourservice*" and save it, you will then enable it with "sudo systemctl enable *nameofyourservice*"

After that is complete, reboot your system and from a terminal, run "iw dev wlp1s0 get power_save"

If this was successful, your terminal should return "Power save: off"

If not, you will need to use "systemctl status *nameofyourservice*" to figure out where the activation went wrong.

Offline

Board footer

Powered by FluxBB