Netgear R7800 exploration (IPQ8065, QCA9984)

think is ubuntu that changed something (as i used the same usb to load the live disto)

Try testing unbuffered reads.

tested again with the router and same result (different md5 )

root@No-More-Lag-Router:~# time md5sum /dev/sda
c9ac3cf180fff57ed95974734ac9d483  /dev/sda
real    8m 4.02s
user    4m 52.74s
sys     2m 7.07s

Noticed a SPECTRE countermeasures in QSDK, I think it will be useful to you
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=eggplant&id=6479300ccb33354dc1d7760c6817a93ce81fd7e7

Since some people have experienced that the R7800 crashes after receiving oversized frames (or what it thinks are oversized frames) I would like to point out that running kernel 4.19 fixes this for me. I've been running 4.19 for a couple of days now with @chunkeey's patch, and while I've had plenty of warnings in the logs about oversized frames there have been no crashes.

I wasn't able to compile an image with the latest kernel update, so the patch will need to be refreshed. This appears to be because of the following changes in 4.19.44.

The relevant file from which the logged error materialises:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/log/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c?h=linux-4.19.y

Two guesses about the fix in 4.19:

Neither of those commits has yet been backported to also 4.14

But sounds great if 4.19 would fix that error.

1 Like

I have an issue with cpu scaling. If I set performance scaling via ssh I get 900+ MB. However if I add it to etc/rc.local I only get around 500-550MB down even though ssh shows it's running in performance mode and cpu is max frequency. ondemand is also slower. What I added to etc/rc.local.
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor
Screenshots so you can get an ideah of what I mean.

Try this approach: Netgear R7800 exploration (IPQ8065, QCA9984)

1 Like

That did seem to help. Much easier than pushing ssh commands after every reboot or fiddling with the ondemand frequencies.

I seem to be unable to boot any firmware compiled after the kernel bump to 4.14.120 on my R7800.
I only get a blinking LAN1 led and orange power led with no network interfaces running.
https://github.com/openwrt/openwrt/commit/0f6b944c923537b9bc08da23f363b409d1e564b3 works fine.
Can anyone reproduce this?
I tested with both sysupgrade and tftp factory.
also, Iuci+uhttpd has been really unstable for me with it failing to handle maybe 50% of requests. Can never get a full system information page to load properly, and logging in takes 2 or 3 tries.

Update: It's the procd update commit, the latest one, https://github.com/openwrt/openwrt/commit/62940df3a9b6d5af2b33013efaf0bc72e5b23972

Kernel 4.14.120 (r10012-5c742c86ef) is running fine on my nbg6817.

I can confirm it is not booting for me either: r10086-62940df3a9.

I noticed the non-boot with my ar71xx build yesterday evening but did not yet investigate. Seems like the procd change affects targets widely.

Bug had been reported as
https://bugs.openwrt.org/index.php?do=details&task_id=2299

Edit
Possibly fixed with
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=6a92eb5b382860017fd00cd05350a648c4a4ac56
which changes procd with
https://git.openwrt.org/?p=project/procd.git;a=commitdiff;h=ade00ca585a49c8478bf60eb24ce385676be37a4

does anybody feel up to updating this for the current kernels?

Isn't already pushed?

No, those changes hven't been merged.

Still running the dev git patch for MiB counters (i've turned them off with swconfig too)
Quite nice uptime and no load avg.
09:50:52 up 57 days, 13:37, load average: 0.00, 0.00, 0.00

Only thing I've seen in the logs so far is that the official firmware crashed maybe 5 times but it's nothing I really noticed.

is this still relevant on current trunk:

echo 35 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor

both path don't exist on my device.

just upgraded my line to 200mbits and piece of cake cant keep up.
what is the most up to date script that tweaks performance for the R7800?

what's the meaning of it ?
Does it means layer 2 switching is processed by cpu ?

ls /sys/devices/system/cpu/cpufreq/
policy0  policy1
cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
performance

is performance governor set instead of ondemand?

with 200mbit plan here i have to use simplest.tbf or cake cuts my speed ~half