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

FS#487 - VGV7510KW22 / o2 Box 6431 / RT3062F: Very poor Wi-Fi performance #6443

Closed
openwrt-bot opened this issue Feb 9, 2017 · 11 comments
Closed
Labels

Comments

@openwrt-bot
Copy link

bugreporter:

Actual Wi-Fi performance is abnormally poor and unusually variable, no matter the settings (mode, channels, encryption).

These tests were carried out in quick succession while the LuCI web interface showed a signal strength of -46 - -50 dBm:
[localhost ~]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 42922 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 1.36 MBytes 11.4 Mbits/sec 0 14.1 KBytes
[ 4] 1.00-2.00 sec 964 KBytes 7.90 Mbits/sec 5 11.3 KBytes
[ 4] 2.00-3.00 sec 816 KBytes 6.68 Mbits/sec 4 4.24 KBytes
[ 4] 3.00-4.00 sec 979 KBytes 8.02 Mbits/sec 5 9.90 KBytes
[ 4] 4.00-5.00 sec 1.38 MBytes 11.6 Mbits/sec 0 11.3 KBytes
[ 4] 5.00-6.00 sec 1.24 MBytes 10.4 Mbits/sec 1 9.90 KBytes
[ 4] 6.00-7.00 sec 943 KBytes 7.72 Mbits/sec 2 7.07 KBytes
[ 4] 7.00-8.00 sec 1024 KBytes 8.39 Mbits/sec 7 8.48 KBytes
[ 4] 8.00-9.00 sec 1.11 MBytes 9.29 Mbits/sec 1 9.90 KBytes
[ 4] 9.00-10.00 sec 1.41 MBytes 11.8 Mbits/sec 0 11.3 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 11.1 MBytes 9.32 Mbits/sec 25 sender
[ 4] 0.00-10.00 sec 11.1 MBytes 9.30 Mbits/sec receiver

iperf Done.
[localhost ~]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 42954 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 187 KBytes 1.53 Mbits/sec 3 9.90 KBytes
[ 4] 1.00-2.00 sec 638 KBytes 5.22 Mbits/sec 0 11.3 KBytes
[ 4] 2.00-3.00 sec 561 KBytes 4.60 Mbits/sec 0 14.1 KBytes
[ 4] 3.00-4.00 sec 417 KBytes 3.42 Mbits/sec 0 14.1 KBytes
[ 4] 4.00-5.00 sec 307 KBytes 2.51 Mbits/sec 4 8.48 KBytes
[ 4] 5.00-6.00 sec 370 KBytes 3.04 Mbits/sec 2 8.48 KBytes
[ 4] 6.00-7.00 sec 365 KBytes 2.99 Mbits/sec 1 8.48 KBytes
[ 4] 7.00-8.00 sec 281 KBytes 2.30 Mbits/sec 2 1.41 KBytes
[ 4] 8.00-9.00 sec 204 KBytes 1.67 Mbits/sec 8 8.48 KBytes
[ 4] 9.00-10.00 sec 344 KBytes 2.81 Mbits/sec 2 8.48 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 3.59 MBytes 3.01 Mbits/sec 22 sender
[ 4] 0.00-10.00 sec 3.56 MBytes 2.99 Mbits/sec receiver

iperf Done.
[localhost ~]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 42960 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 259 KBytes 2.12 Mbits/sec 2 9.90 KBytes
[ 4] 1.00-2.00 sec 923 KBytes 7.57 Mbits/sec 2 11.3 KBytes
[ 4] 2.00-3.00 sec 1.08 MBytes 9.06 Mbits/sec 0 11.3 KBytes
[ 4] 3.00-4.00 sec 1.34 MBytes 11.2 Mbits/sec 2 9.90 KBytes
[ 4] 4.00-5.00 sec 652 KBytes 5.34 Mbits/sec 8 4.24 KBytes
[ 4] 5.00-6.00 sec 1.31 MBytes 11.0 Mbits/sec 1 11.3 KBytes
[ 4] 6.00-7.00 sec 1.37 MBytes 11.5 Mbits/sec 0 15.6 KBytes
[ 4] 7.00-8.00 sec 1.24 MBytes 10.4 Mbits/sec 1 12.7 KBytes
[ 4] 8.00-9.00 sec 683 KBytes 5.59 Mbits/sec 8 9.90 KBytes
[ 4] 9.00-10.00 sec 1.16 MBytes 9.72 Mbits/sec 2 7.07 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 9.96 MBytes 8.35 Mbits/sec 26 sender
[ 4] 0.00-10.00 sec 9.93 MBytes 8.33 Mbits/sec receiver

iperf Done.

Confirmed with 17.01.0-rc1, 17.01.0-rc2, SNAPSHOT r3350-aab344d (all NOR images) and different client machines.

On a side note, ethernet performance is also diminished:
[localhost ~]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.161 port 57264 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 9.70 MBytes 81.3 Mbits/sec 0 215 KBytes
[ 4] 1.00-2.00 sec 8.96 MBytes 75.2 Mbits/sec 0 215 KBytes
[ 4] 2.00-3.00 sec 9.37 MBytes 78.6 Mbits/sec 4 156 KBytes
[ 4] 3.00-4.00 sec 10.3 MBytes 86.6 Mbits/sec 6 106 KBytes
[ 4] 4.00-5.00 sec 10.4 MBytes 87.0 Mbits/sec 0 161 KBytes
[ 4] 5.00-6.00 sec 8.88 MBytes 74.5 Mbits/sec 2 156 KBytes
[ 4] 6.00-7.00 sec 9.01 MBytes 75.6 Mbits/sec 2 143 KBytes
[ 4] 7.00-8.00 sec 9.47 MBytes 79.5 Mbits/sec 8 140 KBytes
[ 4] 8.00-9.00 sec 10.3 MBytes 86.6 Mbits/sec 6 141 KBytes
[ 4] 9.00-10.00 sec 10.4 MBytes 87.3 Mbits/sec 4 144 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 96.8 MBytes 81.2 Mbits/sec 32 sender
[ 4] 0.00-10.00 sec 96.5 MBytes 80.9 Mbits/sec receiver

iperf Done.

@openwrt-bot
Copy link
Author

bugreporter:

Also confirmed with different country codes and TX power settings.

@openwrt-bot
Copy link
Author

bugreporter:

Also confirmed with openwrt-15.05.1-lantiq-xrx200-VGV7510KW22NOR-squashfs.image.

@openwrt-bot
Copy link
Author

bugreporter:

These tests were carried out in quick succession while the device was less than 10 cm away from the client's wi-fi antennas and the LuCI web interface showed a signal strength of -12 dBm:

[localhost]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 56724 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 2.63 MBytes 22.1 Mbits/sec 0 25.5 KBytes
[ 4] 1.00-2.00 sec 2.31 MBytes 19.4 Mbits/sec 0 26.9 KBytes
[ 4] 2.00-3.00 sec 2.54 MBytes 21.3 Mbits/sec 0 26.9 KBytes
[ 4] 3.00-4.00 sec 2.61 MBytes 21.9 Mbits/sec 0 26.9 KBytes
[ 4] 4.00-5.00 sec 2.73 MBytes 22.9 Mbits/sec 0 41.0 KBytes
[ 4] 5.00-6.00 sec 3.15 MBytes 26.4 Mbits/sec 0 41.0 KBytes
[ 4] 6.00-7.00 sec 2.85 MBytes 23.9 Mbits/sec 0 63.6 KBytes
[ 4] 7.00-8.00 sec 3.34 MBytes 28.1 Mbits/sec 0 63.6 KBytes
[ 4] 8.00-9.00 sec 3.40 MBytes 28.5 Mbits/sec 0 63.6 KBytes
[ 4] 9.00-10.00 sec 3.73 MBytes 31.3 Mbits/sec 0 63.6 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 29.3 MBytes 24.6 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 29.2 MBytes 24.5 Mbits/sec receiver

iperf Done.
[localhost]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 56732 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 667 KBytes 5.47 Mbits/sec 0 38.2 KBytes
[ 4] 1.00-2.00 sec 734 KBytes 6.01 Mbits/sec 0 42.4 KBytes
[ 4] 2.00-3.00 sec 916 KBytes 7.51 Mbits/sec 0 42.4 KBytes
[ 4] 3.00-4.00 sec 611 KBytes 5.00 Mbits/sec 0 42.4 KBytes
[ 4] 4.00-5.00 sec 882 KBytes 7.23 Mbits/sec 0 49.5 KBytes
[ 4] 5.00-6.00 sec 1020 KBytes 8.35 Mbits/sec 1 49.5 KBytes
[ 4] 6.00-7.00 sec 585 KBytes 4.80 Mbits/sec 1 50.9 KBytes
[ 4] 7.00-8.00 sec 824 KBytes 6.75 Mbits/sec 2 50.9 KBytes
[ 4] 8.00-9.00 sec 680 KBytes 5.57 Mbits/sec 1 52.3 KBytes
[ 4] 9.00-10.00 sec 600 KBytes 4.91 Mbits/sec 0 52.3 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 7.34 MBytes 6.16 Mbits/sec 5 sender
[ 4] 0.00-10.00 sec 7.24 MBytes 6.08 Mbits/sec receiver

iperf Done.
[localhost]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 4] local 192.168.1.171 port 56736 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 649 KBytes 5.32 Mbits/sec 2 22.6 KBytes
[ 4] 1.00-2.00 sec 430 KBytes 3.52 Mbits/sec 0 22.6 KBytes
[ 4] 2.00-3.00 sec 491 KBytes 4.02 Mbits/sec 2 22.6 KBytes
[ 4] 3.00-4.00 sec 1.10 MBytes 9.26 Mbits/sec 0 22.6 KBytes
[ 4] 4.00-5.00 sec 1.35 MBytes 11.3 Mbits/sec 0 24.0 KBytes
[ 4] 5.00-6.00 sec 1.46 MBytes 12.2 Mbits/sec 1 15.6 KBytes
[ 4] 6.00-7.00 sec 1.60 MBytes 13.4 Mbits/sec 0 15.6 KBytes
[ 4] 7.00-8.00 sec 1.63 MBytes 13.6 Mbits/sec 0 15.6 KBytes
[ 4] 8.00-9.00 sec 1.63 MBytes 13.7 Mbits/sec 0 25.5 KBytes
[ 4] 9.00-10.00 sec 1.87 MBytes 15.7 Mbits/sec 1 18.4 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 12.2 MBytes 10.2 Mbits/sec 6 sender
[ 4] 0.00-10.00 sec 12.1 MBytes 10.2 Mbits/sec receiver

iperf Done.

@openwrt-bot
Copy link
Author

bjonglez:

Can you try running iperf on a computer plugged to a LAN port instead of running it on the router directly?

The CPU on this router does not seem to be really low-end, but you never know, iperf uses quite a lot of CPU.

@openwrt-bot
Copy link
Author

bugreporter:

Yes, switching client and server does not make a difference:

root@router:~# iperf3 -c 192.168.1.161
Connecting to host 192.168.1.161, port 5201
[ 4] local 192.168.1.1 port 41652 connected to 192.168.1.161 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.01 sec 9.45 MBytes 78.8 Mbits/sec 0 90.5 KBytes
[ 4] 1.01-2.01 sec 9.85 MBytes 82.6 Mbits/sec 0 90.5 KBytes
[ 4] 2.01-3.00 sec 9.94 MBytes 83.5 Mbits/sec 0 90.5 KBytes
[ 4] 3.00-4.00 sec 9.95 MBytes 83.4 Mbits/sec 0 90.5 KBytes
[ 4] 4.00-5.01 sec 9.96 MBytes 83.3 Mbits/sec 0 90.5 KBytes
[ 4] 5.01-6.01 sec 9.91 MBytes 82.6 Mbits/sec 0 90.5 KBytes
[ 4] 6.01-7.00 sec 9.83 MBytes 83.3 Mbits/sec 0 90.5 KBytes
[ 4] 7.00-8.00 sec 9.88 MBytes 82.9 Mbits/sec 0 90.5 KBytes
[ 4] 8.00-9.00 sec 9.92 MBytes 83.0 Mbits/sec 0 90.5 KBytes
[ 4] 9.00-10.00 sec 9.85 MBytes 82.6 Mbits/sec 0 90.5 KBytes


[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 98.5 MBytes 82.6 Mbits/sec 0 sender
[ 4] 0.00-10.00 sec 98.4 MBytes 82.5 Mbits/sec receiver

iperf Done.

@openwrt-bot
Copy link
Author

bjonglez:

Can you please try to run iperf through the router, instead of on the router?

Basically, take two computers, one on wifi, one on ethernet. Then run iperf between the two computers.

@openwrt-bot
Copy link
Author

bugreporter:

Yes, does not make a difference.
After all, I originally noticed this problem because Wi-Fi would occasionally become even too slow for my already humble Internet connection.

I have further played around with settings and older firmware blobs, and checked the mtd partitioning, all to no avail.
The only other peculiarity I have noticed is that the kernel apparently recognizes the RT3062F chip as a RT3572:
[ 10.902947] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3572, rev 0223 detected
[ 10.910726] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0008 detected

@openwrt-bot
Copy link
Author

bugreporter:

I have also checked the integrity of the 'board_config' partition to the best of my ability and manually replaced its embedded Ralink eeprom with the (endian-converted) 'RT3062.eeprom' file from the ZyXEL P-2812HNU-F1, without apparent improvement.

@openwrt-bot
Copy link
Author

bjonglez:

Well, if performance was already poor in OpenWRT CC, I'm not sure what can be done (it's not a regression in LEDE).

You can try asking Daniel Golle, look at https://www.kickstarter.com/projects/1327597961/better-support-for-mt7620a-n-in-openwrt-lede/ (it's the same driver, rt2x00)

@openwrt-bot
Copy link
Author

Sven:

I have the same problem too, with all of my o2 Box 6431 devices. Is there anything I can do to help fixing this?

The problem occurs in LEDE 17.01.[0-4] and in current OpenWrt snapshot reboot-5933.

The o2 Box 6431 is a really great OpenWrt device because all of its hardware is supported, but this problem makes the WiFi kind of unusable.

Thanks,
Sven

@openwrt-bot
Copy link
Author

mkresin:

I've done a wireless benchmark recently and I'm not able to reproduce the wireless performance issue:

https://www.spinics.net/lists/linux-wireless/msg171568.html

https://www.spinics.net/lists/linux-wireless/msg171734.html

Whatever it is that you're facing it doesn't look like that something in general is broken.

Might be that the 2.4GHz band is just overcrouded at your place.


The limited ethernet bandwidth is a known issue.

Any traffic originating or targeting the o2 Box itself is limited to somewhat around 100Mbit/s. It is the maximum bandwidth the CPU is able to handle in software. Since routing and NAT is done in software (using netfilter framework of the linux kernel), both are hit by the 100Mbit/s cap.

To achieve more bandwidth, support for the hardware accelerated routing/NAT is required. To my knowledge nobody is working on this topic at the moment. One of the reasons is that the datasheets are only available under NDA and I'm not aware that anyone not having a contract with/being a customer of lantiq was ever able to get hands on the datasheets.

I've done some benchmarking using the kernel 4.14 flow offloading and was able to see an improvement (lantiq board with gigabit ethernet used):

HEAD

net to client 95.2 Mbits/sec routing
client to net 109 Mbits/sec routing

net to client 85.6 Mbits/sec NAT
client to net 96.2 Mbits/sec NAT

HEAD + FLOW_OFFLOADING

net to client 129 Mbits/sec routing
client to net 144 Mbits/sec routing

net to client 124 Mbits/sec NAT
client to net 144 Mbits/sec NAT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant