Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WiFi Issues #572

Open
adinunzio10 opened this issue Sep 21, 2019 · 16 comments
Open

WiFi Issues #572

adinunzio10 opened this issue Sep 21, 2019 · 16 comments

Comments

@adinunzio10
Copy link

Hello! Thank you to everyone for your work on this. After installing my touch screen works, my battery status finally shows, things seem to be all around better. Except WiFi....

FYI, running latest version of Kali Linux on a Surface Book 2 (Dual-Boot) and latest pre-built kernal.

WiFi works for a few seconds to a few minutes after a reboot before it goes out. I stay connected but I cannot ping out to anyone or do anything network related. If I turn off WiFi and turn it back on again, I can no longer see any networks to connect to. I have to plug in my USB WiFi to get WiFi working consistently.

Prior to installing this kernal this did not happen. WiFi would go out randomly though (except I would get errors and different behavior as it could work for hours/days without going out) I also have no issues in windows. I found the FAQ and tried to disable/enable the WIFI adapter in UEFI. I reset UEFI all together. I updated the surface firmware. All in all I still cannot get WiFi to work consistently without using a 3rd party adapter. Any other ideas of something I should try?

@adinunzio10
Copy link
Author

adinunzio10 commented Sep 21, 2019

I started a ping with timestamps to kali.org after a reboot on the linux-surface kernal. You can see it work for a few moments before it runs out of buffer space.

I did the same thing on the kali kernal and no issues. Maybe I should try compiling my own kernal?

root@kali:~# ping -D kali.org
PING kali.org (192.124.249.10) 56(84) bytes of data.
[1569077017.801559] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=1 ttl=52 time=36.3 ms
[1569077018.795972] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=2 ttl=52 time=36.9 ms
[1569077019.795477] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=3 ttl=52 time=34.9 ms
[1569077020.796172] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=4 ttl=52 time=33.2 ms
[1569077021.798497] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=5 ttl=52 time=33.9 ms
[1569077022.798392] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=6 ttl=52 time=31.3 ms
[1569077023.800213] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=7 ttl=52 time=31.6 ms
[1569077024.804816] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=8 ttl=52 time=33.8 ms
[1569077025.806251] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=9 ttl=52 time=33.7 ms
[1569077026.806047] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=10 ttl=52 time=31.3 ms
[1569077027.808652] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=11 ttl=52 time=32.6 ms
[1569077028.810403] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=12 ttl=52 time=32.2 ms
[1569077029.813148] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=13 ttl=52 time=32.9 ms
[1569077030.816314] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=14 ttl=52 time=34.3 ms
[1569077031.816969] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=15 ttl=52 time=32.7 ms
[1569077032.817752] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=16 ttl=52 time=31.6 ms
[1569077033.821897] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=17 ttl=52 time=33.5 ms
[1569077034.839570] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=18 ttl=52 time=48.8 ms
[1569077035.826331] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=19 ttl=52 time=32.9 ms
[1569077036.828459] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=20 ttl=52 time=32.4 ms
[1569077037.830304] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=21 ttl=52 time=33.7 ms
[1569077038.830438] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=22 ttl=52 time=31.3 ms
[1569077039.834045] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=23 ttl=52 time=33.9 ms
[1569077040.836521] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=24 ttl=52 time=33.6 ms
[1569077041.838363] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=25 ttl=52 time=33.0 ms
[1569077042.838182] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=26 ttl=52 time=31.2 ms
[1569077043.840143] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=27 ttl=52 time=31.1 ms
[1569077044.844346] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=28 ttl=52 time=33.3 ms
[1569077045.844690] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=29 ttl=52 time=32.1 ms
[1569077046.846650] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=30 ttl=52 time=32.8 ms
[1569077047.850558] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=31 ttl=52 time=34.0 ms
[1569077048.852158] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=32 ttl=52 time=33.7 ms
[1569077049.860395] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=33 ttl=52 time=39.4 ms
[1569077050.856320] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=34 ttl=52 time=33.3 ms
[1569077051.862686] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=35 ttl=52 time=37.5 ms
[1569077052.862515] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=36 ttl=52 time=35.0 ms
[1569077053.861324] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=37 ttl=52 time=32.0 ms
[1569077054.862521] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=38 ttl=52 time=31.6 ms
[1569077055.866480] 64 bytes from cloudproxy10010.sucuri.net (192.124.249.10): icmp_seq=39 ttl=52 time=33.8 ms
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available
ping: sendmsg: No buffer space available

@taahamahdi
Copy link

taahamahdi commented Sep 23, 2019

+1, I have the same issue. In NetworkManager setting my WiFi connection powersave mode to 2 doesn't seem to solve it. I can cause the issue to happen faster if I put strain on my connection, such as doing a speed test with a fast internet connection.

Once I get the No buffer space available issue with ping, if I stop the command and start pinging again, I get Destination Net Unreachable.

Attempting to modprobe -r the mwifiex or mwifiex_pcie modules after WiFi stops working causes modprobe to freeze.

I've run setup.sh multiple times.

Sometimes shutting down isn't possible once my internet stops working, I get a ton of errors due to being unable to stop some acpi stuff. Not sure if this is related or not.

Using the latest release from dmhacker's repo on Arch with 5.1.15-1. I'm on a Surface Pro 2017.

Edit: I've tried qzed's latest 5.3.1-1 release to no avail.

@vonAlenberg
Copy link

Not sure if you have the i7 model, but for this processor there seems to be a fix:
Add pcie_aspm=off to the boot options of your bootloader.

@taahamahdi
Copy link

I have an i7-7660U. I added pcie_aspm=off to the boot options of my bootloader, but I can still reproduce the issue. Not sure if it helps, but attempting to do a scan of nearby WiFi networks while wlp1s0 is not in a working state returns Command failed: Bad address (-14).

I can confirm I added the boot option because cat /proc/cmdline returns initrd=\intel-ucode.img initrd=\initramfs-linux-surface.img root=PARTLABEL=ARCH_OS rw resume=UUID=[my UUID] pcie_aspm=off

@masenocturnal
Copy link

I can confirm this with the surface book1 and qzed's kernel also.

@masenocturnal
Copy link

masenocturnal commented Sep 26, 2019

Not sure if this helps, but I captured dmesg output.



[21373.097391] Freezing user space processes ... (elapsed 0.002 seconds) done.
[21373.099708] OOM killer disabled.
[21373.099708] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[21373.101300] printk: Suspending console(s) (use no_console_suspend to debug)
[21373.205398] mwifiex_pcie 0000:02:00.0: None of the WOWLAN triggers enabled
[21373.391630] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: mei_cldev_send() error 0x4:-19
[21373.391635] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: mei_cldev_send() error 0x7:-19
[21373.391685] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: error in reading m2h msg
[21373.391690] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: !! end event loop !!
[21373.391713] IPTS removed
[21373.480980] mwifiex_pcie 0000:02:00.0: invalid power transition (from state 4 to 3)
[21392.355465] mwifiex_pcie 0000:02:00.0: Refused to change power state, currently in D3
[21392.394951] mwifiex_pcie 0000:02:00.0: invalid power transition (from state 4 to 3)
[25799.638533] mwifiex_pcie 0000:02:00.0: Refused to change power state, currently in D3
[25799.669915] acpi device:40: Cannot transition to power state D0 for parent in D3hot
[25799.669930] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25799.670345] [drm] HuC: Loaded firmware i915/kbl_huc_ver02_00_1810.bin (version 2.0)
[25799.674515] [drm] GuC: Loaded firmware i915/kbl_guc_ver9_39.bin (version 9.39)
[25799.674632] i915 0000:00:02.0: GuC firmware version 9.39
[25799.674632] i915 0000:00:02.0: GuC submission enabled
[25799.674633] i915 0000:00:02.0: HuC enabled
[25801.871844] [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training
[25802.140076] [drm:intel_mst_pre_enable_dp [i915]] *ERROR* failed to allocate vcpi
[25802.407522] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[25802.407555] [drm:intel_mst_pre_enable_dp [i915]] *ERROR* failed to allocate vcpi
[25802.708688] surfacegen5_acpi_ssh serial0-0: recv: invalid start of message
[25802.708828] surfacegen5_acpi_ssh serial0-0: recv: invalid start of message
[25802.810642] surfacegen5_acpi_ssh serial0-0: recv: invalid start of message
[25802.923007] OOM killer enabled.
[25802.923008] Restarting tasks ... 
[25802.923096] usb 2-2: USB disconnect, device number 2
[25802.923099] usb 1-2: USB disconnect, device number 6
[25802.923104] usb 2-2.1: USB disconnect, device number 4
[25802.923106] usb 1-2.1: USB disconnect, device number 7
[25802.923107] probing Intel Precise Touch & Stylus
[25802.923108] IPTS using DMA_BIT_MASK(64)
[25802.923110] usb 1-2.1.2: USB disconnect, device number 9
[25802.923112] usb 2-2.1.2: USB disconnect, device number 5
[25802.923118] usb 1-2.1.2.2: USB disconnect, device number 10
[25802.937327] usb 2-2.2: USB disconnect, device number 3
[25802.958719] done.
[25802.965722] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: ipts_hid_parse() start
[25802.966396] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: Direct firmware load for intel/ipts/MSHW0079/intel_desc.bin failed with error -2
[25802.966428] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: Direct firmware load for intel/ipts/intel_desc.bin failed with error -2
[25802.966434] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: ipts_hid_ipts_get_hid_descriptor ret -2
[25802.966439] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: can't add hid device: -5
[25802.966454] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: cmd : 0x80000001, status 10
[25802.966459] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0F: error in handling resp msg
[25802.988921] PM: suspend exit
[25802.996876] usb 1-2.1.2.3: USB disconnect, device number 11
[25803.246533] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25803.287339] usb 1-2.1.2.4: USB disconnect, device number 12
[25803.288644] usb 1-2.3: USB disconnect, device number 8
[25805.635701] drm: not enough stolen space for compressed buffer (need 23101440 more bytes), disabling. Hint: you may be able to increase stolen memory size in the BIOS to avoid this.
[25805.674241] [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[25864.247632] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.247640] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.247802] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.247807] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.247821] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.281839] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.281870] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.281909] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.282360] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.282372] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.282473] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.282811] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.284105] mwifiex_pcie 0000:02:00.0: PREP_CMD: FW is in bad state
[25864.362142] mwifiex_pcie 0000:02:00.0: Ignore scan. Card removed or firmware in bad state
[25864.362148] mwifiex_pcie 0000:02:00.0: scan failed: -14
[25867.753807] mwifiex_pcie 0000:02:00.0: Ignore scan. Card removed or firmware in bad state
[25867.753816] mwifiex_pcie 0000:02:00.0: scan failed: -14

@taahamahdi
Copy link

Issues still present in @qzed's latest release unfortunately. Here's my dmesg | grep mwifiex_pcie output:

[ 5742.351983] mwifiex_pcie 0000:01:00.0: mwifiex_cmd_timeout_func: Timeout cmd id = 0xa4, act = 0x0
[ 5742.351996] mwifiex_pcie 0000:01:00.0: num_data_h2c_failure = 0
[ 5742.352004] mwifiex_pcie 0000:01:00.0: num_cmd_h2c_failure = 0
[ 5742.352012] mwifiex_pcie 0000:01:00.0: is_cmd_timedout = 1
[ 5742.352017] mwifiex_pcie 0000:01:00.0: num_tx_timeout = 0
[ 5742.352022] mwifiex_pcie 0000:01:00.0: last_cmd_index = 0
[ 5742.352033] mwifiex_pcie 0000:01:00.0: last_cmd_id: a4 00 16 00 a4 00 7f 00 16 00
[ 5742.352040] mwifiex_pcie 0000:01:00.0: last_cmd_act: 00 00 00 00 00 00 00 00 00 00
[ 5742.352048] mwifiex_pcie 0000:01:00.0: last_cmd_resp_index = 4
[ 5742.352059] mwifiex_pcie 0000:01:00.0: last_cmd_resp_id: 7f 80 16 80 a4 80 7f 80 16 80
[ 5742.352067] mwifiex_pcie 0000:01:00.0: last_event_index = 0
[ 5742.352079] mwifiex_pcie 0000:01:00.0: last_event: 58 00 58 00 58 00 58 00 58 00
[ 5742.352087] mwifiex_pcie 0000:01:00.0: data_sent=1 cmd_sent=1
[ 5742.352098] mwifiex_pcie 0000:01:00.0: ps_mode=0 ps_state=0
[ 5742.352256] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5742.353772] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5742.353779] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5742.354379] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5742.354386] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5742.354494] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5742.354501] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5748.262401] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5748.262408] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5748.262487] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5748.262490] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5754.262777] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5754.262788] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5754.262924] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5754.262931] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5760.262718] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5760.262730] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5760.262872] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5760.262879] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5766.263274] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5766.263288] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5766.263580] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5766.263590] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5772.262875] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5772.262883] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5772.262994] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5772.262999] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5778.265461] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5778.265468] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5778.265546] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5778.265549] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5784.264930] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5784.264933] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5784.265005] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5784.265008] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5790.264094] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5790.264105] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5790.264211] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5790.264215] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5796.263787] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5796.263794] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5796.263874] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5796.263877] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5802.264317] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5802.264324] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5802.264399] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5802.264402] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5808.262619] mwifiex_pcie 0000:01:00.0: Ignore scan. Card removed or firmware in bad state
[ 5808.262627] mwifiex_pcie 0000:01:00.0: scan failed: -14
[ 5808.263699] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5808.263708] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5808.263818] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5808.263825] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5812.967012] NETDEV WATCHDOG: wlp1s0 (mwifiex_pcie): transmit queue 1 timed out
[ 5812.967051] Modules linked in: ip6t_REJECT nf_reject_ipv6 ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_owner ip6table_filter ip6_tables iptable_filter cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btbcm btintel bluetooth ecdh_generic ecc hid_sensor_gyro_3d hid_sensor_accel_3d hid_sensor_als hid_sensor_rotation hid_sensor_trigger industrialio_triggered_buffer kfifo_buf hid_sensor_iio_common industrialio snd_soc_skl x86_pkg_temp_thermal intel_powerclamp kvm_intel intel_ishtp_loader snd_soc_hdac_hda snd_hda_ext_core snd_soc_skl_ipc snd_soc_sst_ipc battery snd_soc_sst_dsp intel_ishtp_hid kvm snd_soc_acpi_intel_match snd_soc_acpi snd_soc_core snd_hda_codec_realtek snd_compress ac97_bus snd_hda_codec_generic ledtrig_audio snd_pcm_dmaengine irqbypass snd_hda_intel crct10dif_pclmul mei_hdcp 8250_dw crc32_pclmul snd_hda_codec ghash_clmulni_intel intel_rapl_msr snd_hda_core mwifiex_pcie mwifiex aesni_intel snd_hwdep nls_iso8859_1 aes_x86_64 crypto_simd gpio_keys snd_pcm fuse nls_cp437 cryptd
[ 5812.967436] mwifiex_pcie 0000:01:00.0: 4296621056 : Tx timeout(#1), bss_type-num = 0-0
[ 5814.262974] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5814.262982] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5814.263537] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5814.263545] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5820.263967] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5820.263973] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5820.264045] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5820.264048] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5822.994049] mwifiex_pcie 0000:01:00.0: 4296624064 : Tx timeout(#2), bss_type-num = 0-0
[ 5826.267753] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5826.267759] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5826.267828] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5826.267831] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5832.267847] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5832.267853] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5832.267930] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5832.267933] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5832.807661] mwifiex_pcie 0000:01:00.0: 4296627008 : Tx timeout(#3), bss_type-num = 0-0
[ 5837.927811] mwifiex_pcie 0000:01:00.0: 4296628544 : Tx timeout(#4), bss_type-num = 0-0
[ 5838.265858] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5838.265863] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5838.265926] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5838.265929] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5844.261750] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5844.261756] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5844.261839] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5844.261842] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5847.954562] mwifiex_pcie 0000:01:00.0: 4296631552 : Tx timeout(#5), bss_type-num = 0-0
[ 5850.264672] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5850.264682] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5850.264808] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5850.264815] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5856.263084] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5856.263090] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5856.263152] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5856.263155] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5857.981590] mwifiex_pcie 0000:01:00.0: 4296634560 : Tx timeout(#6), bss_type-num = 0-0
[ 5862.262286] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5862.262294] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5862.262375] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5862.262379] mwifiex_pcie 0000:01:00.0: failed to get signal information
[ 5867.794921] mwifiex_pcie 0000:01:00.0: 4296637504 : Tx timeout(#7), bss_type-num = 0-0
[ 5867.794930] mwifiex_pcie 0000:01:00.0: tx_timeout_cnt exceeds threshold.	Triggering card reset!
[ 5867.795009] mwifiex_pcie 0000:01:00.0: PREP_CMD: FW is in bad state
[ 5867.795179] mwifiex_pcie 0000:01:00.0: info: shutdown mwifiex...
[ 5867.795185] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795194] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.795201] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795207] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.795212] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795217] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.795224] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795230] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.795235] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795241] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.795248] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.795253] mwifiex_pcie 0000:01:00.0: deleting the crypto keys
[ 5867.797529] mwifiex_pcie 0000:01:00.0: rx_pending=0, tx_pending=3,	cmd_pending=0
[ 5867.807322] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.807337] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5867.807354] mwifiex_pcie 0000:01:00.0: PREP_CMD: card is removed
[ 5868.916446] mwifiex_pcie 0000:01:00.0: WLAN FW already running! Skip FW dnld
[ 5868.916453] mwifiex_pcie 0000:01:00.0: WLAN FW is active
[ 5879.102071] mwifiex_pcie 0000:01:00.0: mwifiex_cmd_timeout_func: Timeout cmd id = 0xfa, act = 0x0
[ 5879.102111] mwifiex_pcie 0000:01:00.0: num_data_h2c_failure = 0
[ 5879.102119] mwifiex_pcie 0000:01:00.0: num_cmd_h2c_failure = 0
[ 5879.102127] mwifiex_pcie 0000:01:00.0: is_cmd_timedout = 1
[ 5879.102134] mwifiex_pcie 0000:01:00.0: num_tx_timeout = 0
[ 5879.102141] mwifiex_pcie 0000:01:00.0: last_cmd_index = 1
[ 5879.102149] mwifiex_pcie 0000:01:00.0: last_cmd_id: a4 00 fa 00 a4 00 7f 00 16 00
[ 5879.102156] mwifiex_pcie 0000:01:00.0: last_cmd_act: 00 00 00 00 00 00 00 00 00 00
[ 5879.102164] mwifiex_pcie 0000:01:00.0: last_cmd_resp_index = 4
[ 5879.102171] mwifiex_pcie 0000:01:00.0: last_cmd_resp_id: 7f 80 16 80 a4 80 7f 80 16 80
[ 5879.102178] mwifiex_pcie 0000:01:00.0: last_event_index = 0
[ 5879.102186] mwifiex_pcie 0000:01:00.0: last_event: 58 00 58 00 58 00 58 00 58 00
[ 5879.102197] mwifiex_pcie 0000:01:00.0: data_sent=0 cmd_sent=1
[ 5879.102204] mwifiex_pcie 0000:01:00.0: ps_mode=0 ps_state=0
[ 5879.108366] mwifiex_pcie 0000:01:00.0: info: _mwifiex_fw_dpc: unregister device

When trying to reboot, I get stuck after Reached target: Reboot, here's what comes after (I'm manually typing this out):

printk: shutdown: 4 output lines suppressed due to ratelimiting
ipts mei::[what looks to be a UUID]: mei_cldev_send() error 0x4:-19
ipts mei::[same UUID]: error 0x7:-19
ipts mei::[same UUID]: error in reading m2h msg
ACPI Warning: \SB._SAN._DSM: Argument #4 type mismatch - Found [Integer] ACPI requires [Package] (20190703/nsarguments-59)
INFO: task kworker/0:3:35286 blocked for more than 122 seconds.
      Tainted: G        WC OE       5.3.2-1 surface #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Call Trace:
? __schedule:+0x27f/0x6do
schedule+0x43/0xd0
schedule_timeout+0x299/0x3d0
? __switch_to_asm+0x40/0x70
wait_for_common+0xeb/0x190
? wake_up_q+0x60/0x60
__flush_work+0x130/0x1e0
? flush_workqueue_prep_pwqs+0x130/0x130
__cancel_work_timer+0x123/0x1b0
mwifiex_cleanup_pcie+0x28/0xd0 [mwifiex_pcie]
mwifiex_free_adapter+0x24/0xe0 [mwifiex]
_mwifiex_fw_dpc+0x28d/0x520 [mwifiex]
mwifiex_reinit_sw+0x15d/0x2c0 [mwifiex]
mwifiex_pcie_reset_done+0x50/0x80 [mwifiex_pcie]
pci_try_reset_function+0x38/0x70
process_one_work+0x1d1/0x3a0
worker_thread+0x4a/0x3d0
kthread+0xfb/0x130
? process_one_work+0x3a0/0x3a0
? kthread_park+0x80/0x80
ret_from_fork+0x35/0x40

Not sure how helpful this even is, but I decided to post it anyway. I have to hold down the power button to shutdown from this point on.

@Schroedi
Copy link

Schroedi commented Oct 7, 2019

I have a similar issue on the SB2. Wifi breaks faster when watching videos or doing other traffic insensitive tasks. Ping does not give me the same error, though, but just "Destination Host Unreachable" though. Running
sudo rmmod mwifiex_pcie && sudo modprobe mwifiex_pcie
reconnects the wifi.

@taahamahdi
Copy link

sudo rmmod mwifiex_pcie && sudo modprobe mwifiex_pcie doesn't solve the issue for me :/

@taahamahdi
Copy link

taahamahdi commented Oct 15, 2019

I did some more thorough research and found tkimmm from issue #379 linked this comment: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1730924/comments/101

Basically it involves executing this script on startup.

So far the module's been working flawlessly for me, but I will update this comment if anything goes wrong. Word of caution, like P.I.Julius, the person who modified the script, said, is to make sure the script is referencing the correct device (take a look at the comments in the beginning to see what I'm talking about).

Edit: Don't need to include pcie_asm=off as a boot option

@Schroedi
Copy link

@taahamahdi Thanks a lot! Initial tests seem promising. I did not add pcie_asm=off to my boot options as the fix should disable it only for the WiFi device if I understand it correctly.

@taahamahdi
Copy link

@Schroedi thanks for pointing that out, I took that part out of my original comment

@spokV
Copy link

spokV commented Dec 11, 2019

It seems that only running on 5Ghz network with intensive networking tasks trigger the crash. I'll run the script above and test it.....

@natemardini
Copy link

I had the same issue and the script that @taahamahdi linked to above worked brilliantly. Being lazy, I didn't want to manually run it on each reboot, so I added a cron job to take care of that:

(sudo) crontab -e

Then add this entry at the end of the file:

@reboot /path/to/script

Restart and, to test that it works, try running the script manually. If it says the fix was "already set" then the cron job did the trick, and you can forget that the wifi was ever buggy 😄

@masenocturnal
Copy link

I just tried the 5.4.1 Qzed kernel with the Surface Laptop and it works.

@djol
Copy link

djol commented Jan 17, 2020

Just successfully tried on my SP5 + @dmhacker's 5.3.18-1 kernel (on Manjaro) - worked a treat! Thank you @taahamahdi - nothing else had worked so far on the Surface Pro (2017) / 5th gen.

(my last task now is getting the LTE modem working!)

StollD pushed a commit to StollD/linux-surface that referenced this issue Jul 22, 2023
Merge pull-request jakeday#572.

A new thermald configuration file for the AMD version of the Surface
Laptop 4. It includes the ability to turn the CPU's Turbo Boost on and
off as a cooling measure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants