Build for Netgear R7800

Like I already answered to your private message, you can't install kernel-related packages into private builds. There is a strict kernel options checksum check in order to prevent installing modules compiled with different kernel options, and possibly bricking the device.

1 Like

I bought one :sweat_smile:
Waiting anxiously to test your build :joy::joy:

Waiting anxiously to test your build
[/quote]I have published links to my test builds for WRT3200ACM in the mvebu CPU frequency scaling thread...

@hnyman, I have noticed that you are using f_codel/simple.qos for your build and not cake. I am seeing latency issues with cake, but f_codel is even a bit worse. And I am not using your build, but might try.

Yes. I generally leave all packages to their default settings, except that I correct a few hardware-specific things like e.g. the default interface for SQM.

SQM has HTB+fq_codel / simple as its default, so I leave it for that. Each user can then configure himself which qdisc he wants to use. Both HTB+fq_codel and cake are currently included by default in SQM, so it is only about toggling a config parameter in /etc/config/sqm

I give advice about that in the first message of this thread:

The main reason for the weak "simple" performance with HTB+fq_codel seems actually to be HTB, not fq_codel itself. It is also possible to use "simplest_tbf" that avoids HTB by using TBF but still normally uses fq_codel. That simplest_tbf performed much better than simple (at least with kernel 4.4).

Extensive performance comparison of codel and cake qdiscs in R7800 can be found e.g. from
A good summary maybe in

The adoption of HTB burst in SQM and the move to kernel 4.9 has since then helped HTB/fq_codel performance somewhat.

Thx, I will take a closer look at those links. In the meantime, your build includes irqbalance and I cannot find it in the standard LEDE to install. Am I doing it wrong?

If I install your build, will I be able to install other packages like samba, etc? I read that it I not possible with custom builds and went with the plain vanilla 17.01.1.

I have noted that you do not use a VPN client but does this firmware actually have a OpenVPN client built into it to use....?

Thanks for creating and sharing it :slight_smile:

[quote="fantom-x, post:106, topic:316"]
I cannot find it in the standard LEDE to install. Am I doing it wrong?
[/quote]I created the irqbalance package in the Packages feed repo in February, after 17.01 was already branched off, so it is not in the 17.01 officially. It exists only in the LEDE master snapshots (and my own 17.01 build).
Downloadable buildbot package for master:

Well, maybe I should backport the package to the official 17.01 branch so that the 17.01 release buildbot could build it. Generally new stuff is not backported to already existing stable branches, but I have been compiling it myself for 17.01 for several months now, without problems.

If you install my firmware, you should be able to install most normal apps. But in general you can't install new kernel modules. (I haven't tested samba, but I do not see any kernel dependencies in its Makefile so I guess you could install it.)

Yes, you can install samba:

root@LEDE:~# opkg install samba36-client
Installing samba36-client (3.6.25-5) to root...
Installing libreadline (7.0-1) to root...
Configuring libreadline.
Configuring samba36-client.

root@LEDE:~# opkg install samba36-server
Installing samba36-server (3.6.25-5) to root...
Configuring samba36-server.

I backported the irqbalance package to the 17.01 packages feed repo. Buildbot should build it in a day. Then it should be available with opkg also in 17.01.

No, I have not needed it myself, so I have not included it, yet. But I have several times considered adding it to the default build.

Note that my build includes kmod-tun, which is the only kernel dependency for OpenVPN, so it should be possible to install OpenVPN (the openvpn-openssl variant).

Yes, you can install openvpn to the build:

root@LEDE:~# opkg install openvpn-openssl
Installing openvpn-openssl (2.4.1-1) to root...
Installing liblzo (2.10-1) to root...
Configuring liblzo.
Configuring openvpn-openssl.

Will this package install into 17.01.1?

no. "for master"

Thanks for the information regarding the VPN client. When I unbox my newly arrived R7800 tomorrow I'll see what I can do. Not that bright though at things like that.

I was a little surprised to read that it doesn't contain the OpenVPN client as the router, being a dual core 1.7Ghz powered device, is going to be very capable of doing so and chosen by those who see its value in being used in that way.

There is no major reason to include it by default, as those who want it can easily install by themselves with opkg.

If I would try to include all possible "interesting" packages in my build, the size would grow quite much. LEDE has well over 1000 packages, so picking even the top 5% of packages would be over 50 packages.

But I try to include the necessary kernel modules in the build, so that most insteresting packages can be installed afterwards easily. kmod-tun is there mostly for possible openvpn needs (or aiccu, or other tunnel softwares).

But yeah, openvpn is a major app and something that might get included at some point.

I take your points made and appreciate the kernel modules added for ease of supplementing the firmware as required.

Maybe I'm a little biased but I can only see a VPN client being of value for more people these days, in respects of ensuring a degree of privacy etc.

Thank you very much for your effort; I will try it out once it is available. Any change your collectd-mod-cpufreq plug-in can be back-ported also?

@hnyman, I just pulled irqbalance, but I have not noticed any difference as per below. Do I need to do anything to activate it?

EDIT: Yes, I do have to run it and I am seeing it works. Do I still need to also move eth0/1 to CPU1 as per some suggestions in the other R7800 thread?

EDIT2: Does not look like I need to worry about eth0/1: irqbalance seems to be doing its job now. Thx for porting it.

cat /proc/interrupts 
           CPU0       CPU1       
 16:     257668     263442       GIC  18 Edge      gp_timer
 18:         33          0       GIC  51 Edge      qcom_rpm_ack
 19:          0          0       GIC  53 Edge      qcom_rpm_err
 20:          0          0       GIC  54 Edge      qcom_rpm_wakeup
 26:          0          0       GIC 241 Edge      29000000.sata
 27:       4657       3500       GIC  67 Edge      qcom-pcie-msi
 28:       9157      10479       GIC  89 Edge      qcom-pcie-msi
 29:     321187       1957       GIC 202 Edge      adm_dma
 30:     382174          0       GIC 255 Level     eth0
 31:       1930     237128       GIC 258 Level     eth1
 32:          0          0       GIC 130 Level     bam_dma
 33:          0          0       GIC 128 Level     bam_dma
 40:          2          0   msmgpio   6 Edge      gpio-keys
 88:          2          0   msmgpio  54 Edge      gpio-keys
 99:          2          0   msmgpio  65 Edge      gpio-keys
103:          0          0   PCI-MSI   0 Edge      aerdrv
104:       4657       3500   PCI-MSI   1 Edge      ath10k_pci
136:          0          0   PCI-MSI   0 Edge      aerdrv
137:       9157      10479   PCI-MSI   1 Edge      ath10k_pci
169:         12          0       GIC 184 Level     msm_serial0
170:          2          0       GIC 187 Level     1a280000.spi
171:       5674        486       GIC 142 Level     xhci-hcd:usb1
172:       4963          0       GIC 237 Level     xhci-hcd:usb3
IPI0:          0          0  CPU wakeup interrupts
IPI1:          0          0  Timer broadcast interrupts
IPI2:      47937      41739  Rescheduling interrupts
IPI3:          0          0  Function call interrupts
IPI4:     150672     241636  Single function call interrupts
IPI5:          0          0  CPU stop interrupts
IPI6:          0          0  IRQ work interrupts
IPI7:          0          0  completion interrupts
Err:          0

[quote="fantom-x, post:115, topic:316"]
Any change your collectd-mod-cpufreq plug-in can be back-ported also?
[/quote]Thanks for raising this question. You found a bug :wink:

The plugin should actually be available in the 17.01 branch. I build it for my own build from the normal github source repo without modification for both 17.01 aand master. However, for some reason it seems to be missing from the release download repo. It can be found e.g. in mvebu and x64 downloads for 17.01. Interesting.

I notice that it is also missing for master snapshots for ipq806x (arm_cortex-a15_neon-vfpv4). Very interesting.

Could this possible be due to the two-phase buildbot thing? collectd-mod-cpufreq is enabled only for x64, mvebu and ipq806x targets.

I realised a few days ago that arm_cortex-a15_neon-vfpv4 (used by ipq806x) apparently uses armvirt SDK in buildbot phase2 instead of ipq806x SDK. That is probably the reason why the plugin is not compiled for arm_cortex-a15_neon-vfpv4, as the SDK thinks that it is armvirt, not ipq806x.

This two-step buildbot build process can apparently cause sneaky errors :frowning:

I will enable the plugin also for armvirt.

I was actually very surprised to see cpufreq configuration in luci_statustics, but the plugin itself was nowhere to be found. Took some digging to trace it back to you. Hoping it will be available to download soon: it will complement the irqbalance package for troubleshooting.

I pushed the collectd-mod-cpufreq change to both master and 17.01. You should expect to see new collectd 5.5.3-3 version for 17.01 in a few hours, and the 5.7.1-6 version for master in a day or two. And hopefully that will include cpufreq also for arm_cortex-a15_neon-vfpv4

Did you mean I would need a new version collectd or were you referring to the cpufreq plugin?