Experimental build of Gargoyle 1.11.x for ipq806x architecture routers
Posted: Tue Oct 29, 2019 9:06 am
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
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