Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Want to share your OpenWrt / Gargoyle knowledge? Implemented a new feature? Let us know here.

Moderator: Moderators

pythonic
Posts: 60
Joined: Mon Mar 11, 2019 5:47 am
Location: Australia

Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by pythonic »

7December2019: this build withdrawn - superceded by 1.12.0 build.

Download archive: gargoyle-1.11.x-ipq806x-experimental-opt.7z - NO LONGER AVAILABLE

This archive contains the images and packages generated from an experimental ipq806x target configuration for Gargoyle 1.11.x with non-standard compiler optimisation (-O2 rather than the default -Os). This optimisation change results in additional flash storage being required for the firmware and installed plugins/packages, however the routers for which firmware images are included have sufficient flash storage for this change to be unlikely to cause problems.

The source was from Gargoyle's git repository at commit 9998713.

Firmware images are provided for the following routers:
- Linksye EA8500
- Netgear D7800
- Netgear R7500v2
- Netgear R7800
- TP-Link Archer C2600
- Zyxel NBG6817

At time of writing the only image I have tested is the Netgear D7800 sysupgrade image, which was installed via the firmware upgrade function of the previously installed experimental Gargoyle v1.11.x firmware.

The router has now run for several days as my primary internet gateway behind a bridged VDSL2 modem with a PPPoE WAN interface. Both upstream and downstream QoS have been enabled as the upstream internet stream is subject to severe bufferbloat - which Gargoyle's QoS appears to be controlling
satisfactorily.

My testing has not been particularly comprehensive as my requirements are modest. In particular I haven't exercised the WiFi interfaces as I have no use for them most of the time.

With this configuration I have endeavoured to match the functionality configured for the Gargoyle mvebu target, which is the target with the most similarity to the ipq806x target in terms of hardware capability (e.g. CPU speed, available RAM and flash etc).

The archive includes the following subdirectories:
- built/ [contains all the packages built by the configuration]
- images/ [all firmware images generated]
- targets/ [configuration files for the ipq806x target]
The contents of the above subdirectories reflect the structure as built by Gargoyle's build script for the ipq806x default target.

All packages identified in the mvebu configuration with the configuration option "m" (i.e. "module", aka optional rather than included in the firmware image) have been included. As there is no current package repository available for the ipq806x target, my understanding is that desired optional packages will have to be installed by copying to the target router (e.g. by scp or WinSCP) and manually installing with the
gpkg command from an SSH session.


Performance tuning

The default CPU frequency management configuration and interrupt to CPU core assignment of the ipq806x SoCs inherited from the standard Linux kernel configuration isn't optimum for maximum throughput with Gargoyle (or OpenWrt on which Gargoyle is based). More information on this topic can be found in several OpenWrt threads (see https://forum.openwrt.org/t/r7800-performance/15780 and https://forum.openwrt.org/t/netgear-r78 ... ca9984/285) as well as in the 1.11.0 build thread (see
viewtopic.php?f=14&t=11988&start=20#p53775).

Note that the R7800 and NBG6817 (which have ipq8065 SoCs) have higher maximum frequencies than the other supported routers (which have ipq8064 SoCs) so please research the correct details for your router.

I hope that the more aggressive compiler optimisation used for this build will help raise the throughput limit of Gargoyle on these routers, although I expect the gain - if any - will only be minor. It may have more effect on some of Gargoyle's additional capability rather than network throughput.


Changelog

Withdrawn (7Dec19)
- superceded by 1.12.0 build

Build #2 (15Nov19)
- updated to git 9998713

Build #1 (30Oct19):
- initial build - git 4c123f4


Support...

There are always risks associated with flashing firmware, especially third party firmware, so please carefully consider your circumstances before attempting to install one of these images and be prepared for the possibility of failure and the potential for your router to become unusable (aka "bricked"). Neither I or the Gargoyle team can accept any responsibility for such outcomes.

Unfortunately I cannot practically support this experimental release - despite having been able to assemble a configuration and build several apparently usable firmware images, I lack a lot of knowledge about router hardware and have limited experience with Gargoyle itself and little knowledge of the details of its operation.

If you have a question about installing these images, please refer in the first instance to the relevant OpenWrt hardware page for your router as what is written there for OpenWrt applies to installing Gargoyle. You should consider installing OpenWrt before installing any of these experimental Gargoyle images; you should then be able to install the respective Gargoyle "sysupgrade" image via OpenWrt's firmware upgrade
function - all being well. If in doubt, don't attempt to install one of these images.

For questions specific to this experirmental build, please post a followup to the Gargoyle user forum thread in which this archive was announced and linked. You may get lucky with someone able to provide assistance.

If you have questions about Gargoyle's interface or general functionality, queries should be addressed to an appropriate section of Gargoyle's user forum.

Successful installations of these images should also be reported by posting a followup to this thread, so that Gargoyle's maintainers can evaluate whether there's enough interest in the ipq806x target for adding full support for
at least some ipq806x devices to future Gargoyle releases.


Good luck!
pythonic
Last edited by pythonic on Sat Dec 07, 2019 8:12 am, edited 3 times in total.

Maniac
Posts: 70
Joined: Wed Sep 02, 2009 7:52 pm

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by Maniac »

This is great timing... I might pick up an EA8500.

pythonic
Posts: 60
Joined: Mon Mar 11, 2019 5:47 am
Location: Australia

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by pythonic »

Build #2 available - sources updated to git 9998713.

Maniac
Posts: 70
Joined: Wed Sep 02, 2009 7:52 pm

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by Maniac »

Hi, I tried this (build 1) on my EA8500 that I just got, but the performance wasn't great (as you said). I only got 340 mbps. I get 600 with DD-WRT or with stock, so I'll be switching to DD-WRT as it has the features I want. Hopefully you can iron out the performance issues!

pythonic
Posts: 60
Joined: Mon Mar 11, 2019 5:47 am
Location: Australia

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by pythonic »

Maniac wrote:Hi, I tried this (build 1) on my EA8500 that I just got, but the performance wasn't great (as you said). I only got 340 mbps.

Thanks for trying it; sorry the performance isn't where you want it.

It would be helpful if you were able to fill in a bit more information:
- is the 340Mbps with QoS enabled? With ACC enabled?
- did you try any of the tuning approaches linked in the first post?
- if you have tried Kong's OpenWrt build, what was performance like with that (and with what QoS related settings)?

Maniac
Posts: 70
Joined: Wed Sep 02, 2009 7:52 pm

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by Maniac »

Thanks for your response! To be clear, if this issue were fixed I'd be using it.

340Mbps was with QoS Disabled - it was using "out of the box" settings. ACC Should have been disabled too, since QoS wouldn't have been enabled.

I did not. One was to enable Flow Offloading, but I don't see a setting for that in Gargoyle. The rest of them seemed pretty scattered so I'm not sure which ones to make, maybe it's just the ones at the bottom of that first thread?

I will try to give Kong's build a go, but I'll need to open the router back up again, lol. I can't seem to get flashing between firmware types to work without TFTPing to it.

RomanHK
Posts: 604
Joined: Sat May 04, 2013 4:18 pm
Location: Czech Republik

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by RomanHK »

For @Maniac
When measuring speed, try a command to list CPUs and processes:

Code: Select all

top
and paste the result here.
Turris Omnia with Gargoyle 1.12.0
Linksys WRT3200ACM with Gargoyle 1.12.0
TL-WR1043ND v2 with Gargoyle 1.10.0

pythonic
Posts: 60
Joined: Mon Mar 11, 2019 5:47 am
Location: Australia

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by pythonic »

Maniac wrote:One was to enable Flow Offloading, but I don't see a setting for that in Gargoyle.

I get the impression that Flow Offloading is at cross purposes with Gargoyle's QoS and bandwidth management infrastructure hence it being missing from the interface.

Maniac wrote:The rest of them seemed pretty scattered so I'm not sure which ones to make, maybe it's just the ones at the bottom of that first thread?

The CPU scaling governor settings used by @mlira1 are probably the most directly of interest. Note that @Mlira1 has an R7800 so the 1750000 in the last 2 lines of his code needs to be changed to 1400000 for your EA8500.

Maniac wrote:I will try to give Kong's build a go, but I'll need to open the router back up again, lol. I can't seem to get flashing between firmware types to work without TFTPing to it.

You should be able to flash between the OpenWrt family firmwares (OpenWrt - incl Kong's build - and Gargoyle) using the firmware upgrade function in the interface. Going back to stock or to DD-WRT though has to go the hard way :(

Maniac
Posts: 70
Joined: Wed Sep 02, 2009 7:52 pm

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by Maniac »

@RomanHK I will do that.

@pythonic, thanks! Yes... I'm on DD-WRT right now. This time I'm just going to leave the USB > serial cable hooked up when I put the router back together, lol.

Maniac
Posts: 70
Joined: Wed Sep 02, 2009 7:52 pm

Re: Experimental build of Gargoyle 1.11.x for ipq806x architecture routers

Post by Maniac »

@pythonic I finally got around to trying the change. Unfortunately, I don't think I can test this. I had gotten a new (used) modem and when I plugged it in I was getting 700mbps with my laptop directly plugged in. However, I had forgotten to tell Comcast about it and did the other day and now I'm only getting 360 directly connected to the modem. I wonder if it was using the old owner's plan or something (I was surprised I was getting 700mbps as my plan wasn't supposed to be that high).

So... with that tweak I'm getting 360 plugged into the router, but that's about what I was getting before the tweak (340); so I'm not sure how much it really helped.

On the bright side... I'm using Gargoyle now, since it's fast enough to saturate my link.

Post Reply