R7800 performance

I upgraded from 100/100 to 250/250 so never noticed it before because it could push max 94-95Mbps just fine in speed tests. Never really done any iperf tests on the LAN. It could be the firmware I use, I cannot use CT because some of my clients don't like it, so I use mainline (from the kvalo repo) instead.

Tried both
https://github.com/ACwifidude/openwrt/blob/kernel5.4-nss-qsdk10.0/bin/targets/ipq806x/generic/R7800-masterNSS-r14443-sysupgrade.bin
and
http://www.desipro.de/openwrt/trunk/ipq806x-nss/kong-ipq806x-generic-netgear_r7800-squashfs-sysupgrade.bin

using factory settings it seems I can not get more than 400-500 Mbits down on my WAN interface which provides ~ 1Gbits/50Mbits

That is an older build. You can try newer builds here - I turn off software offloading (don’t use software offloading with NSS builds) and run the performance governor:

With wifi offloading on my 940/35 ISP connection here are some wifi results (80mhz wide channel with 2x2 iphone client, wired is full line rate):

Here are some newer results (530-560mbps via wifi is typical)

This is really weird. Here's my setup:

  • master-r14935-95b0751d0f-20201113 (ath10k-ct) build
  • firmware-5.bin_10.4-3.10-00047 (not CT, but see comment at the end of the post)
  • performance governor
  • IRQs 31, 32 for eth0, eth1 moved to CPU1 (no irqbalance running)

WAN --- EdgeRouter ER-12 wired router (w/ tagged VLANs) --- R7800 AP mode (w/ tagged VLANs) --- WiFi clients
There are also wired clients connected to the ER-12 such as a Linux server that I used in this test.

I ran the following tests:

  1. All wired tests. MBP client wired to the R7800, Linux server wired to the ER-12 (via a dumb gigabit switch). Using iperf3.
    TCP up/down: 940Mbps
    UDP up/down: 954Mbps
    Ran the tests multiple times, in both directions, pretty consistent, numbers make sense for 1Gbps.

  2. MBP wired to the R7800, speed tests against Internet speed sites such as fast.com and speedtest.net
    Download: 260Mbps (max bandwidth from ISP)
    Upload: ~200Mbps <--- not sure why the R7800 can't push more, should be 260Mbps also, see next test.

  3. MBP wired to the ER-12 (via dumb gigabit switch), speed tests against Internet speed sites such as fast.com and speedtest.net
    Download: 260Mbps (max bandwidth from ISP)
    Upload: 260Mbps (max bandwidth from ISP)

  4. MBP via WiFi 5GHz next to the R7800 (link rate shows 1300Mbps), Linux server wired to the ER-12 (via a dumb gigabit switch). Using iperf3.
    TCP (from the perspective of the MBP wifi client):
    up: 650-700Mbps
    down: 550Mbps <-- why is it a lot lower than up?
    UDP (from the perspective of the MBP wifi client):
    up: 830Mbps (this is pretty impressive)
    down: 520Mbps <-- why is it a lot lower than up and lower than TCP?

  5. MBP via WiFi 5GHz next to the R7800 (link rate shows 1300Mbps), speed tests against Internet speed sites such as fast.com and speedtest.net
    Download: 260Mbps
    Upload: ~160Mbps <--- does not even match wired upload from the test above

Out of curiosity, I tried the CT firmware that comes with the build above which seems to be firmware-5-ct-full-community-12.bin-lede.019 Not seeing much of a difference from above, just perhaps more jitter, the speed tests don't seem as smooth, tiny zig-zag line rather than flat.

1 Like

Hello, I'm not sure what is going on with my setup. I tested 3 different builds yesterday. First, the stable 19.07.4, then the hnyman-master-r14935, and finally the NNS rebase R7800-20201111-MasterNSS.

I'm running gig connection, asymmetric 1000/25. Usually get ~940/25 wire out of the modem.

I'm just using a simple setup for testing before configuring the rest. Cable > Modem > Router.

For 5ghz wifi:
On the stable I was getting ~340 - 350 mb/s down.
On hnyman I got ~200-220
And on the NSS build I get only ~15-25

No software flow offloading used.

I ran the stable and hnyman builds with no changes to startup and no sqm. The NSS build I ran with no sqm and start up:

# Performance Governor
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor

# NSS Firewall Tweaks
iptables -D FORWARD -m physdev --physdev-is-bridged -j ACCEPT
iptables -I FORWARD 1 -m physdev --physdev-is-bridged -j ACCEPT

# Shape egress traffic to 20 Mbit with chained NSSFQ_CODEL
tc qdisc add dev eth0 root handle 1: nsstbl rate 20Mbit burst 1Mb
tc qdisc add dev eth0 parent 1: handle 10: nssfq_codel limit 10240 flows 1024 quantum 1514 target 5ms interval 100ms set_default

exit 0

Any ideas on what I should look into for getting my wifi speeds figured out?

I appreciate it.

Comment out the firewall tweaks (they don’t seem to be needed).

What does your wired speed and wifi settings look like (20mbps is really low - is your device on 2.4ghz by chance?)

Hey, I think I figured it out.

I restored back to factory. Then I did a clean install back to the NSS build and my speeds are back. I haven't applied anything at startup yet.

I don't know if it was some config or something that was being carried over after sysupgrade through openwrt and it just wasn't playing well?

Here are my results
5ghz_clean

1 Like

Oh, sry, the older one was already down, so I actually tested with: R7800-20201111-MasterNSS-sysupgrade.bin
Used factory settings, and enabled the performance governor, but still cant get more than 400-500 wired over WAN

Try speedtest to get max bandwidth. DSLreports is great for latency but doesn’t have the speediest servers.

fast.com too, but open the settings and save them to get both upload and download. Loaded and unloaded latency are good to know.

Hi, guys. I'm not technical so I'm here looking for help.

I'm trying to use cake and piece of cake on my R7800. I have one gig download and when I turn on SQM using cake, my download speeds take a huge hit. Down to 200MBps. When I use fq_codel and simplest, my download is around 500 down. Is there a switch I need to flip to have the same download speed as fq_codel?

I'm on wan,wan6 (eth0.2), 750000 is my traffic limiter. My CPU is on ondemand via startup/local. I already have A+ across the board via dslreports. Should I just be happy with fq_codel and simplest? I prefer to use cake and piece of cake. Thanks in advance.

Yes.
Cake is much more CPU intensive. CPU power in R7800 will not be enough for 1 Gb/s traffic with cake.

Not sure if you need anything to manage download at all. Usually the upload is more limited and is the possible bottleneck. You might try leaving download unmanged and just manage upload.

1 Like

Hi everybody, can someone summerize the situation? some posts are very old.
The best solution about this may stay in the first and updated post.
I will replace/link this summary in this general collection topic I'm building about r7800
@ hnyman: some optimization are o are not included in you last firmware?
Thanks a lot!!!

ps: I have both a r7800 with actually hnyman firmware (stable branch) and a gigabit line. I can make tests, just ask me (and explain how to do them:D)

Their age doesn't invalidate the information, the situation is still exactly the same as it was 3 years ago. The hardware hasn't changed either, just the availability of >>100 MBit/s WAN connections has increased sharply.

Hi slh, I explained bad.
I just mean that, on one hand, some posts may contain problems, tests and/or solutions that are outdated because of the introduction of new openWrt release; other posts, on the other hand, contains or checked solutions that everyone should apply or unsolved problems.
So, a summary (that should be placed in the first posts, if possible), may help everybody to jump and easily contribute to the hot posts/topics of the thread.
Maybe this is not possible, I understand.

Just an example. This:

echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor

Should always be been done? May be a fundamental step??

If you are running 500mbps or lower speed from your ISP the r7800 is a solid all in one. I’d just recommend CPU tweaks + software offloading. If you have quicker speed or are looking to maximize QoS speed - I’d use the NSS enabled builds.

  1. CPU + firewall software offloading: Performance governor or more aggressive ondemand settings will yield the best performance for max effort 5ghz wifi and NAT (I have both in my startup script for testing, on demand is commented out). Personally I’m using the performance governor:

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

# Ondemand Governor Tweaks
# echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
# echo 800000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
# echo 20 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
# echo 60 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
# echo 1000000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate

# Performance Governor
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor

  1. Interupts: I’ve tried a variety of combos. I’ve found that adjusting the interrupt CPUs makes the interrupt even-ness look pretty but doesn’t translate in to any major performance gains over the default. I run irqbalance and don’t worry about it.

  2. NSS enabled builds - activates the two hardware offloading NSS 800mhz CPUs and makes the r7800 capable of full line rate and ~900mbps NSS Fq_codel

3 Likes

Hi ACwifidude, if I undestand well reading your suggested links, you build already has everything ready for >500mbps (my need)?

Yep. Feel free to load my build and see what you think. You should just have to put the performance governor in the startup script and have good performance.

The NAT performance is impressive with the hardware offloading. I’m hooked. :sunglasses:

Now ... how do we get max performance and stability out of wifi in AP mode? :slight_smile:

I have tried the latest NSS build from ACWifidude and I cannot get more then 550 wired connection on speedtest on my Centurylink 1GB symmetrical connection.

All setting is default, added the performance governor on start up, added my vlan201 and my Centurylink PPPoE connection.

Any help will be appreciated?