Build for Netgear R7800

I hear that a lot, I assume it's the hardware acceleration making the difference although maybe you need some extra performance tweaks or packages installed as the difference seems a bit drastic... I'm sure someone far more knowledgeable than me will be along soon to help you diagnose the issues.

Not an answer, but perhaps an example (and a question) that might help you as you search for an answer.

On an r7500v2 (close but slower cousin of the r7800 - running openwrt but not @hnyman's build) I just reproduced your test using "iperf -s" on the AP (only) and "iperf -c ap.ip.addr" on an ubuntu client connected by 2.4 GHz (40 MHz width). i.e. I got ~28 mbps down and ~ 40 mbps up.

I then put iperf on an android phone, connected to 2.4 GHz, and repeated the test (same openwrt router, same cpu load and wifi traffic- which are near nile). I got ~55 mbps down. I didn't test up.

So why? I'm guessing you are about to respond with something like "but I'm using the same client and only changing the firmware on the router." Hold off on that and do some digging.

I don't know the answer, but I bet if I changed the firmware on my r7500v2 and repeated the test I could reproduce your result showing faster down to my ubuntu client.

It may also be that if I tweeked the configuration of my ubuntu client, I could get a faster download with openwrt. (I personally don't need to as those speeds exceed my isp connection, and when I transfer 100's of GB around my network I use a wire).

In other words, I suspect the client and router negotiate how fast they want to talk to each other and I have check the configuration of both to get to an answer.

You might have great wifi adapters and a really fast broadband connection so I understand that it could matter to you.

HTH and good luck.

EDIT: excerpt from here:

Blockquote
i found the cause, finally..it was in front of me the whole damn time, its the 40mhz/fat channel intolerant bit that some clients either force, or have the option to force it. thats what that setting does, make that client do ht20 only, BUT also tries to force the entire network on 2.4ghz to use ht20 as well. its an override, but "wide ht40" only setting, is also an override, 2 overrides clash & start fighting, somehow the client wins. i thought of this yesterday when i noticed the macbook online, the entire network was in ht20 only & had their uptimes reset + tx dma spam again. i know apple computers never do ht40 on 2.4ghz cause of apple's decision, but apparently THEY ARE BY DEFAULT FORCING 40mhz/FAT CHANNEL INTOLERANT. other clients such as the iphone/ipad/ipod touch, playstation4, wii-u, which are also ht20 only 802.11n devices, do NOT cause this problem & never did cause they dont force that stupid intolerant setting
...

If I had to guess you will find this is not your issue. You probably will find openwrt is the reason possibly due to a region setting limiting tx power.

Hi, I see there is a new ntfs driver called kmod-fs-antfs. Can it replace ntfs-3g?

I did come to the same decision. I tried 3 different clients (2 Android phones with Snapdragon 810 and 855 and one Thinkpad X250 with Intel WiFi). Even with only one Client connected, I can't get more than ~ 40 MBit. Last test my Android Phone was conncted with: 300.0 Mbit/s, 40 MHz, MCS 15, Short GI and I got 38 Mbit/s down.

I've also got an Linksys WRT1200AC lying around which I also put to the test. While this is a completely different SoC and WiFi Module, it has THE SAME bevavior.

So this doesn't seem to be related to ATH10K but rather OpenWrt itself.

Maybe try turning on packet steering and see what that does to speeds? I would suggest to try software flow offloading too but with only one device I don't think it would make much difference???

Here is a thread and some settings to compare with:

If you are consistently stuck at 300mbps create a thread in the installing and using OpenWRT. This thread is about hynman’s build - you’ll get more traffic and help in your own thread. :sunglasses:

1 Like

Already did that. And my problem is not 5 GHz, which works fine, but 2.4 GHz what I struggle with. I first thought it could be a problem with the R7800 but cross checked with a spare WRT1200AC which has the same behavior.

So it seems to be OpenWrt related.

BTW: The R7800 pushes around 100 Mbit/s on 2.4 GHz with HT20 on Netagear stock Firmware and only a max of 10-30 on OpenWrt. Even worse with a distance of a few meters.

2 Likes

I've had similar speed issues. Check the TX and RX rate for the problem wireless client on the Wireless page. On mine the TX rate is stuck on 24mbits for one client, an Intel 6235 card running on Windows. Works fine in Linux. Some interaction between the client and the firmware on the router causes it to negotiate a slow rate. Haven't figured out exactly why. Worked fine in 18.06.

Hello. I'm new to the hnyman build and have a couple questions. How do you set up network sharing of a usb drive? Second, I noticed there are some updates available in the software section. Is it safe to update those packages or no?

Thanks,
Glen

I've asked the same previously and was advised to use the sysupgrade option, do not update from within luci. I tried before asking and the base-files won't even install it breaks with error. You can update some packages, but system ones like base-files or kernel modules and such won't update, thus the sysupgrade path is the best imho in order to get consistent updates.

Just keep checking the main post and whenever the build you use has new release download the *sysupgrade.bin of it (not the *factory.bin) and apply it via luci web interface with keeping the config and it will reboot and be up and updated in minute or two. I've been doing that every weekend since so advised without any trouble.

I believe if you would want to utilise the in-built updates in web interface you'd have to be using official build not hnyman's.

Hope that helps;)

2 Likes

Thanks! I'll just do the sysupgrade.bin updates then. Can anyone help with setting up a network share? I'm not certain how to correctly get the network share ui added

OpenWrt wiki is full of that advice. Some/lots of discussion also in the forum here.

If you want to ask that in the forum, please open your own thread for that discussion.

Is your master build made from a snapshot build?
Trying to figure out if a master build is the same as a snapshot

Is your build the same as default openwrt with added packages or is it tweeked for the r7800?

Hello @hnyman,

So i did a build on a previous version of your openwrt modded firmware, all worked ok, and is working to date. I was about to make a new build for a newer version but i lost my ".config" with my custom packages (deleted the directory by mistake)...

Is there any way to extract that list from my currently running firmware? opkg list gets me all the packages i have installed, but do not correspond directly to that list that there is in that file....

Or if u just ran a sysupgrade from your latest build, could this cause issues later down the line? I removed some packages from your build (for instance wireguard which i don't use)... and added a couple of my own.

Thank you for your help.

You have got your terminology mixed.
"snapshot build" just means a build done by the OpenWrt buildbot automatically from the HEAD of a certain branch. There are snapshots for master, 19.07 and 18.06, although only master is normally visible for users as available downloads.

Usually "snapshot" in OpenWrt context means the build from the master branch, as people simplify things and overlook that snapshot are done also for other branches.

My builds are done from the HEADs of the master and 19.07 branches, so you can clasify them as snapshot builds.

It is not the default.
The main additions are listed in the first message of this thread. Please read that.

The full list of packages included and all source code changes made, are available in the download directory of each of my builds. Please look into those download dirs and see by yourself, what has been changed.

Depends a bit on your settings, but there is no copy of the .config recipe stored in the firmware.

My build settings cause the buildconfig to be stored in /etc:

# Include package list in build
CONFIG_INCLUDE_CONFIG=y

Package and config settings are in /etc/build.config and the git source repo pointers in /etc/build.feeds

If you have based your build on my build, you will have that list in the image.

The list contains also the config symbol changes, so it is better than opkg output. But as that list includes also the pulled-in dependencies, it contains a bit more stuff that the original recipe.

# Build configuration for board ipq806x/generic/DEVICE_netgear_r7800

CONFIG_TARGET_ipq806x=y
CONFIG_TARGET_ipq806x_generic=y
CONFIG_TARGET_ipq806x_generic_DEVICE_netgear_r7800=y
CONFIG_DEVEL=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUILD_LOG=y
CONFIG_BUILD_PATENTED=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_FLAGS=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_REGEXP=y
CONFIG_BUSYBOX_CONFIG_FEATURE_LESS_WINCH=y
CONFIG_DEBUG=y
CONFIG_DROPBEAR_ECC=y
CONFIG_IMAGEOPT=y
CONFIG_INCLUDE_CONFIG=y
CONFIG_LIBCURL_COOKIES=y
CONFIG_LIBCURL_FILE=y
CONFIG_LIBCURL_FTP=y
CONFIG_LIBCURL_HTTP=y
CONFIG_LIBCURL_NO_SMB="!"
CONFIG_LIBCURL_OPENSSL=y
CONFIG_LIBCURL_PROXY=y
CONFIG_OPENSSL_ENGINE=y
CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
CONFIG_OPENSSL_WITH_CMS=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_TLS13=y
CONFIG_PACKAGE_6in4=y
CONFIG_PACKAGE_6rd=y
CONFIG_PACKAGE_6to4=y
CONFIG_PACKAGE_NTFS-3G_HAS_PROBE=y
CONFIG_PACKAGE_adblock=y
CONFIG_PACKAGE_banip=y
CONFIG_PACKAGE_bcp38=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_ccrypt=y
...

Sysupgrade would likely work ok.
Serious problems might only arise if you did remove key packages like DNS, SSH, or changed the shell from ash to bash, or something like that, where your changed config would prevent the default system from working, as the default packages have been disabled and the required your packages would be missing.

Thank you for your promptly response.

I will try the sysupgrade over the weekend so if anything goes wrong i can reconfigure it all...

Hi,
I know this might not be what you're looking for, but I use some additional packages above the default build too, one of them being unbound and my config is set to disable isp dns and to redirect all dns to 127.0.0.1:5354 where unbound listens.

After sysupgrade of course this means I am left without internet access as I don't have unbound thus no name resolution thus I can't install it..

I use this script to work around it, I run it after the PPPoE connection is established:

#!/bin/sh
uci del dhcp.@dnsmasq[].server
uci add_list dhcp.@dnsmasq[].server='1.1.1.1'
uci commit
/etc/init.d/dnsmasq reload
opkg update
opkg install unbound-anchor unbound-control
uci del dhcp.@dnsmasq[].server
uci add_list dhcp.@dnsmasq[].server='127.0.0.1#5354'
uci commit
/etc/init.d/dnsmasq reload
opkg install $(cat /root/my_packages.txt)
/etc/init.d/adblock reload
/etc/init.d/miniupnpd restart

and I keep the packages I use above hnyman's build in root/my_packages.txt which gets preserved with config.

I guess it's not the most elegant solution but it works for me :smiley:

master-r13325-289c632425-20200521-ath10k-test

It is possible that the old mainline ath10k is usable again. I haven't tested it much yet, but at least no crash materialised quickly.

OpenWrt's wifi driver mac80211 was updated today to version equivalent of kernel 5.7-rc3 wifi, and the SWBA overrun errors seem gone at the first glance.

Relevant discussion also in the exploration thread a few weeks ago:
Netgear R7800 exploration (IPQ8065, QCA9984)

4 Likes

Hello,
i've not buildt your images for a while (couldn't risk to be without internet during lockdown lol) so today i've re-created the whole build environment and tried a build with some custom options.
Well, strange error for me
I fear i've set in menuconfig something conflicting between old and new kernel, but really can't imagine what.

(sorry i can't copy from my hyper-v debian cli :frowning:)

any hint?