Surface Pro 3 Wifi stopped working once I updated my system

To start I want to thank everyone who contributes to Manjaro. I have been loving it on my gaming rig and decided to give it a try on the Surface.

My Surface is not the best one since its only a 4gig model. That’s why I knew Linux might be the only way to keep it alive. Not to mention I just want to be done with windows.

I downloaded and installed Manjaro XFCE. Everything worked out of the box. Touch screen, wifi, cover keyboard and touch-pad. I went through and setup the settings I liked form my big PC and installed the software I like from the software tool. All was well.

Now is where I went wrong and can’t figure out how to fix it. In the settings there is an option to enable Bluetooth at startup. I thought sure why wouldn’t I want that. I turned it on and it worked. Until I rebooted. I was trying to see if the changes I made to fstab took rebooted and bam no wifi.

I scoured the forums and tried all kinda of things.

For some reason it just doesn’t see the Bluetooth device now so I can’t undo what I did to fix it. I tried disabling Bluetooth with systemctl and rebooting again still no go.

lspci shows the network device is still there but rfkill and nwmcli doesn’t show the device at all. So not sure how I screwed it up but would like to save the hours of time I took to install it. Please help.

DrClaw

1 Like

How to increase your chances of solving your issue:

Please provide Information:

image

Wi-Fi and bluetooth is often on the same pci device.

Some devices created for Windows needs special attention - you will have research a solution for your device. The ccommandline may be helpful

bluetoothctl

https://wiki.archlinux.org/title/Bluetooth
https://wiki.archlinux.org/title/Microsoft_Surface_Pro_3

Looking at your heading:

Surface Pro 3 Wifi stopped working once I enabled bluetoot at start

I’ve got to wonder, this “bluetoot” is it a trumpet-playing smurf?

2 Likes

I have read the 2 articles. To be fare I did read some of the rules until I realized they are all common sense. Treat others as you want to be treated

Here is the inix command

System:
  Kernel: 5.15.19-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
    root=UUID=0b6a32f2-680b-4f53-b2dd-630a9828235a rw quiet apparmor=1
    security=apparmor resume=UUID=0697f105-e9aa-487d-93bf-31ab300eb796
    udev.log_priority=3
  Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1
    vt: 7 dm: LightDM 1.30.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Microsoft product: Surface Pro 3 v: 1
    serial: <superuser required>
  Mobo: Microsoft model: Surface Pro 3 v: 1 serial: <superuser required>
    UEFI: American Megatrends v: 3.11.2650 date: 04/30/2019
Battery:
  ID-1: BAT0 charge: 36.1 Wh (100.0%) condition: 36.1/42.2 Wh (85.7%)
    volts: 8.5 min: 7.6 model: LGC-LGC X883815 type: Li-ion serial: <filter>
    status: Full cycles: 194
Memory:
  RAM: total: 3.74 GiB used: 1.86 GiB (49.7%)
  RAM Report:
    permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i3-4020Y bits: 64 type: MT MCP arch: Haswell
    family: 6 model-id: 0x45 (69) stepping: 1 microcode: 0x26
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 917 high: 1282 min/max: 600/1500 scaling:
    driver: intel_cpufreq governor: schedutil cores: 1: 671 2: 1093 3: 622
    4: 1282 bogomips: 11979
  Flags: abm acpi aes aperfmperf apic arat arch_perfmon avx avx2 bmi1 bmi2
    bts clflush cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht ibpb ibrs invpcid invpcid_single lahf_lm lm mca mce
    md_clear mmx monitor movbe msr mtrr nonstop_tsc nopl nx pae pat pbe pcid
    pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand
    rdtscp rep_good sdbg sep smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp
    syscall tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi
    vpid xsave xsaveopt xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf
    mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
    IBRS_FW, STIBP: conditional, RSB filling
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel vendor: Microsoft driver: i915 v: kernel bus-ID: 00:02.0
    chip-ID: 8086:0a1e class-ID: 0300
  Device-2: Microsoft Microsoft LifeCam Front type: USB driver: uvcvideo
    bus-ID: 1-7:3 chip-ID: 045e:07be class-ID: 0e02
  Device-3: Microsoft Microsoft LifeCam Rear type: USB driver: uvcvideo
    bus-ID: 1-8:4 chip-ID: 045e:07bf class-ID: 0e02
  Display: x11 server: X.Org 1.21.1.3 compositor: xfwm4 v: 4.16.1 driver:
    loaded: modesetting alternate: fbdev,vesa display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 2160x1440 s-dpi: 96 s-size: 571x381mm (22.5x15.0")
    s-diag: 686mm (27")
  Monitor-1: eDP-1 res: 2160x1440 hz: 60 dpi: 216
    size: 254x169mm (10.0x6.7") diag: 305mm (12")
  Message: Unable to show advanced data. Required tool glxinfo missing.
Audio:
  Device-1: Intel Haswell-ULT HD Audio driver: snd_hda_intel v: kernel
    bus-ID: 00:03.0 chip-ID: 8086:0a0c class-ID: 0403
  Device-2: Intel 8 Series HD Audio vendor: Microsoft driver: snd_hda_intel
    v: kernel bus-ID: 00:1b.0 chip-ID: 8086:9c20 class-ID: 0403
  Sound Server-1: ALSA v: k5.15.19-1-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.20 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.45 running: no
Network:
  Device-1: Marvell 88W8897 [AVASTAR] 802.11ac Wireless vendor: SafeNet
    driver: mwifiex_pcie v: 1.0 bus-ID: 01:00.0 chip-ID: 11ab:2b38
    class-ID: 0200
  Device-2: Qualcomm Atheros AR9271 802.11n type: USB driver: ath9k_htc
    bus-ID: 1-1:5 chip-ID: 0cf3:9271 class-ID: ff00 serial: <filter>
  IF: wlp0s20u1 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 134.08 GiB used: 20.15 GiB (15.0%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: MZMTE128HMGR-000MV
    size: 119.24 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 2M0Q scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 type: USB vendor: Generic
    model: USB3.0 CRW -SD size: 14.84 GiB block-size: physical: 512 B
    logical: 512 B type: N/A serial: <filter> rev: 1.00 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 118.85 GiB size: 116.43 GiB (97.96%)
    used: 20.15 GiB (17.3%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: N/A
    uuid: 0b6a32f2-680b-4f53-b2dd-630a9828235a
  ID-2: /boot/efi raw-size: 401 MiB size: 400.2 MiB (99.80%)
    used: 288 KiB (0.1%) fs: vfat dev: /dev/sda2 maj-min: 8:2 label: NO_LABEL
    uuid: 8EA7-AABF
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: partition size: 14.84 GiB used: 780 KiB (0.0%)
    priority: -2 dev: /dev/sdb1 maj-min: 8:17 label: N/A
    uuid: 0697f105-e9aa-487d-93bf-31ab300eb796
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 9 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-1:5 info: Qualcomm Atheros AR9271 802.11n type: Network
    driver: ath9k_htc interfaces: 1 rev: 2.0 speed: 480 Mb/s power: 500mA
    chip-ID: 0cf3:9271 class-ID: ff00 serial: <filter>
  Device-2: 1-3:6 info: Microsoft Surface Type Cover type: HID
    driver: hid-multitouch,usbhid interfaces: 1 rev: 2.1 speed: 12 Mb/s
    power: 100mA chip-ID: 045e:07e8 class-ID: 0300
  Device-3: 1-7:3 info: Microsoft Microsoft LifeCam Front type: Video
    driver: uvcvideo interfaces: 3 rev: 2.0 speed: 480 Mb/s power: 250mA
    chip-ID: 045e:07be class-ID: 0e02
  Device-4: 1-8:4 info: Microsoft Microsoft LifeCam Rear type: Video
    driver: uvcvideo interfaces: 3 rev: 2.0 speed: 480 Mb/s power: 250mA
    chip-ID: 045e:07bf class-ID: 0e02
  Hub-2: 2-0:1 info: Super-speed hub ports: 4 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  Device-1: 2-4:2 info: Realtek Card Reader type: Mass Storage
    driver: usb-storage interfaces: 1 rev: 3.0 speed: 5 Gb/s power: 800mA
    chip-ID: 0bda:0307 class-ID: 0806 serial: <filter>
Sensors:
  System Temperatures: cpu: 35.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 240 Uptime: 18h 30m wakeups: 3 Init: systemd v: 250
  tool: systemctl Compilers: gcc: 11.1.0 clang: 13.0.0 Packages: 1117
  pacman: 1113 lib: 318 flatpak: 0 snap: 4 Shell: Bash v: 5.1.16
  running-in: xfce4-terminal inxi: 3.3.12

I know it says to list what I tried however I wasn’t keeping a log. I will note this for the future and make sure I keep track of everthing I try.

I was just going from post to post and rephrasing what I Was searching for. There were so many posts and I would read and decide which items sounds like it would spark an idea for me to try.

I really appreciate eveyones help.

Basically If there is a another way to shut off the bluetooth I don’t really need bluetooth. Out of all the years I have had this computer I bet I ahve used bluetooth about 5 or 6 times. Usually is to play music on a bluetooth speaker when I’m at a friends place.

Here ls lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Device 0a1e (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88W8897 [AVASTAR] 802.11ac Wireless

rfkill only shows the temp USB wifi I added to be able to access the forums

ID TYPE DEVICE      SOFT      HARD
 0 wlan phy0   unblocked unblocked

wlp0s20u1: connected to WIFI
“Qualcomm Atheros AR9271”
wifi (ath9k_htc), hw, mtu 1500
ip4 default, ip6 default
inet4
route4 default via metric 600
route4 metric 600
inet6
inet6
inet6
route6
route6
route6
route6

p2p-dev-wlp0s20u1: disconnected
“p2p-dev-wlp0s20u1”
wifi-p2p, hw

lo: unmanaged
“lo”
loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

DNS configuration:
servers:
domains:
interface: wlp0s20u1

    servers: 
    domains: 
    interface: wlp0s20u1
@linux-aarhus
	I did follow that durring install.  I didn't do the onscreen KB because I am using XFCE.  Not a deal breaker if I don't have the virtual keyboard.  As for bluetooth.  I'm also fine with it not working.  Need wifi back though. preferably without the USB dongle. 
	
	I am sure it is the same device.  
	
@everyone
hopfully this helps dianose.  Is there a way to force the bluetooth back to off.  I feel its a setting issue.  Since I can't go back in to the bluetooth settings and tell it not to enable it, I feel thats the main issue.  If I have to reinstall I will but I spent a ton of time setting this up the way I like it and would really prefer not too.

Thank you all for your help!  Being new to the community this is amazing.  Once I master Manjaro I have several friends that I will be setting them up with it as well since we all just want to be done with Windows before the forced 11 switch happens.  It seems the world is going that way.  With Steam Deck I suspect many people will be coming to the Arch side of things.  Hope Manjaro is a top pick.

DrClaw I don't really need Bluetooth.  Out of all the years I have had this computer I bet I have used Bluetooth about 5 or 6 times.  Usually is to play music on a Bluetooth speaker when I'm at a friends place. 

Here ls lspci

00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
00:02.0 VGA compatible controller: Intel Corporation Device 0a1e (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88W8897 [AVASTAR] 802.11ac Wireless

rfkill only shows the temp USB wifi I added to be able to access the forums

ID TYPE DEVICE SOFT HARD
0 wlan phy0 unblocked unblocked

wlp0s20u1: connected to WIFI
       "Qualcomm Atheros AR9271"
       wifi (ath9k_htc), hw, mtu 1500
       ip4 default, ip6 default
       inet4 
       route4 default via metric 600
       route4  metric 600
       inet6 
       inet6 
       inet6 
       route6 
       route6 
       route6 
       route6 

p2p-dev-wlp0s20u1: disconnected
       "p2p-dev-wlp0s20u1"
       wifi-p2p, hw

lo: unmanaged
       "lo"
       loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

DNS configuration:
       servers: 
       domains: 
       interface: wlp0s20u1

       servers: 
       domains: 
       interface: wlp0s20u1

@linux-aarhus
I did follow that during install. I didn’t do the onscreen KB because I am using XFCE. Not a deal breaker if I don’t have the virtual keyboard. As for Bluetooth. I’m also fine with it not working. Need wifi back though. preferably without the USB dongle.

I am sure it is the same device.  

@everyone
hopefully this helps diagnose. Is there a way to force the Bluetooth back to off. I feel its a setting issue. Since I can’t go back in to the Bluetooth settings and tell it not to enable it, I feel that’s the main issue. If I have to reinstall I will but I spent a ton of time setting this up the way I like it and would really prefer not too.

Thank you all for your help! Being new to the community this is amazing. Once I master Manjaro I have several friends that I will be setting them up with it as well since we all just want to be done with Windows before the forced 11 switch happens. It seems the world is going that way. With Steam Deck I suspect many people will be coming to the Arch side of things. Hope Manjaro is a top pick.

DrClaw

well I’m not used to typing much on the surface keyboard. I am trying to make sure I use punctuation spell check and reading it. Already made and edit to the newest post. Sorry about that. I will try harder to catch them in the future.

DrClaw

To stop the bluetooth service from loading at boot

sudo systemctl disable --now bluetooth

Then - as root - edit the file /etc/bluetooth/main.conf - ensure AutoEnable=false

You will find it in the [Policy] section at around line 276

AutoEnable=false

Save the file and reboot

Let me know if you got your wifi back after reboot.

Thank you for responding. I ran the the first one and then while editing the file I found it was already false. So I’m thinking the place the setting is might be somewhere else. rebooted anyway and just the first part didn’t solve it.

The place I enabled the Bluetooth the first time is MJ>settings>Bluetooth Manager.

Is there a way to edit the setting file for that program? I promise not to trust bluetooth on a surface ever again. :smiley:

DrClaw

I’m using the Gnome Spin, for me it is:

  1. Upper right corner (lets call that “Start”)
  2. Settings
  3. Bluetooth

But since I’m using a tower, I dont have anything “in there”.

If you actualy want to disable bluetooth “hardcoded”, try:

# in /etc/bluetooth/main.conf

[Policy] AutoEnable=false

Hope this helps

Thank you for everyone that tried to help. I’m just going to reinstall and make sure I don’t enable bluetooth.

@sea
The main issue is that when I went in the first time it worked and enabled. After reboot wifi and BT were gone.

DrClaw

Well Reinstalled and discovered that it was not bluetooth all along. The issue happens as soon as I complete and update. I ran pacman -Syu which appeared to downloand a newer kernal. After a reboot it had the same issue. I’m not sure how to check what version it was before. Hopefully I can just use an older kernal to fix this. Any help would be appreciated.

DrClaw

I had the same issue. try to downgrade linux-firmware that solved it for me.

1 Like

I tried to get it and it just reinstall’s the old one. I had to install downgrade so maybe it wasn’t sure what to install. So I haven’t spent the time to set up the system this time. I plan to reinstall again. How to I prevent the upgrade that messes it up so everything else can update?

DrClaw

So I want to be clear on what the solution actually was. He is correct this is what causes the issue. Trying to roll back didn’t work however reinstalling and making the kernel and the firmware ignored for updating did work.

I am trying to expand my Linux knowledge with this next question so hopefully it makes sense.

Why would an update to the firmware files affect older already working hardware? I was under the impression updates added fixes or new firmware’s for products that were not previously supported. Help me to understand what actually happened so I can learn from it.

Is choosing not to upgrade the kernel and firmware dangerous?

Is there a way to safely try new versions without having to reinstall to fix it in the future?

I know that’s a lot of questions but I really want to learn so I can help friends and family leave windows behind.

Thank you all for your help

DrClaw

You are absolutely right updates usually add fixes and support for new stuff. But, as with every software: Updates can brake things. It is impossible to test every edge case, there are thousands of different hardware and software configurations.
In my experience that happens very rarely and if it happens we can do something about it: fix it yourself (if you know how) or report a bug. That is not always simple because we need to track down where to report it, usually we can find a link to the bugtracker on the homepage of the project.

There is little to none maleware that target Linux desktop. So it is usually safe to not upgrade for a while. But I don’t think that is a good idea. If you update frequently it is much simpler to track down the packages that cause trouble.

There is a programm called timeshift and timeshift-autosnap-manjaro they can help you a lot with easy system rollback if something brakes.

1 Like

I did make a timeshift. Just incase :smiley:

Thanks again!

DrClaw

Hi, I had the same issue. I solved it, but I didn’t downgrade linux-firmware. I installed linux-firmware-marvell and I rebooted the Surface3.

Your answers help me to realize that linux-firmware had removed the Wifi driver.

Thanks

1 Like

Tried this but get an error
filesystem (owned by linux-firmware)

DrClaw

If you don’t want to change kernel so often, you can use an LTS such as 5.10.

Use mhwd-kernel to manage kernels.

mhwd-kernel -li    # Lists currently installed kernels
mhwd-kernel -l     # Lists available kernels
sudo mhwd-kernel -i linux510  # Install linux 5.10 (lts)

mhwd-kernel -h     # Show help

You can select which kernel to boot in the grub/bootloader menu. You may need to press esc or shift to show grub if you only have one OS installed.

If you prefer grub to be shown every boot, you can edit /etc/default/grub and change GRUB_TIMEOUT_STYLE=hidden to GRUB_TIMEOUT_STYLE=menu, followed by sudo update-grub.

Before I take these out of the ignore list I want to make sure I get the marvell version installed. Is this in addition to linux-firmware or in place of? When trying to put it in the system won’t let me. says filesystem owned by linux firmware.

appreciate the help

DrClaw