Build for Netgear R7800

It worked like a charm, thanks for making the build.

Edit: what settings do you suggest I tweak, if any at all? Also I can’t seem to get consistently pass 150mbps on Wi-Fi 5ghz network. I have 300/10mbps internet plan. Any suggestions?

Hi! newbie question, yesterday installed OpenWrt 22.03-SNAPSHOT r19540-945b13e369 (R7800-owrt2203-r19540-945b13e369-20220711-1105-sysupgrade.bin).

In the Dropbox folder I can see what I think it may be some WiFi drivers

  • ath10k-ct-owrt2203-r19540-945b13e369-20220711-1105.ipk
  • ath10k-mainline-owrt2203-r19540-945b13e369-20220711-1105.ipk

Is it advisable to test those drivers?, which one should I test?
How can I install them?
In case of failure, how can I get back to stock drivers?

Thanks in advise!

unless you have special needs or incompatibilities, ath10k-ct (the preinstalled one) should be good enough.

1 Like

I'm in the process of investigation, but it appears that DNS fowarding quit working after upgrading to OpenWrt 22.03-SNAPSHOT r19540-945b13e369. I have been running AdGuardHome on 192.168.1.1:5353 for months without issue, but after this upgrade AdGuardHome will only display the router in the Top Client list rather than each individual client. Can anyone confirm/deny this? Thanks!

My kids (Apple devices) constantly complain about bad WiFi performance with DD-WRT. I'm giving this build (OpenWrt 22.03-SNAPSHOT r19540-945b13e369) a shot with the intention of enabling the non-CT version of the driver and firmware to see if that works better for the Apple devices.

Anyone have experience with whether or not the non-CT stuff works better with all the iCrap in my house? :slight_smile:

I just went through and tuned my R7800's wifi as much as I could on a 22.03 RC5 build, trying out both ath10k and ath10k-ct drivers, I found the CT drivers performed better. I managed to get ~670mbit/s average with iperf3 (UDP) on channel 36, 80mhz channel width with a 2x2 desktop client (realtek wifi, 866mbps) - that's not far off of what a lot of people get with wireless AX routers. The default ath10k-CT drivers performed slightly better latency wise on a fully loaded wifi connection for all my clients, I've read there's some bufferbloat related fixes in the CT driver that aren't in the ath10k driver. There's likely substantial wifi differences between dd-wrt and current openwrt builds, there have been many wifi related improvements in the last few releases, I'd suggest trying out the regular CT build first.

Thanks for the info, but I'm really less concerned with the absolute fasted speed and more concerned with rock solid reliability (steady, stable connections for all clients).

If DD-WRT allowed a method to swap to non-CT I'd have tested there. However, I'm assuming that using the CT driver & firmware would be pretty similar between the two distros which is why I'm jumping to OpenWRT non-CT right off the bat.

Thankfully I have 2 R7800's so I can swap back and forth between them quickly if I run into issues.

[NOTE: I just realized that this is not really related to this build by @hnyman so I will refrain from posting here on this topic going forward. Sorry about that!

Purely coincidentally to the above posts, I was looking at testing the non -ct driver and blob as I was also having issues with iDevices in my house. As such I compiled these notes for how to switch to the non -ct on hynman's build. I love this build for everything except the ct default, and after making this switch, the router is rock solid and iDevices also function very well. Victory! Hopefully this helps someone else who might not be familiar with the process.

It goes without saying that you cannot do this from a machine that is wifi-connected to the router. You need an ethernet connection as the wifi will be unavailable until the process is completed.

  1. Remove ct firmware blob and ct driver
# opkg remove ath10k-firmware-qca9984-ct
# opkg remove kmod-ath10k-ct
  1. reboot

  2. Install mainline firmware blob
    Get from here: https://downloads.openwrt.org/snapshots/packages/arm_cortex-a15_neon-vfpv4/base/
    This file: ath10k-firmware-qca9984_20220708-1_arm_cortex-a15_neon-vfpv4
    Upload the ath10k mainline firmware to /tmp via scp
    # opkg install /tmp/ath10k-firmware-qca9984_20220708-1_arm_cortex-a15_neon-vfpv4

  3. Install mainline driver
    From here: https://www.dropbox.com/sh/ew0gap0crn30wyk/AAAEdOEFW43HiJiNyF-uQTyBa/owrt2203-r19540-945b13e369-20220711
    This file: ath10k-mainline-owrt2203-r19540-945b13e369-20220711-1105.ipk
    Upload the ath10k mainline driver to /tmp via scp
    # opkg install ath10k-mainline-owrt2203-r19540-945b13e369-20220711-1105.ipk

  4. reboot

[Edit: Correcting typos, thanks zabolots]

1 Like

No need to manually download the firmware blob. Opkg can fetch it from the OpenWrt download repo.

My own example workflow in

1 Like

replacing via luci is easy - update pkg lists, under the installed tab, enter -ct in the filter box - write down the base names.

should be 2 -- remove both.
clear the -ct from the filter box;
under the available tab, find the base named ath10k versions - no '-ct'.
Install both.
Reboot.

I have done this multiple times over wifi to the router I'm working on -- everything is fine as long as you don't reboot before removing AND reinstalling both pkgs.

mmmv,
M.

1 Like

That doesn't work for private builds, as kernel option checksums required by the kmod in the OpenWrt download repo does not match the build.
Thatswhy I am providing the kmod as a download myself.

Sorry, I missed that detail.

I just tried recreating your build environment (using your latest 22.03 build) on a fresh Debian 11 installation, but at first it failed because rsync wasn't installed. Perhaps you want to add rsync to the prerequisites in your newBuildroot script? It is of course not a problem to manually install it (which is what I did), but I can't remember if I did that also the last time on my previous Debian machine (five years ago), or if it was in fact installed by default that time. At least now it seems to not be installed by default in Debian 11.

I have kept the prerequisite install list short and matching the needs of my own Ubuntu build hosts (semi-annual move to new Ubuntu). So, I am not really aiming for compatibility with various other Linux distros.

Ok, no problem. Your build, your rules. You may then want to specify that you are targetting a Ubuntu host in the first/second post in this thread, though.

And BTW, the rest of the process went smoothly also on Debian 11, the only hiccup was the need to install rsync, as mentioned.

I do that in the second post...

But I could maybe add that more clearly also to the script itself.

Ah, sorry. I read through the first posts to look for it, but I missed the part where Ubuntu is actually mentioned. Making it stand out a bit more is still a good idea, I think.

Am I correct in assuming that the R7800 (and others using the same chipset) is not going to be migrated to DSA in the foreseeable future?

@ansuel knows maybe best, but there has already been ipq806x DSA test builds for over a year, but the transfer is on hold, as there are apparently CPU performance constraints.

2 Likes

Thanks. I guess it might be merged some day, but clearly not for 22.03. Perhaps just as well, as migrating my old 17-installation will be easier if it is still swconfig. However, the IGMP snooping bug that I reported (and patched for my own use) still hasn't been fixed when using swconfig, but perhaps it would have worked with DSA, since the drivers are entirely different. This bug forces me to build myself, otherwise I could have used the official releases.