Build for Netgear R7800

Looks like that 160Mhz issue has been updated with a new fix: Update to latest ath10k-ct driver. · greearb/ath10k-ct@23c7461 (github.com)

I don't think the client isolation issue is related to DSA. I'm seeing the same problem on the master-r17554-da5bb885e1-20210922 build. Accessing other devices on same wlan and streaming to Chromecast are not working. Works fine when on separate SSIDs on the same subnet.

1 Like

Openvpn-OpenSSL is back up but its really fried on master. Had to move back to stable for the first time in a really long time.

Today I try some newest build say
r17554: broken my wireguard, missing SW package
r17548: broken PPPoE
back to r17520, everything looks OK!

Yeah, my bad.
There is a strange dependency change in LuCI with https://github.com/openwrt/luci/pull/5323/commits/d98935c45b7affde6b5323d87473ea82736a1335

which causes luci-proto-wireguard to be selected separately, instead of luci-app-wireguard pulling it in.

I will include it in the next build.
(and you can manually install luci-proto-wireguard in meanwhile)

1 Like

In general, there has been lots of core library and build tool changes, which has caused trouble for buildbot etc.

I have been postponing publishing the next build a bit, as the musl 1.2.2 C library also changes internal time handling to 64bit, and that hurts some apps a bit. e.g LuCI statistics new RRD database is not compatible with previous data. I have already fixed it partially (see https://github.com/openwrt/packages/pull/16703), but the final outcome of that discussion is still open.

EDIT:
Now there is master-r17625-fc050c7b53-20210926
luci-proto-wireguard included, and hopefully LuCI stats work to large extent. (but e.g. RRD dump would show wrong dates)

2 Likes

Looks like the problematic commit for chromecast etc. has been identified in this bug report FS#4052 : Chromecast discovery gets broken after netifd update (openwrt.org)

1 Like

This might be the fix netifd: update to the latest version · openwrt/openwrt@9c3b1d5 (github.com)

Anyone have a ping problem on LAN wifi? Ping's spiking every few seconds to 100ms~, then instantly drops back down only to repeat again.

I have another isolated guest wifi that doesn't have this issue with the only difference between the two is that I'm using PiHole and it's DHCP server for my private wifi.

Wifi settings are pretty much default besides changing the DHCP, password, and DNS.

Tested ping from router to phone, router to laptop, and phone to laptop with both 2.4GHz and 5GHz. 2.4GHz stays around 3ms and jumps to 30-40ms but that's quite normal. 5GHz on the other hand is shown below. This is all tested with the devices about 2 feet next to the router.

Not really sure what's going on.

root@OpenWrt:~# ping xxx.xxx.xxx.xxx
PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx): 56 data bytes
64 bytes from xxx.xxx.xxx.xxx:  ttl=64 time=91.415 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=114.852 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=36.301 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=58.712 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.688 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=4.740 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=28.024 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=49.735 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=72.834 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=97.493 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=17.842 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=41.133 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=63.638 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.641 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=110.892 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=32.025 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=54.107 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=77.809 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=99.721 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=22.019 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=2.350 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=69.199 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=91.598 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=115.031 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.824 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=60.884 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=84.350 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=107.683 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=26.076 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=50.300 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=73.416 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=96.970 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=17.843 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=40.301 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=63.047 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.604 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=111.315 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=30.590 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=52.422 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=76.494 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=99.487 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=20.496 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=43.833 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=67.020 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=90.503 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=114.310 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=35.029 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=58.511 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.383 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=105.059 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=2.849 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=48.185 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=71.219 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=93.967 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=13.538 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.298 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=59.542 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.916 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=106.031 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=25.685 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.379 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=72.079 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=94.895 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=14.459 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=38.176 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=60.638 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=85.063 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=107.587 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=30.435 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=53.479 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=74.709 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=99.467 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=18.197 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=42.623 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=65.388 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=88.631 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=4.163 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=33.963 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=56.082 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=79.204 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.863 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=23.998 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=47.116 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=71.399 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=94.506 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=15.529 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=38.928 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=61.684 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=84.881 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=108.337 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=28.821 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=52.393 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=74.413 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=97.001 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=18.883 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=41.846 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=65.512 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=88.822 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=111.688 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=33.040 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=56.469 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=79.997 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=103.986 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=25.594 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=49.019 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=70.546 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=93.297 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=13.932 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=39.850 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=60.842 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.834 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=105.498 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=24.966 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=48.379 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=70.859 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=95.311 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=13.447 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=34.337 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=58.380 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.450 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=103.845 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=131.495 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=131.804 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.251 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=59.811 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=13.404 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.863 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=59.893 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.481 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=106.715 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=27.934 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=48.683 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=71.764 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=95.785 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=14.894 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=39.038 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=61.173 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=85.033 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=105.308 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=26.414 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=5.112 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=72.798 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=96.049 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=17.062 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=40.702 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=63.376 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.991 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=110.627 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=33.400 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=55.929 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=79.694 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=103.120 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=23.258 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=45.551 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=68.032 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=88.539 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=111.993 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=34.606 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=58.391 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=81.143 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=103.342 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=22.307 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=45.720 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=69.864 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=93.448 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=14.182 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.706 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=61.330 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=84.809 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=104.600 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.131 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=51.519 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=75.327 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=95.871 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=19.703 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=43.389 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=66.758 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=90.362 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=111.936 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=33.429 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=56.711 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=79.883 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=104.221 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=22.149 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=45.860 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=71.387 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=94.245 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=15.619 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=40.237 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=59.734 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.884 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=109.946 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.324 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=54.360 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=79.976 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=101.433 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=22.406 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=46.424 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=69.916 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=93.424 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.623 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.306 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=60.478 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=82.978 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=106.184 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=25.649 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=49.460 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=72.509 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=96.723 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=15.719 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=39.205 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=63.267 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.074 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=107.064 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=28.311 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=49.304 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=4.783 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=95.316 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=17.280 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=40.741 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=63.484 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=86.386 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=109.162 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=30.389 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=53.643 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=77.171 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=99.848 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=3.872 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=42.927 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=66.861 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=89.738 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=113.601 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=30.754 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=57.569 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=80.356 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=103.214 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=24.002 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=47.301 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=71.263 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=93.905 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=15.029 ms
64 bytes from xxx.xxx.xxx.xxx: ttl=64 time=37.828 ms
^C
--- xxx.xxx.xxx.xxx ping statistics ---
242 packets transmitted, 242 packets received, 0% packet loss
round-trip min/avg/max = 2.350/60.996/131.804 ms

Which WiFi driver are you running? The default ath10k-ct or the mainline ath10k version? Your symptoms remind me of a similar experience I had with ath10k-ct. I keep trying both to see if there’s an improvement for my configuration but so far I prefer the old, mainline ath10k over the -ct variant.

Swapping out driver and firmware isn’t too hard on this build, so it’s an easy check to be made. Of course, you need some time to gain a difference in experience but that’s the easiest part :grinning_face_with_smiling_eyes:

I'm using the default ath10k-ct version, is there a difference between the two? Also shouldn't this affect my guest wifi as well if it's a driver issue?

I don't have experience with swapping out drivers, but from what I'm reading, it looks like I just have to change the xxx.config.init file like below and run the newBuildroot.sh to build both versions? Are there any prerequisites that I should be aware of before running the script, such as packages, os, etc?

# Mainline ath10k wifi firmware and driver instead of -ct
CONFIG_PACKAGE_ath10k-firmware-qca9984=y
# CONFIG_PACKAGE_ath10k-firmware-qca9984-ct is not set
CONFIG_PACKAGE_kmod-ath10k=y
# CONFIG_PACKAGE_kmod-ath10k-ct is not set

You can just download the ath10k mainline driver package *.ipk file from my builds' download dirs. Installing that *.ipk via opkg to change your driver.

(Note that you need to do "opkg update" first, so that the needed wifi firmware blob is then automatically downloaded by opkg)

If you want to build the router firmware by yourself, then the .config.init changes you quoted above, would be right.

I'm unable to install the package via the webUI, below is the error I got after uninstalling kmod-ath10k-ct and trying to install the ath10k-mainline-owrt2102-r16295-3a051a234a-20210924-2219.ipk after doing opkg update. Also my wifi still works when uninstalling the ct version?

I'm going to try to see if I can build the firmware myself.

Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-576e7117f44faca6d31d306d668ea910) for kmod-cfg80211
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-cfg80211 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-576e7117f44faca6d31d306d668ea910) for kmod-mac80211
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-mac80211 found, but incompatible with the architectures configured
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.143-1-576e7117f44faca6d31d306d668ea910) for kmod-ath
 * pkg_hash_fetch_best_installation_candidate: Packages for kmod-ath found, but incompatible with the architectures configured
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ath10k:
 * 	kernel (= 5.4.143-1-576e7117f44faca6d31d306d668ea910)
 * opkg_install_cmd: Cannot install package kmod-ath10k.

You can only install it to the exact same router firmware that was built at the same time (an dia now running in the router)

I was using R7800-owrt2102-r16295-3a051a234a-20210924-2219-sysupgrade.bin with it's ath10k-mainline-owrt2102-r16295-3a051a234a-20210924-2219.ipk file so I'm not sure why that didn't work.

I'm trying to build it myself but I'm a bit confused about the whole process.

  1. I downloaded the owrt2102-r16295-3a051a234a-20210924 folder and deleted the sysupgrade.bin file.
  2. I ran the R7800-owrt2102-r16295-3a051a234a-20210924-2219-newBuildroot.sh script which created the dl and owrt2102 directory.
  3. I ran make in this directory which opened the a gui with the configs selected which I just exited. Ran make defconfig and make again.

I'm not sure if I'm doing this correctly...

Did you read message #2 in this thread, about my build scripts...
Instructions are there.

Mb, I didn't realize you had step by step instructions posted as a second post. I only read the first post and the readme inside the buildscript folder and thought that was everything.

Starting with second netifd update (the link you provided) it is working again like a charm.

1 Like

The difference between the two drivers is that the mainline (original) ath10k version is no longer maintained. New chipset means new drivers, so development on those older versions are put on a hold. Although there are still some occasional firmware updates available on GitHub from someone who works at Qualcomm. The ath10k-ct version is actively maintained by Candela Tech, although by a single developer. They include different firmware versions too. This -ct driver variant gets added functionality which originally doesn't exist in the mainline ath10k driver variant (firmware is matched to support the added functionality).

I understand the reasoning from the OpenWRT devs to make the ath10k-ct variant the default over the mainline ath10k variant; less maintenance for OpenWRT devs since someone else is actively maintaining this driver (+ firmware). Issues can be posted on that -ct variant on GitHub, the developer actively responds to that. But AFAIK it's only one person working on that, so how much effort can be put in? Adding more functionality might also increase the number of issues where something breaks.

My experience so far is a lot more positive with the mainline ath10k variant of the driver. But as usual, milages vary. So many applications, so many devices, so many network set ups.... There are some with similar devices like mine, but have no problems with ath10k-ct (at least that they know of). But there are also some that have similar issues like I have with a similar set up.

This is also the beauty of OpenWRT; if you're interested, you can tailor, tweak, tune, optimize a lot. But, at the cost of a learning curve, time and some unhappy household members :sweat_smile:

1 Like

Incorrect, Qualcomm-Atheros is still actively maintaining the QCA9984 wireless chipset used in the r7800:

However that is not necessarily the case for all other chipsets supported by ath10k (QCA9980 comes to mind), neither does active maintenance necessarily imply bug free (wave1 and e.g. QCA9880-BR4A is often complained about). The issues with QCA9880-BR4A (as in archer c7-v2 (ath79) or bthub5a (lantiq)) stipulated the original wish for a 'better maintained firmware'.