Closed jbsky closed 1 year ago
added for testing in dd-wrt sourctree
tested on WRT1900ACS and WRT3200ACM so far. no visible issues
Hello @kaloz,
Can you please check and merge. You can also create a tag, that would be nice.
Thank you very much,
Sincerely,
Julien Blais
Hello all, Thank you for your involvement and implementation of this update!
Following the tests performed on the wrt1900acs v2, I noticed the following anomalies: I did some tests in the speed test while I left a ping and you can see how it influences,the ping is left on the PC, it is clear that when I did the test on the phone the ping was already suffering, when I did it on the PC it started to increase and from there the constant ping increase!
you can find more details about the settings here!
https://forum.openwrt.org/t/linksys-wrt1900acs-v2-openwrt-snapshot/157825/5
Pinging 192.168.15.1 with 32 bytes of data:
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=13ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=5ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=15ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=8ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=8ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64
Reply from 192.168.15.1: bytes=32 time=5ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=6ms TTL=64
Reply from 192.168.15.1: bytes=32 time=371ms TTL=64 - speed test smartphone
Reply from 192.168.15.1: bytes=32 time=2034ms TTL=64
Reply from 192.168.15.1: bytes=32 time=123ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1037ms TTL=64
Reply from 192.168.15.1: bytes=32 time=710ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1979ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2287ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64 - after speed test
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2ms TTL=64
Reply from 192.168.15.1: bytes=32 time=8ms TTL=64
Reply from 192.168.15.1: bytes=32 time=9ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=12ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3419ms TTL=64 - Speed test wifi pc
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=42ms TTL=64
Reply from 192.168.15.1: bytes=32 time=38ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3099ms TTL=64
Reply from 192.168.15.1: bytes=32 time=26ms TTL=64
Reply from 192.168.15.1: bytes=32 time=33ms TTL=64
Reply from 192.168.15.1: bytes=32 time=42ms TTL=64
Reply from 192.168.15.1: bytes=32 time=39ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2965ms TTL=64
Reply from 192.168.15.1: bytes=32 time=30ms TTL=64
Reply from 192.168.15.1: bytes=32 time=25ms TTL=64
Reply from 192.168.15.1: bytes=32 time=14ms TTL=64
Reply from 192.168.15.1: bytes=32 time=15ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3462ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=7ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3ms TTL=64
Reply from 192.168.15.1: bytes=32 time=5ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3389ms TTL=64 - after the speed test the ping changes
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=6ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3312ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=4ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2448ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3417ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3416ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3278ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Reply from 192.168.15.1: bytes=32 time=8ms TTL=64
Reply from 192.168.15.1: bytes=32 time=2441ms TTL=64
Reply from 192.168.15.1: bytes=32 time=9ms TTL=64
Reply from 192.168.15.1: bytes=32 time=40ms TTL=64
Reply from 192.168.15.1: bytes=32 time=42ms TTL=64
Reply from 192.168.15.1: bytes=32 time=36ms TTL=64
Reply from 192.168.15.1: bytes=32 time=3408ms TTL=64
Reply from 192.168.15.1: bytes=32 time=20ms TTL=64
Reply from 192.168.15.1: bytes=32 time=1ms TTL=64
Ping statistics for 192.168.15.1:
Packets: Sent = 217, Received = 217, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 3462ms, Average = 218ms
On the forum I saw some problems also related to this update!
same Problem here. I had to revert this patch. I noticed ARP Drops for clients, when a client switches between 2 and 5 Ghz WiFi. not the switching client but the others.
I see the ARP Requests for the Routers MAC coming in on my wrt3200 , but no responses going out
Thank you for your feedback.
If you have regression, do not hesitate to revert this merge. However, if you want to help a little, you can revert commit 1 by 1 to see which patch causes the regression. Thanks for your help.
I noticed that this driver has a regression with a linux 6 kernel compared to a version in WDS STA mode. I am still looking for stability with this material.
Trying to do something alone on this driver is not an easy thing and so, all the good wills are welcome.
Sincerely,
I want to make a clarification, the wifi part is supported by the ROG MAXIMUS X CODE motherboard, in order to obtain stability and performance I had to make some settings: 802.11b-Enable Beacon Interval - 100 Concurrent Operation Preference - No preference Multi Channel Concurrent - Enabled+Hostpot (this setting mattered a lot, basically it is enable or disabled) Preamble Mode - Short & long the rest by default! Realtek 8822BE Wireless LAN 802.11ac PCI-E NIC
Thank you for your feedback.
If you have regression, do not hesitate to revert this merge. However, if you want to help a little, you can revert commit 1 by 1 to see which patch causes the regression. Thanks for your help.
I noticed that this driver has a regression with a linux 6 kernel compared to a version in WDS STA mode. I am still looking for stability with this material.
Trying to do something alone on this driver is not an easy thing and so, all the good wills are welcome.
Sincerely,
I'm trying to remove one by one commit... at this moment we have this issue... #409
This commit is responsible of disconnection... https://github.com/kaloz/mwlwifi/pull/408/commits/9f991fdee60e7b251177d911b6def2a77c1259c9
Tested on WRT3200ACM
Compared to the old mwlwifi (without @jbsky patches), the performance is noticeably worse, with AMSDU on or off.
i.e. now getting at best 390-400Mbps with iperf3, despite being connected at 1300Mbps (Macbook pro 2019)
Previously, was getting consistent 570-600Mbps (also while connected at 1300Mbps from Macbook pro 2019).
Sorry, it seems after I upgraded I forgot to include in my config globals
:
option packet_steering '1'
hence why my throughput results were skewed.
I conducted my tests again
root@WRT3200ACM:~# cat /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu
tx amsdu: enable
root@WRT3200ACM:~# grep -A2 globals /etc/config/network
config globals 'globals'
option ula_prefix 'fdff:c666:414c::/48'
option packet_steering '1'
The best throughput I now get:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.00 sec 2.54 GBytes 728 Mbits/sec sender
[ 5] 0.00-30.01 sec 2.54 GBytes 728 Mbits/sec receiver
The worst throughput:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.00 sec 2.33 GBytes 667 Mbits/sec sender
[ 5] 0.00-30.02 sec 2.33 GBytes 666 Mbits/sec receiver
With old mlwifi (20200206-3) --- 192.168.100.1 ping statistics --- 38 packets transmitted, 38 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 2.564/7.462/11.055/2.903 ms
With mlwifi 10.3.9.1-20230429 --- 192.168.100.1 ping statistics --- 38 packets transmitted, 38 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 2.310/4.677/10.057/3.014 ms
As you can see, with comparable configuration (both packet_steering enabled), and AMSDU enabled with latest mlwifi (vs AMSDU disabled in old mlwifi), I get a bit less throughput (666Mbps-728Mbps) vs old mlwifi (consistently 741Mbps), but I do get better latency.
Edit: After wifi has been up for a little longer, further test of throughput shows better results with mlwifi 10.3.9.1 than the old mlwifi (20200206-3)
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.00 sec 2.75 GBytes 789 Mbits/sec sender
[ 5] 0.00-30.01 sec 2.75 GBytes 788 Mbits/sec receiver
Hello,
Please find in this MR:
Performance is good.
This copy is tested with V1 version only. Please test with other router version. I wait for your feedback.
The remaining noticed errors are :
To be precise, these problems exist with the master copy.
Above is the test network I set up. It doesn't solve all the problems like broadcast, but in this kind of conf, it's stable since 2 days. I can work from the AP 2.4 of the wrt1900ac and work on my local network without latency.
Signed-off-by: Julien Blais webmaster@jbsky.fr