Antoine's Research: Difference between revisions

From WirelessAfrica
No edit summary
No edit summary
Line 5: Line 5:
== 1. Check out sources ==
== 1. Check out sources ==
* Check out meraka trunk
* Check out meraka trunk
* Check out: OpenWRT Kamikaze
* Check out: OpenWRT Kamikaze  
  $ cd ~
  $ svn checkout https://svn.openwrt.org/openwrt/trunk/ kamikaze/
  $ cd kamikaze/
  $ ./scripts/feeds update -a                # Checkout the extra packages
  $ ./scripts/feeds install <name_1> <name_2> # Creates the symlinks for the packages you like to install
  $ make menuconfig                          # Select your target, packages and other options. Only select the packages you need.
  $ make world
  -->> OR -->>
* Link to existing OpenWRT
* Check out SVN version of coova-chilli
 
== 1. Check out sources ==
* Check out meraka trunk
* Check out: OpenWRT Kamikaze
   $ cd ~
   $ cd ~
   $ svn checkout https://svn.openwrt.org/openwrt/trunk/ kamikaze/
   $ svn checkout https://svn.openwrt.org/openwrt/trunk/ kamikaze/
Line 47: Line 33:
* Edit: package/opkg/files/opkg.conf
* Edit: package/opkg/files/opkg.conf
   src packages http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel
   src packages http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel


== 3. Build Everything ==
== 3. Build Everything ==
* Run:
* Run:
   make
   make
= INSTALLATION AND CONFIGURATION FOR LINKSYS WRT54G(L) =
== 0. prepare router ==
* Handy:
  nvram set boot_wait=on
  nvram commit
  wget http://l-cube.artifactual.org.za/~antoine/firmware/openwrt-brcm-2.4-squashfs.trx -O - | mtd -e linux -r write - linux
  opkg update
  opkg install snmpd ; ln -s ../init.d/snmpd S70snmpd
== 1. flash router ==
* Run:
  wget http://l-cube.artifactual.org.za/~antoine/firmware/openwrt-brcm-2.4-squashfs.trx -O - | mtd -e linux -r write - linux
== 2.a. configure portal interface (when using wireless port for dev - DEPRECATE) ==
* Read: http://wiki.openwrt.org/OpenWrtDocs/KamikazeConfiguration/NonBridgedWiFi/
* Run:
  uci delete network.lan.type
  uci set wireless.cfg03c014.network=wifi
* Append: /etc/config/network
  config 'interface' 'wifi'
          option 'ifname' 'wl0'
* Run:
  uci set dhcp.lan.ignore=1
  uci set wireless.wl0.disabled=0
  uci set network.wifi.ifname=wl0
  uci set network.wifi.proto=static
  uci set network.wifi.ipaddr=0.0.0.0
  uci commit
  reboot
* Test:
  echo 1 > /proc/sys/net/ipv4/ip_forward
  iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE
* Append:  TODO
  echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> ???
  echo "iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE" >> ???
== 2.b. Configure router for B.A.T.M.A.N. (using lan port for dev) ==
* Read:
  https://dev.open-mesh.net/svn/batman/trunk/batman-adv-kernelland/batman-core/README
  http://open-mesh.net/batman/doc/RoutingVodoo
  http://www.blogin.it/check-batman.html
  http://trac2.assembla.com/nightwing/browser/trunk/etc/config/batman
  http://trac2.assembla.com/nightwing/browser/trunk/etc/config/batman_mode
* Run: (configure LAN interface)
  uci delete network.lan.type
  uci delete network.lan.gateway
  uci delete network.lan.dns
  uci set network.lan.ipaddr=192.168.1.1
  uci commit
* Run: (temmporarily disable firewall so we can get in to the WAN interface from my own lan side)
  iptables --flush
* Run: (OPTIONAL: configure WAN interface for a gateway mesh-node)
  uci set network.wan.proto=static
  uci set network.wan.ipaddr=192.168.20.200
  uci set network.wan.netmask=255.255.255.0
  uci set network.wan.dns=192.168.20.5
  uci set network.wan.gateway=192.168.20.1
  uci commit
* Run:                        (bring up WIFI interface)
  uci set network.wifi=interface
  uci set network.wifi.ifname=wl0
  uci set wireless.wl0.disabled=0
  uci set wireless.wl0.channel=5
  uci set wireless.cfg03c014.network=wifi
  uci set wireless.cfg03c014.mode=adhoc              # TODO - wtf is it with the numbers ?
  uci set wireless.cfg03c014.ssid=batman
  uci commit
  reboot
* Append: /etc/opkg.conf        (for some reason libpthread has gone missing from master)
  src packages http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel
* Run:                          (install BATMAN)
  opkg update
  opkg install kmod-batgat                          # gateway only
  opkg install batmand batmand-adv                  # TODO - how do we get the stable branch to install ?
  -->> OR -->>
  http://downloads.open-mesh.net/batman/stable/mipsel-kamikaze/batmand_0.3-current_mipsel-kk-elf-32-lsb-static.tgz
* Test: (on gateway mesh-node)
  # ifconfig wl0 10.0.10.1 netmask 255.255.0.0
  # insmod batgat
  # /etc/init.d/firewall stop
  # iptables --flush
  # iptables -t nat --flush
  # iptables -I FORWARD -j ACCEPT
  # iptables -t nat -A POSTROUTING -o eth0.1 -j MASQUERADE
  # batmand -g 100mbit -d 3 wl0
  iptables -t nat -A POSTROUTING -o eth0.1 -j MASQUERADE
  batmand -g 100mbit wl0
* Test: (on normal mesh-node)
  # ifconfig wl0 10.0.11.1 netmask 255.255.0.0
  # /etc/init.d/firewall stop        (rm /etc/rc.d/S45firewall)
  # iptables --flush
  # iptables -t nat --flush
  # iptables -I FORWARD -j ACCEPT
  # iptables -t nat -A POSTROUTING --source 192.168.0.0/24 -o gate0 -j MASQUERADE
  # batmand -r 3 -d 3 wl0
  iptables -t nat -A POSTROUTING --source 192.168.0.0/24 -o gate0 -j MASQUERADE
  batmand -r 3 wl0
  ifconfig eth0.0 0.0.0.0    # for portal
  /etc/init.d/chilli start  # for portal
* Configure: (gateway mesh-node)
  rm /etc/rc.d/S45firewall
  uci set network.wifi.proto=static
  uci set network.wifi.ipaddr=10.0.10.1
  uci set network.wifi.netmask=255.255.0.0
* Configure: (normal mesh-node)
  rm /etc/rc.d/S45firewall
  uci set network.wifi.proto=static
  uci set network.wifi.ipaddr=10.0.11.1
  uci set network.wifi.netmask=255.255.0.0
  uci set network.lan.dns=192.168.20.5            # TODO - LOSE
 
== 3. configure portal (coova-chilli) ==
* Read:
  !!! http://hotcakes.wiki.sourceforge.net/Coova+Chilli+JSON+Interface
  !!! https://help.ubuntu.com/community/WifiDocs/CoovaChilli
  http://daloradius.wiki.sourceforge.net/Chillispot+Integration
  http://coova.org/wiki/index.php/CoovaChilli/JSON
  http://coova.org/wordpress/index.php/2007/08/15/any-page-a-login-page/
* Run:
  opkg update
  opkg install kmod-tun
  opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/coova-chilli_1.0.12-1_mipsel.ipk
* AUTO * Edit: /etc/chilli/defaults 
  HS_WANIF=eth0.0    (gate0  for batman)
  HS_LANIF=wl0      (eth0.0 for batman)
  (HS_NETWORK=192.168.0.1/24 for batman)
  (HS_UAMLISTEN=192.168.0.1  for batman)
  HS_DNS1=10.1.0.1  (192.168.20.5)
  HS_RADIUS=192.168.20.225                         
  HS_RADIUS2=192.168.20.225   
  HS_ADMUSR=chillispot
  HS_ADMPWD=thechillispotsecret                     
  HS_RADSECRET=theradiussecret
  HS_UAMSECRET=theuamsecret   
  HS_UAMALLOW=10.1.0.0/24,192.168.20.0/24  (192.168.0.0/24, 192.168.20.0/24)
  HS_UAMSERVER=10.1.0.1                    (192.168.0.1)
  HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html  # redirects to HS_UAMFORMAT
  HS_UAMFORMAT=http://\$HS_UAMSERVER:\$HS_UAMPORT/www/index.html    # does JSON login
  HS_UAMSERVICE=http://192.168.20.225/cgi-bin/uam.pl                # Generates pap-password - Needs perl
* AUTO * Edit: meraka-portal/files/www/cgi-bin/uam.pl
  $uamsecret = "theaumsecret";
* AUTO * Edit: /etc/chilli/www/ChilliLibrary.js:296
  var logonUrl = chilliController.urlRoot() + 'logon?username=' + escape(username) + '&response='  + resp.response;
* Do on node:
  scp -r antoine@l-cube.artifactual.org.za:~/Projects/meraka/trunk/package/meraka-portal/files/* /
* Do on dashboard-server:
  scp -r antoine@l-cube.artifactual.org.za:~/Projects/meraka/trunk/package/meraka-portal/files/www/cgi-bin/* /usr/lib/cgi-bin
* Test:
  reboot
  #echo 1 > /proc/sys/net/ipv4/ip_forward
  #iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE
  ifconfig eth0.0 0.0.0.0 # (BATMAN)
  /etc/init.d/chilli start
  http://192.168.0.1:3990/json/status?lang=en
* Run:
  /etc/rc.d ; ln -s ../init.d/chilli S70chilli
== 3b. Integrate coova-chilli + B.A.T.M.A.N.
* Do:
  uci set network.lan.ipaddr=0.0.0.0
  uci set network.wifi.proto=static
  uci set network.wifi.ipaddr=10.0.11.1
  uci set network.wifi.netmask=255.255.0.0
== 4a. configure flatfile authentication (freeradius - running on dashboard server -> ubuntu JEOS) ==
* Read:
  !!! http://coova.org/wiki/index.php/CoovaChilli/RADIUS
  http://wiki.freeradius.org/index.php/FreeRADIUS_Wiki:FAQ#How_do_I_get_radius_to_pick_up_changes_in_the_raddb.2Fusers_file.3F
* Run:
  apt-get install freeradius
* Edit: /etc/freeradius/radiusd.conf:113
  pidfile = /var/run/freeradius/freeradius.pid
* Edit: /etc/freeradius/clients.conf
  client 192.168.20.0/24 {
    secret    = theradiussecret
    shortname  = meshportal
    #nastype    = other
  }
* Edit: /etc/freeradius/users
  $INCLUDE users.chilli
  DEFAULT Auth-Type := Reject
          Reply-Message = "Login attempt failed.",
          Fall-Through = No
* Create: /etc/freeradius/users.chilli
  chillispot    ClearText-Password := "thechillispotsecret"
  joe            ClearText-Password := "smith"
  guest          ClearText-Password := "guest"
                Session-Timeout = 300,
                Idle-Timeout = 60,
                WISPr-Bandwidth-Max-Up = 64000,
                WISPr-Bandwidth-Max-Down = 32000
  prepaid        ClearText-Password := "prepaid", Max-Prepaid-Session := 3600
                Reply-Message := "%{Session-Timeout} left %{User-Name}."
* Test:
  radiusd -X
  radtest chillispot chillispot 192.168.20.225 10 theradiussecret
  /etc/init.d/freeradius start
  kill -1 `cat /var/run/freeradius/freeradius.pid`
* Edit: /etc/group (Permissions)
  freerad:x:124:www-data
* Run: (Permissions)
  chmod -R g+w /etc/freeradius
* Run:
  copy over our custom radius users files&dir
== 4b. configure mysql authentication (freeradius - running on dashboard server -> ubuntu JEOS) ==
* Install:
  apt-get install libmysqlclient-dev
* Edit: /etc/freeradius/users (disable flat file user entries)
  . comment out users.chilli include and DEFAULT rule
* Edit: /etc/freeradius/sql.conf
  database = "mysql"
  server = "localhost"
  login = "radius"
  password = "radpass"
  radius_db = "radius"
* Edit: /etc/freeradius/sites-enabled/default
  authorize:152 -> sql
  accounting:344 -> sql
  session:369 -> sql
  post-auth:396 -> sql
* Edit: village-bus-radius/Makefile
  .set correct mysql username and password
* Run:  (create radius tables for mysql)
  make mysql
* Run:  (populate radius tables for mysql with defaults & test data)
  make mysql-populate
== 5. install meraka-* ==
  make package/meraka-widgets-compile V=99
  make package/index
  # scp ./build_dir/mipsel/meraka-widgets-0.1/village-bus-* root@192.168.20.200:/www/cgi-bin/
  opkg remove meraka-widgets 
  opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/meraka-widgets_0.1-1_mipsel.ipk 
  clear;opkg remove meraka-widgets;opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/meraka-widgets_0.1-1_mipsel.ipk

Revision as of 05:24, 13 November 2008


PREPARE DEVELOPMENT ENVIRONMENT

1. Check out sources

  • Check out meraka trunk
  • Check out: OpenWRT Kamikaze
 $ cd ~
 $ svn checkout https://svn.openwrt.org/openwrt/trunk/ kamikaze/
 $ cd kamikaze/
 $ ./scripts/feeds update -a                 # Checkout the extra packages
 $ ./scripts/feeds install <name_1> <name_2> # Creates the symlinks for the packages you like to install
 $ make menuconfig                           # Select your target, packages and other options. Only select the packages you need.
 $ make world
 -->> OR -->>
  • Link to existing OpenWRT
  • Check out SVN version of coova-chilli

2. Configure OpenWRT

  • Read:
 http://wiki.openwrt.org/OpenWrtDocs/Packages
  • Get some stuff from source:
 cd package ; svn co http://dev.coova.org/svn/coova-ap/packages/kamikaze/coova-chilli ; cd ..
  • Run:
 ./scripts/feeds install libnetsnmp
  • Select packages:
 Base->pthread
 Administration->meraka-widgets
 libnetsnmp
 coova-chilli
 ./scripts/feeds install batmand
 ./scripts/feeds install batmand-adv
  • Edit: package/opkg/files/opkg.conf
 src packages http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel


3. Build Everything

  • Run:
 make


INSTALLATION AND CONFIGURATION FOR LINKSYS WRT54G(L)

0. prepare router

  • Handy:
 nvram set boot_wait=on
 nvram commit
 wget http://l-cube.artifactual.org.za/~antoine/firmware/openwrt-brcm-2.4-squashfs.trx -O - | mtd -e linux -r write - linux
 opkg update
 opkg install snmpd ; ln -s ../init.d/snmpd S70snmpd

1. flash router

  • Run:
 wget http://l-cube.artifactual.org.za/~antoine/firmware/openwrt-brcm-2.4-squashfs.trx -O - | mtd -e linux -r write - linux

2.a. configure portal interface (when using wireless port for dev - DEPRECATE)

 uci delete network.lan.type
 uci set wireless.cfg03c014.network=wifi
  • Append: /etc/config/network
 config 'interface' 'wifi'
         option 'ifname' 'wl0'
  • Run:
 uci set dhcp.lan.ignore=1
 uci set wireless.wl0.disabled=0 
 uci set network.wifi.ifname=wl0
 uci set network.wifi.proto=static
 uci set network.wifi.ipaddr=0.0.0.0
 uci commit
 reboot
  • Test:
 echo 1 > /proc/sys/net/ipv4/ip_forward
 iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE
  • Append: TODO
 echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> ???
 echo "iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE" >> ???


2.b. Configure router for B.A.T.M.A.N. (using lan port for dev)

  • Read:
 https://dev.open-mesh.net/svn/batman/trunk/batman-adv-kernelland/batman-core/README
 http://open-mesh.net/batman/doc/RoutingVodoo
 http://www.blogin.it/check-batman.html
 http://trac2.assembla.com/nightwing/browser/trunk/etc/config/batman
 http://trac2.assembla.com/nightwing/browser/trunk/etc/config/batman_mode
  • Run: (configure LAN interface)
 uci delete network.lan.type
 uci delete network.lan.gateway
 uci delete network.lan.dns
 uci set network.lan.ipaddr=192.168.1.1
 uci commit
  • Run: (temmporarily disable firewall so we can get in to the WAN interface from my own lan side)
 iptables --flush
  • Run: (OPTIONAL: configure WAN interface for a gateway mesh-node)
 uci set network.wan.proto=static
 uci set network.wan.ipaddr=192.168.20.200
 uci set network.wan.netmask=255.255.255.0
 uci set network.wan.dns=192.168.20.5
 uci set network.wan.gateway=192.168.20.1
 uci commit
  • Run: (bring up WIFI interface)
 uci set network.wifi=interface
 uci set network.wifi.ifname=wl0
 uci set wireless.wl0.disabled=0
 uci set wireless.wl0.channel=5
 uci set wireless.cfg03c014.network=wifi
 uci set wireless.cfg03c014.mode=adhoc              # TODO - wtf is it with the numbers ?
 uci set wireless.cfg03c014.ssid=batman
 uci commit 
 reboot
  • Append: /etc/opkg.conf (for some reason libpthread has gone missing from master)
 src packages http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel
  • Run: (install BATMAN)
 opkg update
 opkg install kmod-batgat                           # gateway only
 opkg install batmand batmand-adv                   # TODO - how do we get the stable branch to install ?
 -->> OR -->>
 http://downloads.open-mesh.net/batman/stable/mipsel-kamikaze/batmand_0.3-current_mipsel-kk-elf-32-lsb-static.tgz
  • Test: (on gateway mesh-node)
 # ifconfig wl0 10.0.10.1 netmask 255.255.0.0
 # insmod batgat
 # /etc/init.d/firewall stop
 # iptables --flush
 # iptables -t nat --flush
 # iptables -I FORWARD -j ACCEPT
 # iptables -t nat -A POSTROUTING -o eth0.1 -j MASQUERADE
 # batmand -g 100mbit -d 3 wl0
 iptables -t nat -A POSTROUTING -o eth0.1 -j MASQUERADE
 batmand -g 100mbit wl0
  • Test: (on normal mesh-node)
 # ifconfig wl0 10.0.11.1 netmask 255.255.0.0
 # /etc/init.d/firewall stop        (rm /etc/rc.d/S45firewall)
 # iptables --flush
 # iptables -t nat --flush
 # iptables -I FORWARD -j ACCEPT
 # iptables -t nat -A POSTROUTING --source 192.168.0.0/24 -o gate0 -j MASQUERADE
 # batmand -r 3 -d 3 wl0
 iptables -t nat -A POSTROUTING --source 192.168.0.0/24 -o gate0 -j MASQUERADE
 batmand -r 3 wl0
 ifconfig eth0.0 0.0.0.0    # for portal
 /etc/init.d/chilli start   # for portal
  • Configure: (gateway mesh-node)
 rm /etc/rc.d/S45firewall
 uci set network.wifi.proto=static
 uci set network.wifi.ipaddr=10.0.10.1
 uci set network.wifi.netmask=255.255.0.0
  • Configure: (normal mesh-node)
 rm /etc/rc.d/S45firewall
 uci set network.wifi.proto=static
 uci set network.wifi.ipaddr=10.0.11.1
 uci set network.wifi.netmask=255.255.0.0
 uci set network.lan.dns=192.168.20.5             # TODO - LOSE
 

3. configure portal (coova-chilli)

  • Read:
 !!! http://hotcakes.wiki.sourceforge.net/Coova+Chilli+JSON+Interface
 !!! https://help.ubuntu.com/community/WifiDocs/CoovaChilli
 http://daloradius.wiki.sourceforge.net/Chillispot+Integration
 http://coova.org/wiki/index.php/CoovaChilli/JSON
 http://coova.org/wordpress/index.php/2007/08/15/any-page-a-login-page/
  • Run:
 opkg update
 opkg install kmod-tun
 opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/coova-chilli_1.0.12-1_mipsel.ipk
  • AUTO * Edit: /etc/chilli/defaults
 HS_WANIF=eth0.0    (gate0  for batman)
 HS_LANIF=wl0       (eth0.0 for batman)
 (HS_NETWORK=192.168.0.1/24 for batman)
 (HS_UAMLISTEN=192.168.0.1  for batman)
 HS_DNS1=10.1.0.1   (192.168.20.5)
 HS_RADIUS=192.168.20.225                           
 HS_RADIUS2=192.168.20.225    
 HS_ADMUSR=chillispot
 HS_ADMPWD=thechillispotsecret                      
 HS_RADSECRET=theradiussecret 
 HS_UAMSECRET=theuamsecret    
 HS_UAMALLOW=10.1.0.0/24,192.168.20.0/24   (192.168.0.0/24, 192.168.20.0/24)
 HS_UAMSERVER=10.1.0.1                     (192.168.0.1)
 HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html  # redirects to HS_UAMFORMAT
 HS_UAMFORMAT=http://\$HS_UAMSERVER:\$HS_UAMPORT/www/index.html    # does JSON login
 HS_UAMSERVICE=http://192.168.20.225/cgi-bin/uam.pl                # Generates pap-password - Needs perl
  • AUTO * Edit: meraka-portal/files/www/cgi-bin/uam.pl
 $uamsecret = "theaumsecret";
  • AUTO * Edit: /etc/chilli/www/ChilliLibrary.js:296
 var logonUrl = chilliController.urlRoot() + 'logon?username=' + escape(username) + '&response='  + resp.response;
  • Do on node:
 scp -r antoine@l-cube.artifactual.org.za:~/Projects/meraka/trunk/package/meraka-portal/files/* /
  • Do on dashboard-server:
 scp -r antoine@l-cube.artifactual.org.za:~/Projects/meraka/trunk/package/meraka-portal/files/www/cgi-bin/* /usr/lib/cgi-bin
  • Test:
 reboot
 #echo 1 > /proc/sys/net/ipv4/ip_forward
 #iptables -I POSTROUTING -t nat -o eth0.0 -j MASQUERADE
 ifconfig eth0.0 0.0.0.0 # (BATMAN)
 /etc/init.d/chilli start
 http://192.168.0.1:3990/json/status?lang=en
  • Run:
  /etc/rc.d ; ln -s ../init.d/chilli S70chilli


== 3b. Integrate coova-chilli + B.A.T.M.A.N.

  • Do:
 uci set network.lan.ipaddr=0.0.0.0
 uci set network.wifi.proto=static
 uci set network.wifi.ipaddr=10.0.11.1
 uci set network.wifi.netmask=255.255.0.0


4a. configure flatfile authentication (freeradius - running on dashboard server -> ubuntu JEOS)

  • Read:
 !!! http://coova.org/wiki/index.php/CoovaChilli/RADIUS
 http://wiki.freeradius.org/index.php/FreeRADIUS_Wiki:FAQ#How_do_I_get_radius_to_pick_up_changes_in_the_raddb.2Fusers_file.3F
  • Run:
 apt-get install freeradius
  • Edit: /etc/freeradius/radiusd.conf:113
 pidfile = /var/run/freeradius/freeradius.pid
  • Edit: /etc/freeradius/clients.conf
 client 192.168.20.0/24 {
   secret     = theradiussecret
   shortname  = meshportal
   #nastype    = other
 }
  • Edit: /etc/freeradius/users
 $INCLUDE users.chilli
 DEFAULT Auth-Type := Reject
         Reply-Message = "Login attempt failed.",
         Fall-Through = No
  • Create: /etc/freeradius/users.chilli
 chillispot     ClearText-Password := "thechillispotsecret"
 joe            ClearText-Password := "smith"
 guest          ClearText-Password := "guest"
                Session-Timeout = 300,
                Idle-Timeout = 60,
                WISPr-Bandwidth-Max-Up = 64000,
                WISPr-Bandwidth-Max-Down = 32000
 prepaid        ClearText-Password := "prepaid", Max-Prepaid-Session := 3600
                Reply-Message := "%{Session-Timeout} left %{User-Name}."
  • Test:
 radiusd -X
 radtest chillispot chillispot 192.168.20.225 10 theradiussecret
 /etc/init.d/freeradius start
 kill -1 `cat /var/run/freeradius/freeradius.pid`
  • Edit: /etc/group (Permissions)
 freerad:x:124:www-data
  • Run: (Permissions)
 chmod -R g+w /etc/freeradius
  • Run:
 copy over our custom radius users files&dir


4b. configure mysql authentication (freeradius - running on dashboard server -> ubuntu JEOS)

  • Install:
 apt-get install libmysqlclient-dev
  • Edit: /etc/freeradius/users (disable flat file user entries)
 . comment out users.chilli include and DEFAULT rule
  • Edit: /etc/freeradius/sql.conf
 database = "mysql"
 server = "localhost"
 login = "radius"
 password = "radpass"
 radius_db = "radius"
  • Edit: /etc/freeradius/sites-enabled/default
 authorize:152 -> sql
 accounting:344 -> sql
 session:369 -> sql
 post-auth:396 -> sql
  • Edit: village-bus-radius/Makefile
 .set correct mysql username and password
  • Run: (create radius tables for mysql)
 make mysql
  • Run: (populate radius tables for mysql with defaults & test data)
 make mysql-populate


5. install meraka-*

  make package/meraka-widgets-compile V=99
  make package/index
  # scp ./build_dir/mipsel/meraka-widgets-0.1/village-bus-* root@192.168.20.200:/www/cgi-bin/
 opkg remove meraka-widgets  
 opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/meraka-widgets_0.1-1_mipsel.ipk   
 clear;opkg remove meraka-widgets;opkg install http://l-cube.artifactual.org.za/~antoine/firmware/packages/mipsel/meraka-widgets_0.1-1_mipsel.ipk