Installing Gargoyle As A Set Of Packages

<alertbox> WARNING: This document may contain errors which may result in damage to your router. USE AT YOUR OWN RISK. </alertbox>

inlinetoc_2_4 Note: Gargoyle is now based on Backfire and theoretically installing as a set of packages should work, but these instructions are likely out of date and may no longer work.

Introduction

Finally, if you have OpenWrt Kamikaze installed, it's very straightforward to install Gargoyle as a set of packages.

SSH into the router

Add Gargoyle Repository

SSH into the router and take a look at the /etc/opkg.conf file:

src/gz snapshots http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /jffs

You need to add a line to this file, and it will be slightly different depending on whether you have a broadcom or an atheros based router. You can tell by looking at the first line already in the file. In the file above the first line indicates that this is a broadcom router because it ends with /brcm-2.4/packages. If it were an atheros router it would end with /atheros-2.6/packages. If, as in the file above, you have a broadcom router, add the following line to the file:

src gargoyle http://gargoyle-router.com/packages/kamikaze0809/brcm-2.4 

If it's an atheros router, add this line:

src gargoyle http://gargoyle-router.com/packages/kamikaze0809/atheros-2.6 

Install Required Packages

Then run “opkg update” to update opkg with information about gargoyle. The router must be connected to the internet for this to work:

<shell> root@OpenWrt:~# opkg update Downloading http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/Packages.gz Connecting to downloads.openwrt.org (195.56.146.238:80) Packages.gz 100% |*| 130k 00:00:00 ETA Inflating http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/packages/Packages.gz Updated list of available packages in /var/opkg-lists/snapshots root@OpenWrt:~# </shell>

Before you begin installation on a broadcom router you should verify that you have ~800kb of free space available, or ~2.0Mb on an atheros router. That's how much space gargoyle, along with all of it's dependencies requires. Atheros requires so much more space because it requires libopenssl (which is HUGE) to enable WPA wireless encryption.

The next (and final) step is to actually install the packages. If you're running a broadcom router, especially one with lots of memory, this is very simple. Merely run “ipkg install gargoyle”

Install Gargoyle

<shell> root@OpenWrt:~# opkg install gargoyle </shell>

However, if you're on an atheros router there's a a chance you will run into a problem. Sometimes the opkg package manager crashes if you try to install too large a package (or a package with lots of dependencies) all at once (though it is much better than it's predecessor ipkg). This MAY also be an issue on some broadcom routers with small amounts of memory. The best way to get around this is to install all the dependencies, one at a time, before trying to install gargoyle. You can run these commands one at a time or put them into a shell script to run at once. Ignore the first three lines if you are running a broadcom router:

opkg install libopenssl
opkg install hostapd
opkg install wpa-supplicant


opkg install tc
opkg install kmod-sched
opkg install kmod-ipt-imq
opkg install kmod-ipt-filter
opkg install kmod-ipt-ipopt
opkg install kmod-ipt-conntrack
opkg install miniupnpd
opkg install ntpclient
opkg install uci
opkg install haserl-dev
opkg install qos-gargoyle
opkg install ddns-gargoyle
opkg install httpd-gargoyle
opkg install bwmon-gargoyle
opkg install gargoyle 

Final Check

… And that's it. You're done. Gargoyle should now be installed and accessible via the web interface at your router's ip address.

Trouble Shooting

If you still are having trouble getting the gargoyle packages to install because of memory issues, first try rebooting the router. Sometimes this frees enough memory to make the installation work. If that doesn't work consider trying to install from one of the full images as described below which do not rely on using OpenWrt's (terrible) package manager.