Not realizing this was a rather big task I decided to document my journey with each of the options I chose.
HARDWARE:
I have the following hardware
- Netgear r7000
- Linksys wrt54gsv4
- raspberry pi model b+
- xeon server (one with 2 Ether-nets another with only 1)
- 3com Airconnect Access point ($500 back in 2000, old but reliable. Reprogramming requires a serial port)
DDWRT + Chillispot
Project has not been updated. While looking for ubuntu setup help, most latest information dates back 2010 which is already 3 years after the last software release (2006/2007). Also the current DDWRT mentions problems with “chillispot” and the current builds v24.
DDWRT + Wifidog
no bandwidth restrictions by class
DDWRT + Hotspotsystem
Free account limited to 500 sessions per month
DDWRT + Worldspot
Free ticket system only limited to 2 mins
DDWRT + Sputnik
Free account offers no authentication
OpenWRT + CoovaChilli
CoovaChilli encourages to use a 2011 beta build of their firmware to replace OpenWRT (coovaap). There seems to be challenges with compiling the source onto some routers as well. Definitely a risky option considering how easy it is to brick a router just installing OpenWRT (on some routers). A simple typo in the startup scripts is all it takes to ruin your day here.
CoovaChilli on Ubuntu Server
As it turns out this option requires a 32bit OS due to a couple of issues.
CoovaAP in a WRT54g
Ran into problems getting port forwarding working. From the forms it appears that a problem was introduced a few revisions back and since then there was no documented solution. Not holding my breath for a fix to a beta router firmware that’s already 4 years old.
IPTables + php website
This is probably the ideal solution for me. I’m comfortable enough with iptables and I can completely rewrite a website to suit my needs (incorporating Microsoft Azure Active Directory or OpenID like Facebook/Google). This url will serve as my starting point. http://philallred.blogspot.ca/2012/08/captive-portal-using-linux-and-iptables.html. I might have more difficult time tracking usage but there are alot more benefits in the long run using this solution than relying on any existing software that have not been updated in years.