kaloz / mwlwifi

mac80211 driver for the Marvell 88W8864 802.11ac chip
395 stars 119 forks source link

Very Slow 5G WiFi Connections for Laptop and Tablet - MAC80211 version 10.3.4.0-20180330 #295

Closed ejouellette closed 6 years ago

ejouellette commented 6 years ago

Hi Everyone,

I've been successfully running David's LEDE distributions on my Linksys WRT3200ACM router since Fall 2017 with no issues until Feb 24, 2018 (r6302). The last firmware that worked well for me is r5917. Every version after that, including the latest r6868, causes my WiFi connection for both my laptop (HP Envy 17) and Tablet (Samsung Galaxy-Tab-A-2016) to come to a crawl. I have very strong WiFi signal (computer in same room as router). When the adapter first connects, it says it's connected at 433Mb/s speed, however, in the LEDE GUI wireless status, it shows under Rx / Tx Rate: 18.0 Mbit/s, 20MHz 13.0 Mbit/s, 20MHz, VHT-MCS 1, VHT-NSS 1 Yuk!! Reverting back to r5917 fixes everything. My laptop is running Windows 8.1 Pro with Intel Dual Band Wireless-AC 3160 card with latest drivers. I've played with router and adapter settings and channel frequencies. Nothing helps.

Here's a brief summary:

Build | Download Speed (Mb/s) | Upload Speed (Mb/s)

5917 145+ 16 6302 <= 2 12 6520 <= 1.3 <= 6 6565 <= 1.2 <= 8.6 6868 <= 2.4 <= 9

Kernel log (r6868): 9.474634] <<Marvell Mac80211 Wireless PCIE Network Driver version 10.3.4.0-20180330>> [ 9.482704] pci 0000:00:01.0: enabling device (0140 -> 0142) [ 9.488490] ieee80211 phy0: priv->pcmd_buf = dde50000 priv->pphys_cmd_buf = 1de50000 [ 9.540434] ieee80211 phy0: fw download start [ 9.540440] ieee80211 phy0: ddr init: download start [ 9.540817] ieee80211 phy0: ddr init: download complete [ 9.678603] ieee80211 phy0: FwSize = 450732 downloaded Size = 450732 curr_iteration 65522 [ 12.546417] ieee80211 phy0: fw download complete [ 12.546442] ieee80211 phy0: device node: /soc/pcie/pcie@1,0 [ 12.561543] ieee80211 phy0: pcmd = dde50000 [ 12.579435] ieee80211 phy0: firmware version: 0x9030206 [ 12.939422] ieee80211 phy0: firmware region code: 10 [ 12.969046] ieee80211 phy0: 2G disabled, 5G enabled [ 12.973959] ieee80211 phy0: 4 TX antennas, 4 RX antennas [ 12.979426] pci 0000:00:02.0: enabling device (0140 -> 0142) [ 12.985233] ieee80211 phy1: priv->pcmd_buf = d9aa8000 priv->pphys_cmd_buf = 19aa8000 [ 12.990447] ieee80211 phy1: fw download start [ 12.990453] ieee80211 phy1: ddr init: download start [ 12.990834] ieee80211 phy1: ddr init: download complete [ 13.133706] ieee80211 phy1: FwSize = 450732 downloaded Size = 450732 curr_iteration 65527 [ 14.326421] ieee80211 phy1: fw download complete [ 14.326464] ieee80211 phy1: device node: /soc/pcie/pcie@2,0 [ 14.341602] ieee80211 phy1: pcmd = d9aa8000 [ 14.359434] ieee80211 phy1: firmware version: 0x9030206 [ 14.719422] ieee80211 phy1: firmware region code: 10 [ 14.743203] ieee80211 phy1: 2G enabled, 5G disabled [ 14.748110] ieee80211 phy1: 4 TX antennas, 4 RX antennas

What should I try next? I believe this issue is related to the MAC80211 WiFi driver / fw for the Marvell 88W8964 chip. Any help would be much appreciated! Thanks, Ed

eduperez commented 6 years ago

My two cents:

I can saturate the internet connection at 45Mbps using the 5GHz band (far from the speeds reported here); however, I have not done any tests recently using only internal traffic. If you feel I can be of any help, just tell me.

yuhhaurlin commented 6 years ago

I think you need to list version of mwlwifi instead of version of LEDE.

ejouellette commented 6 years ago

Yes, sorry about that. The last version of mwlwifi that works for me is 10.3.4.0-20180118-1 (kmod-mwlwifi - 4.9.77+10.3.4.0-20180118-1)

With that driver, all my 5GHz connections work great, including my HP Envy laptop and Samsung Galaxy tablet. Here are some results: wlan0 ... Envy-TS17 -70 / -96 dBm 54.0 Mbit/s, 20MHz 433.3 Mbit/s, 80MHz,VHT-MCS 9, VHT-NSS Short GI

wlan0 .... android-xxx1 -76 / -96 dBm 150.0 Mbit/s, 40MHz, MCS 7, Short GI 150.0 Mbit/s, 40MHz, MCS 7, Short GI

wlan0 ... Galaxy-Tab-A -72 / -96 dBm 54.0 Mbit/s, 20MHz 292.6 Mbit/s, 80MHz, VHT-MCS 6, VHT-NSS 1, Short GI

Comcast speed test with this 10.3.4.0-20180118-1 mwlwifi driver has result: 160 Mb/s down, 12 Mb/s up (I have 150 Mb/s service). With all newer mwlwifi driver versions, Comcast speed test is < 10 Mb/s down (16x slower!), < 10 Mb/s up for 5GHz devices.

@eduperez: I also tried LEDE 17.01.4 + mwlwifi fcaea79. It also has very slow result (Comcast speed test is < 10 Mb/s down), most likely due to 10.3.4.0-20180330 mwlwifi driver.

yuhhaurlin commented 6 years ago
  1. Please user iperf to test throughput between router and client.
  2. Please swap firmware to see if this issue is related to firmware (/lib/firmware/mwlwifi/88W8964.bin).
eduperez commented 6 years ago

@2Torr I just tried to use iperf3 between the phone mentioned above and a desktop PC connected to the router by an ethernet cable, and I'm getting about 250 - 275 Mbps with fcaea79. Will try with other wireless devices later.

ejouellette commented 6 years ago

@eduperez: I have extreme slowdown for 5 GHz WiFi connections only for 2 of my wireless devices: HP Envy-17ts laptop Samsung Galaxy-Tab-A-2016

all of my other 5GHz connections (e.g. android phones, Samsung TV, etc.) seem fine with the latest fcaea79 mwlwifi driver.

eduperez commented 6 years ago

@2Torr I'm trying to get my hands on more 5GHz devices to test

jukkapirinen commented 6 years ago

I got new phone OnePlus 6 and have problem with upload speed from Phone to wrt1900acs. Because not sure if it is issue with the phone or the AP I submit bug report also to OnePlus https://forums.oneplus.com/threads/wifi-upload-speed-very-slow.838296/

This happens when roaming from Archer C5 to wrt1900acs and slowness is only on 5GHz. 2.4GHz is ok. (Edit, same behaviour with or without roaming FT / 802.11r is enabled or not) Other way around no issue, so when roaming back to Archer or other APs speed is OK.

Also if I just restart WiFi on the phone, speed is OK again.

I'm at r7020-43d70a7a9d 10.3.4.0-20180330

Before I was in r5329-769e1bac7b 10.3.4.0-20170810 and it had the same issue

While running iperf it is associated like this, either if iperf running slow or not.

64:A2:F9:xx:xx:xx  -62 dBm / -89 dBm (SNR 27)  70 ms ago
        RX: 866.7 MBit/s, VHT-MCS 9, 80MHz, VHT-NSS 2       451 Pkts.
        TX: 702.0 MBit/s, VHT-MCS 8, 80MHz, VHT-NSS 2       350 Pkts.
        expected throughput: unknown

Here iperf, first is from phone to Server in LAN, second from Server in LAN to phone.

jukka@bogey:~/openwrt$ iperf3 -c 192.168.1.181 -R
Connecting to host 192.168.1.181, port 5201
Reverse mode, remote host 192.168.1.181 is sending
[  4] local 192.168.1.33 port 42946 connected to 192.168.1.181 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   123 KBytes  1.01 Mbits/sec                  
[  4]   1.00-2.00   sec   132 KBytes  1.08 Mbits/sec                  
[  4]   2.00-3.00   sec   177 KBytes  1.45 Mbits/sec                  
[  4]   3.00-4.00   sec  63.6 KBytes   521 Kbits/sec                  
[  4]   4.00-5.00   sec  69.3 KBytes   568 Kbits/sec                  
[  4]   5.00-6.00   sec   158 KBytes  1.30 Mbits/sec                  
[  4]   6.00-7.00   sec   112 KBytes   915 Kbits/sec                  
[  4]   7.00-8.00   sec   113 KBytes   927 Kbits/sec                  
[  4]   8.00-9.00   sec   119 KBytes   973 Kbits/sec                  
[  4]   9.00-10.00  sec   148 KBytes  1.22 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  2.03 MBytes  1.70 Mbits/sec                  sender
[  4]   0.00-10.00  sec  1.19 MBytes   995 Kbits/sec                  receiver

iperf Done.
jukka@bogey:~/openwrt$ iperf3 -c 192.168.1.181 
Connecting to host 192.168.1.181, port 5201
[  4] local 192.168.1.33 port 42950 connected to 192.168.1.181 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  54.7 MBytes   459 Mbits/sec    0   1.35 MBytes       
[  4]   1.00-2.00   sec  57.9 MBytes   486 Mbits/sec    1   1.35 MBytes       
[  4]   2.00-3.00   sec  56.3 MBytes   472 Mbits/sec    1   1.35 MBytes       
[  4]   3.00-4.00   sec  65.8 MBytes   552 Mbits/sec    0   1.35 MBytes       
[  4]   4.00-5.00   sec  66.7 MBytes   559 Mbits/sec    0   1.35 MBytes       
[  4]   5.00-6.00   sec  66.4 MBytes   557 Mbits/sec    0   1.35 MBytes       
[  4]   6.00-7.00   sec  64.6 MBytes   542 Mbits/sec    1   1.05 MBytes       
[  4]   7.00-8.00   sec  66.7 MBytes   560 Mbits/sec    0   1.15 MBytes       
[  4]   8.00-9.00   sec  67.0 MBytes   562 Mbits/sec    0   1.22 MBytes       
[  4]   9.00-10.00  sec  65.5 MBytes   549 Mbits/sec    0   1.27 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   632 MBytes   530 Mbits/sec    3             sender
[  4]   0.00-10.00  sec   632 MBytes   530 Mbits/sec                  receiver

iperf Done.

After restarting WiFi on the phone speed is better

jukka@bogey:~/openwrt$ iperf3 -c 192.168.1.181 -R
Connecting to host 192.168.1.181, port 5201
Reverse mode, remote host 192.168.1.181 is sending
[  4] local 192.168.1.33 port 42972 connected to 192.168.1.181 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  28.7 MBytes   241 Mbits/sec                  
[  4]   1.00-2.00   sec  39.0 MBytes   327 Mbits/sec                  
[  4]   2.00-3.00   sec  32.4 MBytes   272 Mbits/sec                  
[  4]   3.00-4.00   sec  41.9 MBytes   351 Mbits/sec                  
[  4]   4.00-5.00   sec  43.2 MBytes   362 Mbits/sec                  
[  4]   5.00-6.00   sec  43.5 MBytes   365 Mbits/sec                  
[  4]   6.00-7.00   sec  44.8 MBytes   376 Mbits/sec                  
[  4]   7.00-8.00   sec  43.7 MBytes   366 Mbits/sec                  
[  4]   8.00-9.00   sec  44.1 MBytes   370 Mbits/sec                  
[  4]   9.00-10.00  sec  42.6 MBytes   357 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   407 MBytes   342 Mbits/sec                  sender
[  4]   0.00-10.00  sec   404 MBytes   339 Mbits/sec                  receiver

iperf Done.
jukka@bogey:~/openwrt$ iperf3 -c 192.168.1.181 
Connecting to host 192.168.1.181, port 5201
[  4] local 192.168.1.33 port 42976 connected to 192.168.1.181 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  1.64 MBytes  13.8 Mbits/sec    1   66.5 KBytes       
[  4]   1.00-2.00   sec  32.3 MBytes   271 Mbits/sec    0    221 KBytes       
[  4]   2.00-3.00   sec  48.5 MBytes   407 Mbits/sec    0    337 KBytes       
[  4]   3.00-4.00   sec  53.9 MBytes   452 Mbits/sec    0    436 KBytes       
[  4]   4.00-5.00   sec  60.8 MBytes   510 Mbits/sec    0    529 KBytes       
[  4]   5.00-6.00   sec  57.3 MBytes   481 Mbits/sec    0    601 KBytes       
[  4]   6.00-7.00   sec  50.9 MBytes   427 Mbits/sec    0    656 KBytes       
[  4]   7.00-8.00   sec  55.8 MBytes   468 Mbits/sec    0    713 KBytes       
[  4]   8.00-9.00   sec  50.9 MBytes   427 Mbits/sec    0    762 KBytes       
[  4]   9.00-10.00  sec  50.3 MBytes   422 Mbits/sec    0    809 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   462 MBytes   388 Mbits/sec    1             sender
[  4]   0.00-10.00  sec   462 MBytes   387 Mbits/sec                  receiver

iperf Done.

here is the config, other bridged APs have similar config with different channel, nasid and mac address.

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option htmode 'VHT80'
        option country 'FI'
        option disabled '0'
        option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
        option log_level '0'

config wifi-device 'radio1'
        option type 'mac80211'
        option hwmode '11g'
        option htmode 'HT20'
        option country 'FI'
        option channel '11'
        option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
config wifi-iface                                                                       
        option device 'radio0'                                                          
        option mode 'ap'                                                                
        option encryption 'psk2'                                                        
        option key 'xxxx'                                                     
        option ieee80211r '1'                                                           
        option nasid 'ab000095'                                                         
        option mobility_domain 'bead'                                                   
        option ft_over_ds '1'                                                           
        option ft_psk_generate_local '1'                                                
        option wps_pushbutton '0'                                                       
        option ssid 'LEDE-25R'                                                      
        option network 'lan'                                                            
        option macaddr 'c2:56:27:cc:58:95'                                              

config wifi-iface                                                                       
        option device 'radio1'                                                          
        option mode 'ap'                                                                
        option encryption 'psk2'                                                        
        option key 'xxxx'                                                     
        option ieee80211r '1'                                                           
        option nasid 'ab000092'                                                         
        option mobility_domain 'bead'                                                   
        option ft_over_ds '1'                                                           
        option ft_psk_generate_local '1'                                                
        option wps_pushbutton '0'                                                       
        option ssid 'LEDE-25R'                                                      
        option network 'lan'                                                            
        option macaddr 'c2:56:27:cc:58:92'                       
jukkapirinen commented 6 years ago

In station dump only difference what I see when it is slow that preamble is short. All my other devices connect long preamble. Is it possible to force to long for testing?

Station 64:a2:f9:xx:xx:xx (on wlan0-2) inactive time: 0 ms rx bytes: 4684 rx packets: 66 tx bytes: 2500 tx packets: 19 tx retries: 0 tx failed: 0 rx drop misc: 0 signal: -59 dBm signal avg: -67 dBm tx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz short GI VHT-NSS 2 rx bitrate: 48.0 MBit/s authorized: yes authenticated: yes associated: yes preamble: short WMM/WME: yes MFP: no TDLS peer: no DTIM period: 2 beacon interval:100 short slot time:yes connected time: 35 seconds

jukkapirinen commented 6 years ago

Here steps to reproduce the issue 100%

AP1 = Linksys WRT1900ACS, Openwrt r7020, mwlwifi 10.3.4.0-20180330 AP2 = Archer C5 v1, Openwrt r7021 Phone = OnePlus 6, OOS 5.1.5

Have same SSID configured on both APs on 5GHz and place so that they overlap a bit.

  1. Connect Phone to AP1. Upload speed is OK.
  2. Walk near AP2 so it gets connected to it. Upload still OK.
  3. Walk back near to AP1 so it gets connected to it, upload speed is very bad.
  4. Switch phone wifi OFF ON to reconnect to AP1, upload speed is good again.
jukkapirinen commented 6 years ago

Any other logs I could collect? I have this issue only with wrt1900acs..

jukkapirinen commented 6 years ago

I monitored the AP wlan interface while roaming, seems OnePlus 6 capabilities gets changed while roaming. Could it cause WiFi Driver to confuse? I have also collected tcpdumps from both AP and Phone, but not sure what to look from them. At least there is a lot of TCP Dup Acks, TCP Re-transmissions and TCP Previous segment not captured after roaming.

Attached screenshot below for the capabilities, left side association and right side reassociation.

assocreq_differences_op6

jukkapirinen commented 6 years ago

@yuhhaurlin mwlwifi does not support Short Preamble? In AP (re)assoc Response: .... .... ..0. .... = Short Preamble: Not Allowed

still in /var/run/hostapd-phy0.conf there is preamble=1

ejouellette commented 6 years ago

@yuhhaurlin, @eduperez:

I ran iperf3 tests between device and router for both devices mentioned before:

Driver: mwlwifi 10.3.4.0-20180118-1

  1. Device HP Envy-17 laptop:

    root@OLAN:~# iperf3 -c 192.168.1.143 -R Connecting to host 192.168.1.143, port 5201 Reverse mode, remote host 192.168.1.143 is sending [ 5] local 192.168.1.1 port 37326 connected to 192.168.1.143 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 12.0 MBytes 101 Mbits/sec [ 5] 1.00-2.00 sec 14.7 MBytes 123 Mbits/sec [ 5] 2.00-3.00 sec 14.6 MBytes 123 Mbits/sec [ 5] 3.00-4.00 sec 16.0 MBytes 134 Mbits/sec [ 5] 4.00-5.00 sec 16.4 MBytes 137 Mbits/sec [ 5] 5.00-6.00 sec 10.1 MBytes 85.1 Mbits/sec [ 5] 6.00-7.00 sec 4.55 MBytes 38.1 Mbits/sec [ 5] 7.00-8.00 sec 4.65 MBytes 39.0 Mbits/sec [ 5] 8.00-9.00 sec 10.4 MBytes 87.4 Mbits/sec [ 5] 9.00-10.00 sec 15.9 MBytes 133 Mbits/sec


    [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 120 MBytes 99.8 Mbits/sec sender [ 5] 0.00-10.00 sec 119 MBytes 100 Mbits/sec receiver

root@OLAN:~# iperf3 -c 192.168.1.143 Connecting to host 192.168.1.143, port 5201 [ 5] local 192.168.1.1 port 37330 connected to 192.168.1.143 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 10.1 MBytes 84.5 Mbits/sec 0 132 KBytes [ 5] 1.00-2.00 sec 10.9 MBytes 91.4 Mbits/sec 0 132 KBytes [ 5] 2.00-3.00 sec 13.6 MBytes 114 Mbits/sec 0 132 KBytes [ 5] 3.00-4.00 sec 13.6 MBytes 114 Mbits/sec 0 132 KBytes [ 5] 4.00-5.00 sec 13.3 MBytes 112 Mbits/sec 0 132 KBytes [ 5] 5.00-6.00 sec 13.2 MBytes 111 Mbits/sec 0 132 KBytes [ 5] 6.00-7.00 sec 13.4 MBytes 112 Mbits/sec 0 132 KBytes [ 5] 7.00-8.00 sec 13.7 MBytes 115 Mbits/sec 0 132 KBytes [ 5] 8.00-9.00 sec 13.4 MBytes 112 Mbits/sec 0 132 KBytes [ 5] 9.00-10.00 sec 13.4 MBytes 112 Mbits/sec 0 132 KBytes


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 128 MBytes 108 Mbits/sec 0 sender [ 5] 0.00-10.05 sec 128 MBytes 107 Mbits/sec receiver

  1. Device Samsung Galaxy-Tab-A-2016:

    root@OLAN:~# iperf3 -c 192.168.1.182 -R Connecting to host 192.168.1.182, port 5201 Reverse mode, remote host 192.168.1.182 is sending [ 5] local 192.168.1.1 port 46650 connected to 192.168.1.182 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 29.6 MBytes 249 Mbits/sec [ 5] 1.00-2.00 sec 26.9 MBytes 226 Mbits/sec [ 5] 2.00-3.00 sec 30.1 MBytes 252 Mbits/sec [ 5] 3.00-4.00 sec 29.5 MBytes 248 Mbits/sec [ 5] 4.00-5.00 sec 28.0 MBytes 235 Mbits/sec [ 5] 5.00-6.00 sec 27.8 MBytes 233 Mbits/sec [ 5] 6.00-7.00 sec 29.4 MBytes 246 Mbits/sec [ 5] 7.00-8.00 sec 26.8 MBytes 225 Mbits/sec [ 5] 8.00-9.00 sec 23.9 MBytes 200 Mbits/sec [ 5] 9.00-10.00 sec 29.7 MBytes 249 Mbits/sec


    [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 283 MBytes 237 Mbits/sec sender [ 5] 0.00-10.00 sec 283 MBytes 237 Mbits/sec receiver

root@OLAN:~# iperf3 -c 192.168.1.182 Connecting to host 192.168.1.182, port 5201 [ 5] local 192.168.1.1 port 46654 connected to 192.168.1.182 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 25.0 MBytes 210 Mbits/sec 0 513 KBytes [ 5] 1.00-2.00 sec 35.7 MBytes 300 Mbits/sec 0 513 KBytes [ 5] 2.00-3.00 sec 34.5 MBytes 289 Mbits/sec 0 513 KBytes [ 5] 3.00-4.00 sec 34.3 MBytes 288 Mbits/sec 0 513 KBytes [ 5] 4.00-5.00 sec 34.6 MBytes 290 Mbits/sec 0 513 KBytes [ 5] 5.00-6.00 sec 34.7 MBytes 291 Mbits/sec 0 513 KBytes [ 5] 6.00-7.00 sec 31.6 MBytes 265 Mbits/sec 0 542 KBytes [ 5] 7.00-8.00 sec 30.9 MBytes 260 Mbits/sec 0 542 KBytes [ 5] 8.00-9.00 sec 32.3 MBytes 271 Mbits/sec 0 542 KBytes [ 5] 9.00-10.00 sec 31.8 MBytes 267 Mbits/sec 0 542 KBytes


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 325 MBytes 273 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 324 MBytes 272 Mbits/sec receiver


Repeat tests with latest mwlwifi driver Driver: mwlwifi 2018-03-30-fcaea79a-1

  1. Device HP Envy-17 laptop:

    root@OLAN:~# iperf3 -4 -c 192.168.1.143 -R Connecting to host 192.168.1.143, port 5201 Reverse mode, remote host 192.168.1.143 is sending [ 5] local 192.168.1.1 port 52992 connected to 192.168.1.143 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 12.0 MBytes 101 Mbits/sec [ 5] 1.00-2.00 sec 10.2 MBytes 85.5 Mbits/sec [ 5] 2.00-3.00 sec 8.31 MBytes 69.7 Mbits/sec [ 5] 3.00-4.00 sec 11.1 MBytes 93.3 Mbits/sec [ 5] 4.00-5.00 sec 11.8 MBytes 98.6 Mbits/sec [ 5] 5.00-6.00 sec 7.31 MBytes 61.3 Mbits/sec [ 5] 6.00-7.00 sec 3.82 MBytes 32.0 Mbits/sec [ 5] 7.00-8.00 sec 3.93 MBytes 32.9 Mbits/sec [ 5] 8.00-9.00 sec 1.86 MBytes 15.6 Mbits/sec [ 5] 9.00-10.00 sec 209 KBytes 1.71 Mbits/sec


    [ ID] Interval Transfer Bitrate [ 5] 0.00-10.04 sec 70.8 MBytes 59.1 Mbits/sec sender [ 5] 0.00-10.00 sec 70.5 MBytes 59.2 Mbits/sec receiver

root@OLAN:~# iperf3 -4 -c 192.168.1.143 Connecting to host 192.168.1.143, port 5201 [ 5] local 192.168.1.1 port 53024 connected to 192.168.1.143 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 1.09 MBytes 9.17 Mbits/sec 0 65.8 KBytes [ 5] 1.00-2.00 sec 1.20 MBytes 10.1 Mbits/sec 0 65.8 KBytes [ 5] 2.00-3.00 sec 1.11 MBytes 9.29 Mbits/sec 0 65.8 KBytes [ 5] 3.00-4.00 sec 1.11 MBytes 9.34 Mbits/sec 0 65.8 KBytes [ 5] 4.00-5.00 sec 1.88 MBytes 15.8 Mbits/sec 0 65.8 KBytes [ 5] 5.00-6.00 sec 1.20 MBytes 10.1 Mbits/sec 0 65.8 KBytes [ 5] 6.00-7.00 sec 1.11 MBytes 9.32 Mbits/sec 0 65.8 KBytes [ 5] 7.00-8.00 sec 1.20 MBytes 10.1 Mbits/sec 0 65.8 KBytes [ 5] 8.00-9.00 sec 1.11 MBytes 9.32 Mbits/sec 0 65.8 KBytes [ 5] 9.00-10.00 sec 1011 KBytes 8.28 Mbits/sec 0 65.8 KBytes


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 12.0 MBytes 10.1 Mbits/sec 0 sender [ 5] 0.00-10.09 sec 11.9 MBytes 9.86 Mbits/sec receiver

  1. Device Samsung Galaxy-Tab-A-2016:

    root@OLAN:~# iperf3 -c 192.168.1.182 -R Connecting to host 192.168.1.182, port 5201 Reverse mode, remote host 192.168.1.182 is sending [ 5] local 192.168.1.1 port 34104 connected to 192.168.1.182 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 16.1 MBytes 135 Mbits/sec [ 5] 1.00-2.00 sec 22.6 MBytes 189 Mbits/sec [ 5] 2.00-3.00 sec 23.7 MBytes 199 Mbits/sec [ 5] 3.00-4.00 sec 17.1 MBytes 144 Mbits/sec [ 5] 4.00-5.00 sec 23.1 MBytes 194 Mbits/sec [ 5] 5.00-6.00 sec 17.3 MBytes 145 Mbits/sec [ 5] 6.00-7.00 sec 21.2 MBytes 177 Mbits/sec [ 5] 7.00-8.00 sec 23.2 MBytes 194 Mbits/sec [ 5] 8.00-9.00 sec 23.1 MBytes 194 Mbits/sec [ 5] 9.00-10.00 sec 22.5 MBytes 189 Mbits/sec


    [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 211 MBytes 177 Mbits/sec sender [ 5] 0.00-10.00 sec 210 MBytes 176 Mbits/sec receiver

root@OLAN:~# iperf3 -c 192.168.1.182 Connecting to host 192.168.1.182, port 5201 [ 5] local 192.168.1.1 port 34116 connected to 192.168.1.182 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 25.7 MBytes 215 Mbits/sec 0 513 KBytes [ 5] 1.00-2.00 sec 30.1 MBytes 252 Mbits/sec 0 513 KBytes [ 5] 2.00-3.00 sec 31.7 MBytes 266 Mbits/sec 0 513 KBytes [ 5] 3.00-4.00 sec 30.3 MBytes 254 Mbits/sec 0 513 KBytes [ 5] 4.00-5.00 sec 30.0 MBytes 252 Mbits/sec 0 540 KBytes [ 5] 5.00-6.00 sec 33.0 MBytes 277 Mbits/sec 0 540 KBytes [ 5] 6.00-7.00 sec 30.4 MBytes 255 Mbits/sec 0 540 KBytes [ 5] 7.00-8.00 sec 30.7 MBytes 258 Mbits/sec 0 540 KBytes [ 5] 8.00-9.00 sec 32.7 MBytes 274 Mbits/sec 0 540 KBytes [ 5] 9.00-10.00 sec 30.6 MBytes 257 Mbits/sec 0 540 KBytes


[ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 305 MBytes 256 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 304 MBytes 255 Mbits/sec receiver

Summary: HP Envy-17 device experiences ~10x slower download, ~2x slower upload speeds (between device and router) with latest mwlwifi 2018-03-30-fcaea79a-1 driver, compared to mwlwifi 10.3.4.0-20180118-1 driver. Samsung Galaxy-Tab-A-2016 device experiences only 5% slower download, ~25% slower upload speeds now (after software update), even though it still associates with router as: 54.0 Mbit/s, 20MHz; 6.0 Mbit/s, 80MHz

jukkapirinen commented 6 years ago

Tested also with davidc502 build r6952-5399de754d and it has the same issue.

With HT40 seems to work ok, but can't get AC speeds now.

jukkapirinen commented 6 years ago

Tested with oem firmware FW_WRT1900ACS_1.0.3.187766_prod.img

It has the same issue

After phones WiFi On/Off

Connecting to host 192.168.1.33, port 5201
[  4] local 192.168.1.91 port 42246 connected to 192.168.1.33 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec  72.2 MBytes   598 Mbits/sec                  
[  4]   1.01-2.02   sec  73.8 MBytes   612 Mbits/sec                  
[  4]   2.02-3.01   sec  71.2 MBytes   607 Mbits/sec                  
[  4]   3.01-4.00   sec  70.0 MBytes   591 Mbits/sec                  
[  4]   4.00-5.03   sec  68.8 MBytes   563 Mbits/sec                  
[  4]   5.03-6.02   sec  62.5 MBytes   528 Mbits/sec                  
[  4]   6.02-7.00   sec  60.0 MBytes   512 Mbits/sec                  
[  4]   7.00-8.01   sec  60.0 MBytes   499 Mbits/sec                  
[  4]   8.01-9.01   sec  60.0 MBytes   505 Mbits/sec                  
[  4]   9.01-10.02  sec  67.5 MBytes   560 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.02  sec   666 MBytes   558 Mbits/sec                  sender
[  4]   0.00-10.02  sec   663 MBytes   555 Mbits/sec                  receiver

iperf Done. 

Roam to another AP with same SSID and then roam back to wrt1900acs

Connecting to host 192.168.1.33, port 5201
[  4] local 192.168.1.91 port 42264 connected to 192.168.1.33 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.04   sec   947 KBytes  7.45 Mbits/sec                  
[  4]   1.04-2.03   sec  0.00 Bytes  0.00 bits/sec                  
[  4]   2.03-3.04   sec   368 KBytes  2.99 Mbits/sec                  
[  4]   3.04-4.03   sec   382 KBytes  3.15 Mbits/sec                  
[  4]   4.03-5.03   sec   382 KBytes  3.12 Mbits/sec                  
[  4]   5.03-6.00   sec  0.00 Bytes  0.00 bits/sec                  
[  4]   6.00-7.04   sec   382 KBytes  3.02 Mbits/sec                  
[  4]   7.04-8.04   sec  0.00 Bytes  0.00 bits/sec                  
[  4]   8.04-9.01   sec   382 KBytes  3.21 Mbits/sec                  
[  4]   9.01-10.04  sec   382 KBytes  3.05 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.04  sec  3.15 MBytes  2.63 Mbits/sec                  sender
[  4]   0.00-10.04  sec  2.20 MBytes  1.84 Mbits/sec                  receiver

iperf Done.
p3x-robot commented 6 years ago

i can confirm that something is weird, i never had wifi issues for a long time on 3200acm, i think, the last commit did this. i am on lede 17.01.4, totally something cannot register itself, or wifi goes away, and must be the last commit, i think, before always working.

jukkapirinen commented 6 years ago

Tested with OnePlus 5 with OOS 5.0.4 it has the same issue...

@p3x-robot I'm having WRT1900ACS, no issues for long long time with WiFi, until now with OnePlus 6 (and OP5 seems).

I think there is something wrong with the OnePlus WiFi also as you see the capabilities gets changed when re-associating. But how is ath10k handling it?

Tried to disable beamforming also, didn't help.

Edit: upgraded OP5 to OOS 5.1.2 and still the same

p3x-robot commented 6 years ago

just, i have no idea, when it started going wrong, because, i was rebuilding every time, i saw a new commit, that's sad... but in the last weeks, it was going bad. sometimes, i couldn't find the wifi, sometimes, even after reboot. i will shoot the error log, if it goes bad again.

p3x-robot commented 6 years ago

though on android i can hit 200-500 mbits. so weird, but i sometimes not working with mwlwifi latest.

p3x-robot commented 6 years ago

i think hostapd cannot connect to AP, that's what happens sometimes, i remember, but i will find to log once it goes bad again ...

jukkapirinen commented 6 years ago

Attached network captures for slow iperf upload from Phone to LAN. Taken from AP and from phone.

iperf3 network captures.zip

jukkapirinen commented 6 years ago

No one else has OnePlus 5 or 6 could test this?

yuhhaurlin commented 6 years ago

@2Torr You can wait for future release to check it again.

yuhhaurlin commented 6 years ago

@bbogey If stock firmware has the same issue, please report your problem for stock firmware.

yuhhaurlin commented 6 years ago

@p3x-robot I have no idea what the problem you have.

p3x-robot commented 6 years ago

sorry,it was stable for long time, then it was weird, but given we have like 50 devices in the apartment, i have no idea.

@yuhhaurlin i think you are awesome, i was questionig like others as well right now... no problem at all. ciao

jukkapirinen commented 6 years ago

@yuhhaurlin I don't think they bother this old device. I'll try check with OnePlus as the issue is only with OnePlus devices. Because it will most probably never be fixed their end either I ordered new AP with ath10k and maybe return the phone also...

yuhhaurlin commented 6 years ago

@bbogey The strange thing is that reboot the phone will fix the problem. Unless using sniffer to capture air packets, I have no idea how to check it.

jukkapirinen commented 6 years ago

I have the mon capture. Not sure if it would help.

No need to reboot the phone. After initial association speed is good. Problem is only after re-associating back to wrt1900acs and only with 5GHz and only with AC.

Here again the screenshot from mon capture. Left side is the initial association and right side re-association https://user-images.githubusercontent.com/9322054/40606797-3d96d568-626f-11e8-94b4-c5542354008f.PNG

derosier commented 6 years ago

Looking at your capture, I noticed a couple of things:

In short, while I believe you may have an issue, the information you're posting hasn't indicated anything having to do with mwlwifi, the MVL8964, the firmware, the WRT1900ACM or WRT3200ACM. And, I'd posit, all the information in this thread points to other more likely sources.

jukkapirinen commented 6 years ago

@derosier it is valid address. For different APs I have created custom MAC addresses.

Yes screenshot I have provided to show up the odd thing I noticed from phone assoc request like wrote above. So phone capatibilities are different in association and re-association. The thing is that wrt1900acs together with OnePlus does not work together. Archer C5 (ath10k) works fine with OnePlus. And with any other device combinations no issues...

Kherby commented 6 years ago

Same problem here, 5ghz wifi speed is very irregular, drops often down to 3-5mbps and stays there, my wifi card (Intel AC8260) shows 390mbps and Luci shows 6.5-27mbps @20mhz. I cant enjoy my WRT3200acm because of the wifi performance, it's realy frustrating !!

Pls fix this, it's ridiciolous how bad this marvel wifi is... Sometimes i do think my WRT3200acm has a faulty wifi module but it seems that im not the only one with these issues.... :/ My router from 2012 is performing way better and it really shouldn't be like this and that's not a joke.

root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/mwlwifi/info

driver name: mwlwifi
chip type: 88W8964
hw version: 7
driver version: 10.3.4.0-20180330
firmware version: 0x09030206
power table loaded from dts: no
firmware region code: 0x30
mac address: 
2g: disable
5g: enable
antenna: 4 4
irq number: 49
ap macid support: 0000ffff
sta macid support: 00010000
macid used: 00000003
radio: enable
iobase0: e1100000
iobase1: e1380000
tx limit: 1024
rx limit: 16384
yuhhaurlin commented 6 years ago

@Kherby @bbogey's issue is related to WRT1900ACS and it happened after reassociated. What problem that you want me to fix? Please run iperf and show me the number.

jukkapirinen commented 6 years ago

And one more thing In hostapd-phy0.conf there is preamble=1 And in AP probe / (re)assoc response

.... .... ..0. .... = Short Preamble: Not Allowed

For OnePlus 6 in station dump it shows after associated:

preamble: long

And after re-association

preamble: short

For any other device it isn't short ever.

But I don't think it matters as it is used only for b and g standards?

Kherby commented 6 years ago

@yuhhaurlin I would love it if you finaly would fix the Wifi firmware, so my 5Ghz doesnt drop to 3.5-4mbps anymore when downloading something over the internet. The problem will happen on my WRT3200acm as well, that's why im writing here. Why do u want me to run iperf ? It's clear that the wifi troughput is completely out of line.... If i switch to my other Wifi AP and i'm getting full speed immediately, if i reboot the WRT3200acm im getting full speed as well for some time....

Or there any Magic wifi config that will work/fix the problem ? I'm running iperf later, can't access any client at the moment as im not at home.

yuhhaurlin commented 6 years ago

Please use iperf and show me the number.

Kherby commented 6 years ago

I'll do that !! I guess u want 5ghz WLAN >> LAN test right ?

jukkapirinen commented 6 years ago

Ok contacted Linksys.

http://community.linksys.com/t5/Wireless-Routers/After-reassociating-to-wrt1900acs-with-OnePlus-5-or-6-upload-is/m-p/1317289#M35242

Edit: They called me today but as I'm the only one reported the issue, at this time it probably goes nowhere. They will call again after one week.

Here's the source for OP6 wifi driver and it is pretty recent fork

https://github.com/OnePlusOSS/android_vendor_qcom-opensource_wlan_qcacld-3.0/tree/oneplus/SDM845_O_8.1?files=1

If someone has Pixel or Essential or some other device with Qualcomm chip and Oreo 8.1 could you please test if you could reproduce the reassociation issue.

jukkapirinen commented 6 years ago

Is it normal that client acts as beamformer also? I only read that it is used in APs to send beamformed frames. Edit: looks like ipad Air 2 support beamformer also, no issues with ipad.

jukkapirinen commented 6 years ago

Got Netgear r7800 and bridged to wrt1900acs directly on LAN port. No issues with r7800 in speed after reassociation.

Next maybe I'll take mon capture from both at the same time and see if something found. Also will compare with earlier captures. Edit: looks like monitor can capture only broadcast packets even I'm at 10.3.4.0-20180330

In mean time OnePlus has corrected the Short Preamble and VHT capabilities in reassociation, not sure what other changes they did, but no help in this issue.

jukkapirinen commented 6 years ago

After reassoc I started upload from the phone via wrt1900acs.

Here is left monitor capture from wrt1900acs, right from r7800. I don't see all frames in wrt1900acs capture what I can see in r7800.

The missing packets are repeteaded elsewhere also. Common for all missing packets is that the length is 4684. Could the issue be with this limit what Phone does not follow now? Max MPDU length: 3895

sniffer missing packets from linksys

Here attached the missing frames

missing packets.zip

jukkapirinen commented 6 years ago

Looks like the culprit was these too large frames sent by the phone. OnePlus made a new version for me and there is no these large frames anymore and it seems to fix this issue.

ghost commented 6 years ago

Sounds like router firmware/wifi driver needs large frame support.

On Fri, Jun 8, 2018, 03:02 bbogey notifications@github.com wrote:

Looks like the culprit was these too large frames sent by the phone. OnePlus made a new version for me and there is no these large frames anymore and it seems to fix this issue.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kaloz/mwlwifi/issues/295#issuecomment-395682398, or mute the thread https://github.com/notifications/unsubscribe-auth/ARIphNPuaAoYLccsY_EUa9yZIGxk-Zg-ks5t6i-tgaJpZM4UAR0w .

jukkapirinen commented 6 years ago

Not sure about that, wrt1900acs work very fast and responsive even with the smallest frame size. But yes for misbehaving clients it would help.

gufus commented 6 years ago

@yuhhaurlin

On my wrt1900ac I'm haveing same problem. :-(

yuhhaurlin commented 6 years ago

For WRT1200 or WRT1900 (which uses 88W8864), the maximum A-MSDU size is 3839.

yuhhaurlin commented 6 years ago

I wonder if I can close this issue?

yuhhaurlin commented 6 years ago

Bit 11 (Maximum A-MSDU Length) of HT Capability Information field:

0: 3839 octets. 1: 7935 octets.

Bit 0..1 (Maximum MPDU length) of VHT Capability Information filed:

00: 3895 octets. 01: 7991 octets. 10: 11454 octets.

A VHT STA that sets the value of the Maximum MPDU Length subfield in the VHT Capabilities Information field of the VHT Capabilities element to indicate 3895 octets shall set the Maximum A-MSDU Length in the HT Capabilities element to indicate 3839 octets. A VHT STA that sets the Maximum MPDU Length in the VHT Capabilities element to indicate 7991 octets or 11 454 octets shall set the Maximum A-MSDU Length in the HT Capabilities element to indicate 7935 octets.

The length of an A-MSDU transmitted in a VHT PPDU is limited by the maximum MPDU size supported by the recipient STA (see 10.13.5).

yuhhaurlin commented 6 years ago

If you use WRT3200ACM (88W8964), you will not encounter this kind of thing.