Você está na página 1de 17

HOWTO: Install CoovaChilli on a

Raspberry Pi using Raspbian, FreeRADIUS


and MySQL
Introduction
I was in need of another project. I should probably just stop here...but I feel I need
to provide a rationale for doing this (mainly for myself or perhaps my wife because
of the time I put into these projects).
Anyway, here goes my (shabby) rationale.like many of you my wife and I get lots
of visitors who want internet access for their many devices while theyre staying
with us and because of this Im constantly giving out my wireless password. I have
a separate network for guests already that isolates them from my primary internal
network where my fileserver, etc, is located so guests dont have access to anything
important. To deal with this I could either take the easy route or the fun route. The
easy route: simply just change my wireless password on a regular basis or after
guests leavebut why do that when you could do it the fun way? Set up a wireless
hotspot and have a new project!
After youve gone through this, please feel free to modify and improve upon this
document.

The Intended Audience


The intended audience for this howto are people fairly new to linux and who have
purchased the Raspberry Pi as an educational tool. As such, I go into a fair amount
of detail so that the beginner can follow the steps and get to a working hotspot.
The beginner can then go back once it is installed and try to understand in more
detail what just happened.
Despite the focus being for beginners anyone can use this; there are likely a few
areas where the more advanced user may choose to deviate or do things a little
differently but thats what this is all about learning and having fun doing it.

An Overview of the Process

At a very high level the following are the steps required to take your fresh Raspbian
install to a working CoovaChilli-powered hotspot.
Step 1:

Install the required software.

Step 2:
Configure how your network is setup to get your WAN and LAN working
to support a hotspot.
Step 3:
Configure MySQL. This will be where you store your usernames and
any restrictions you will place upon any users, etc.
Step 4:
Configure FreeRADIUS. In this step we also need to configure
FreeRADIUS to work with MySQL so these two programs can work together.
Step 5:
Install and configure CoovaChilli. On the Raspberry Pi you need to
compile CoovaChilli from its source package and then install the resulting .deb file.
Once installed, well configure it to work together with the other installed software.
Step 6: Configure the firewall.
Step 7:

Set up your Access Point so your hotspot users can access it.

Step 8: Set up users and add restrictions

A Few Things First


There are a few things that require an honourary mention:

Obviously, you will need a Raspberry Pi Ive only tested this on a model B. I
havent tweaked the Pi in any way (i.e., no overclocking, etc). Its also
important to mention that Ive installed everything on my Pi. It is possible to
set this up on your router or on separate devices but this is beyond the scope
of this howto.
To make CoovaChilli work on any system you need to have two Network
Interface Controllers or NICs. Since the Pi only has one LAN port we need to
physically add another and in this case it is simple and inexpensive to use a
wireless dongle as our second NIC.
For the wireless dongle Im using the Edimax EW-7811un (however, check the
Raspberry Pi compatibility list for others). The only reason I chose this one is
that it was small and didnt require a powered USB hub to work but the
downside is it is slow.
The operating system I used was: 2013-07-26-wheezy-raspbian and it is
available to download at raspberrypi.org.
With the exception of a few packages which, Ill tell you about when we get to
it, I used the standard repository to download and install the required binary
packages (i.e., .deb files).
As a suggestion, before modifying any of the configuration files I would
encourage you to make a backup copy in case you need or want to go back

to them. For the most part the default configurations just work. You
obviously need to tweak them to your specific system but generally these are
fairly minor. If you want to have a more advanced set up then Ill leave that
to you to do further research.
A wireless router that is configurable to the required specs (defined below).
If you run into problems throughout this howto I would encourage you to run
the different programs in their debug mode to see what error is showing.
You will need to have root access to work through this process.
Some nomenclature: $ means a non-root user while # means a root user
The text editor Im using is nano as it comes preinstalled and is a fairly
lightweight basic editor that is easy to use and learn.
Create a root user as it will be required for this howto.
The following text, used throughout the document, means that you need to
enter this into the command line. So in keeping with the previous bullet lets
start by creating the root user:
$ sudo passwd root

The Steps
Step 1: Install the Required Software
The software you need to download and install in this section comes from the
repositories only. When we need to download and compile the source packages
well go through that in those sections. The only assumption at this point is that
you have a newly installed and working Raspbian command line with internet
access.
First, update the software that came with the standard install:
$ sudo apt-get update && sudo apt-get upgrade

Install the required packages used for building packages from source (well need
these later):
$ sudo apt-get install debhelper libssl-dev libcurl4-gnutls-dev

Install the packages well be using in conjunction with CoovaChilli:


$ sudo apt-get install mysql-server freeradius freeradius-mysql

A couple of points to make:

When installing MySQL you will be asked to enter a root password please
remember this as you will be using this several times throughout this FAQ.
During the installation process of FreeRADIUS there will come a point where it
generates Diffie-Hellman (DH) parameters the time it takes to compute
these is highly variable but typically this is a time to grab a coffee as it will
likely take a while.
With the exception of two packages (CoovaChilli and haserl) we now have
everything we need.

Step 2: Networking
The purpose of this section is to set up your network interfaces appropriately so that
one interface connects to the internet and the other interface is set up so that it can
be used by CoovaChilli to manage your hotspot clients.
As stated previously, CoovaChilli requires 2 NICs and therefore we need to setup our
networking for two NICs. In this case the assumption is that you have a wireless
dongle plugged in and recognized by your Pi that will serve as our second NIC.
Well set it up so your internet connection comes from the wireless dongle
represented by wlan0 and the wired interface (eth0) will be managed by
CoovaChilli. This is probably the simplest setup the reverse has other
complications that are beyond the scope of this howto.
$ sudo nano /etc/network/interfaces
Modify the file to look like this: (remember to back up your original file)

auto lo
iface lo inet loopback
# eth0 is the wired interface that will be managed by CoovaChilli
# The ip address listed below will be entered into the file /etc/chilli/defaults and
assigned to the variable # HS_UAMLISTEN=10.1.1.1 and the network address will be
assigned to $HS_NETWORK=10.1.1.0, HS_LANIF = eth0
# CoovaChilli isnt even installed yet so dont worry too much about this its more
for your information at this point and for reference when you look back to see how
everything fits together.
auto eth0
iface eth0 inet static
address 10.1.1.1

netmask 255.255.255.0
network 10.1.1.0
# The primary internet connection
# Given that wlan0 is the primary internet connection then later in the file
/etc/chilli/defaults we set the variable HS_WANIF=wlan0
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet dhcp
wpa-ssid YourSSID
wpa-psk YourPassword
Now we need to edit the wpa_supplicant.conf file:
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
The following set up assumes you are connected to your router using WPA/2-PSK
mode. I use AES as it is more secure and faster so I would strongly encourage you
to use it over TKIP. Add this to the end of the file:
network={
ssid=YourSSID
psk=YourPassword
proto=RSN
key-mgmt=WPA-PSK
pairwise=CCMP
auth_alg=OPEN
}
When youre done you can restart the networking service:
$ sudo /etc/init.d/networking restart
$ ifconfig
You should see that wlan0 has an IP address from your wireless router (confirm this).
You should also see that the eth0 interface has been assigned an IP address of
10.1.1.1. If this is not the case then reboot your pi (for whatever reason I had to do
this once for it to pick up the change strange).

Step 3: Configure MySQL


Weve already installed MySQL in step one so now were ready to configure it. This
is where youll need the MySQL root password you created during the installation of
MySQL.

For most of this howto you can save yourself time from typing sudo before every
command by switching to the root user.
$ su root
Create a MySQL database called radius:
# echo create database radius; | mysql u root p
OR, you can do this
# mysql u root p
mysql> create database radius;
mysql> quit
The reason I showed you this alternative is because when you want to come back
later to check, edit, update, delete, or what have you, the contents of the tables in
the radius database then its easier to do it the second way. The first way is simple
and efficient as youre only using one line but you will need to get familiar with
MySQL if you want to build on this howto.
Create the tables in the new radius database you just set up. For this step (i.e.,
schema.sql) you must be the root user even sudo doesnt work.
# mysql u root p radius < /etc/freeradius/sql/mysql/schema.sql
# mysql u root p radius < /etc/freeradius/sql/mysql/admin.sql

Create a user. This is a test user who will login to your CoovaChilli hotspot account
later.
# echo insert into radcheck (username, attribute, op, value) values (user1,
Cleartext-Password, :=, password); | mysql u root p radius

Step 4: Configure FreeRADIUS


The first step is to configure FreeRADIUS to use the MySQL database you just set up.
FreeRADIUS comes configured to essentially work out of the box; however, the
default setup is to use flat files rather than to use MySQL. Much of this section is
used to get FreeRADIUS to use MySQL. Oh yeah, the binary version of FreeRADIUS
that is installed from the repositories is version 2.1.12.
Now edit the main radius configuration file:
# nano /etc/freeradius/radius.conf
Uncomment the line:
$INCLUDE sql.conf

More edits to make MySQL work:


# nano /etc/freeradius/sites-available/default
This file is organized into sections of code and there are three sections you need to
modify. Find the following blocks of code and uncomment the sql line in each.
authorize {
sql
}
accounting {
sql
}
session {
sql
}
Now that we have FreeRADIUS configured to work with MySQL, lets test it to ensure
it is configured properly. First we stop the FreeRADIUS daemon.
# /etc/init.d/freeradius stop
Then restart FreeRADIUS in debug mode:
# freeradius X
At this point youll see reams of output filling up your screen. Whats important
here is to look at the end and check for a line that says Ready to process
requests. If you see that then great! If not then check the reams of output as it
will tell you where the error occurred. Check to make sure you didnt forget to
uncomment something or you didnt make a typo, etc.
Now that FreeRADIUS is processing requests we need to make sure it will
authenticate the test user you entered previously, that is, user1 with its associated
password. Open up another terminal (alt-F2 or if youre using something like Putty
then start a new session) and enter the following:
# radtest user1 password localhost 0 testing123
If all goes well, you should see output that says: rad_recv: Access-Accept packet
from host 127.0.0.1.. If not, check to make sure you added the user and
password correctly and that youve followed the correct sequence above to allow
FreeRADIUS to read the MySQL database.
Note: testing123 is the shared secret thats configured in
/etc/freeradius/clients.conf. This is typically shared between the router using the
WPA2 Enterprise setting and FreeRADIUS to authenticate each other. In our case it
authenticates FreeRADIUS and CoovaChilli.

Now you can close the extra terminal youve opened and in the first terminal hit
<ctrl-C> to stop freeradius in debug mode. Now restart the freeradius daemon:
# /etc/init.d/freeradius start

Step 5: Install and Configure CoovaChilli 1.3.0


In this section well compile and install two programs from source: CoovaChilli and
haserl. Lets begin with CoovaChilli.
Enter the /usr/src directory and download the following file:
# cd /usr/src
If you are installing this on an i386 system (and not a Raspberry Pi) then download
the following binary to make your life easier:
# wget http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb
Back to the Pithe first step is to get the source code from the CoovaChilli website:
# wget http://ap.coova.org/chilli/coova-chilli-1.3.0.tar.gz
On my system I calculated the sha256sum of this file to be:
ca24ac274340c65a8e7ff704e6866a04380a87c444f261ba84097f0bd1c162e8
coova-chilli-1.3.0.tar.gz
Its a good habit to check this to make sure your file is complete. On your system
simply do the following to get the sha256sum of your .tar.gz file:
$ sha256sum coova-chilli-1.3.0.tar.gz
Now compare your number to the one listed above. If the hashes are the same
perfect! If not, then you may want to re-download the file.
Once its downloaded and verified then unpack the file:
/usr/src # tar xzf coova-chilli-1.3.0.tar.gz
This creates a directory called: coova-chilli-1.3.0. Enter the directory:
/usr/src/ # cd coova-chilli-1.3.0
We are now ready to configure the source code. To do this change back to a nonroot user:
/usr/src/coova-chilli-1.3.0 # exit
As a normal user go back into the coova-chilli source code directory (if not already
in it):

$ cd /usr/src/coova-chilli-1.3.0
Now we can configure the source files with the following options. It looks
intimidating doesnt it! Note that the dashes preceding the tags below are double
hyphens ( --) not singles; those joining two words are a single hyphen.
/usr/src/coova-chilli-1.3.0 $ ./configure --prefix=/usr
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
--sysconfdir=/etc --localstatedir=/var --enable-largelimits \
--enable-binstatusfile --enable-statusfile --enable-chilliproxy \
--enable-chilliradsec --enable-chilliredir --with-openssl --with-curl \
--with-poll --enable-dhcpopt --enable-sessgarden --enable-dnslog \
--enable-ipwhitelist --enable-redirdnsreq --enable-miniconfig \
--enable-libjson --enable-layer3 --enable-proxyvsa --enable-miniportal \
--enable-chilliscript --enable-eapol --enable-uamdomainfile \
--enable-modules --enable-multiroute

Dont worry it will come to the end in a bit.and when it does you need to set the
compatibility level for debhelper otherwise youll get something like:
: No compatibility level specified in debian/compat
:The package will soon FTBFS; time to fix it!
:Compatibility levels before 5 are deprecated (level 1 in use)
Failing to set the compatibility level may result in a .deb file thats incomplete,
unstable or unusable. Therefore lets set the compatibility level to 9:
/usr/src/coova-chilli-1.3.0 $ echo 9 > debian/compat
Now we need to modify the /usr/src/coova-chilli-1.3.0/debian/rules file:
$ sudo nano /usr/src/coova-chilli-1.3.0/debian/rules
On line 54 of the file (close to the bottom) under install: build, we need to replace
the following line:
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
With:
$(MAKE) DESTDIR=/ install
This ensures the necessary files are put into /etc/chilli/ directory and not in the
directory specified in the original line. Failing to do this will cause an error.

Were now at the point where were ready to compile the source code into an
actual .deb file that you can install!
/usr/src/coova-chilli-1.3.0 $ sudo dpkg-buildpackage us uc
Now that you just hit enter, you can sit back and watch the Pi do some real work.
This takes about +/-20 minutes on my Pi (with no overclocking or tweaking). Once

finished, the resulting .deb file (including a few other files) will be located in the
/usr/src directory and will be called: coova-chilli_1.3.0_armhf.deb
Now we can install our new .deb file. Make sure you go up a level to the /usr/src
directory where the file is located.
/usr/src $ sudo dpkg i coova-chilli_1.3.0_armhf.deb
When this is finished youll be presented with the following options: (Just select the
default)
Configuration file `/etc/init.d/chilli'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D
: show the differences between the versions
Z
: start a shell to examine the situation
The default action is to keep your current version.
*** chilli (Y/I/N/O/D/Z) [default=N] ? N

You should now get an error that says:


Starting chilli: SIOCSIFADDR: No such device
eth1: ERROR while getting interface flags: No such device
This is okay. Chilli tried to start and since we havent configured it yet it failed.
Despite the error, this should be a happy moment in your progress.if youve never
compiled and installed a program from its source before give yourself a pat on the
back!
Now that were on a roll compiling our code from source lets do it once more. Lets
start by downloading the source code:
/usr/src $ sudo wget http://downloads.sourceforge.net/project/haserl/haserldevel/haserl-0.9.30.tar.gz
FYI, haserl is a light-weight program to create cgi web scripts.
Now unpack it:
/usr/src $ sudo tar xzf haserl-0.9.30.tar.gz
Calculate the sha256sum of this file and compare it to the one below.
$ sha256sum haserl-0.9.30.tar.gz
01f9f942c58beb8eb6acd7fdbc5fa32e9156a9b8630992def7eb5a48c5f04b50 haserl0.9.30.tar.gz

Enter the haserl directory:


/usr/src $ cd haserl-0.9.30
Configure the file (this time with no options so this feelswelleasy):
/usr/src/haserl-0.9.30 $ ./configure
Now we make and install the file:
/usr/src/haserl-0.9.30 $ sudo make && sudo make install
haserl should now be installed and well come back to it in a bit.

Now were ready to actually configure CoovaChilli. First we need to enable the
service so it will start. It is turned off by default. To enable it to start simply edit the
following file:
# nano /etc/default/chilli
Change the first line from a 0 to a 1:
START_CHILLI = 1
Okay, now were going to edit the main chilli configuration file:
# nano /etc/chilli/defaults
Note this is the file I referred to previously when we set up our networking. The first
few items were changing are to be consistent with whats in the
/etc/network/interfaces file.
HS_WANIF = wlan0

# From our /etc/network/interfaces file

HW_LANIF = eth0

# From our /etc/network/interfaces file

HS_NETWORK = 10.1.1.0 # From our /etc/network/interfaces file


HS_UAMLISTEN = 10.1.1.1
HS_DNS1 = 8.8.8.8

# From our /etc/network/interfaces file

# Set it to google because I know it works

HS_UAMALLOW = 10.1.1.0/24
HS_RADSECRET = testing123
to change this later.

# This doesnt need to change but you might want

# Youll just need to change it in


/etc/freeradius/clients.conf as well
HS_LOC_NAME = Guest AP
login page

# Change this to what youd like to appear on your

Step 6: Configure the Firewall


Our next step is to configure the firewall using iptables. CoovaChilli comes
preconfigured to do the heavy lifting for you but we do need to add a couple of
entries. Edit the following file:
$ sudo nano /etc/chilli/up.sh
At the bottom of the file add the following line:
iptables I POSTROUTING t nat o $HS_WANIF j MASQUERADE

Remember we installed haserl? Well now edit the following file and add the path to
haserl:
$ sudo nano /etc/chilli/wwwsh
Go to the line where it says:
haserl = $(which haserl 2>/dev/null) and replace it with:
haserl = /usr/local/bin/haserl
Were nearly done. We only have to restart all of our services. Now this doesnt
have to be done (its not Windows) but Id suggest rebooting to ensure all changes
are made.
$ sudo reboot
Once youve logged back into the Pi, you will need to start chilli.
$ sudo /etc/init.d/chilli start
Okay. Your CoovaChilli Captive Portal should now be configured and, if the stars are
aligned, working.
If you check ifconfig you should see a new tun0 interface this is a good sign.
$ ifconfig

Step 7: Setup your Access Point


To make CoovaChilli work, you need to turn you router into a bridge. I have dd-wrt
installed on my router so this is possible. You need to check your router to see if
you can do this on yours. In dd-wrt you need to do the following:
(a) Disable the DHCP Server
Under Setup: Basic Setup
DHCP Server

Disable

(b) Set your broadcast SSID


Under Wireless: Basic Settings
Wireless Network Name (SSID)
Wireless Channel

Auto

Your-Hotspot

(c) Disable the Security Mode


Under Wireless: Wireless Security
Security Mode:
(d) Disable the firewall
Under Security
Firewall Protection

Disabled

Disable

The physical setup of your router:


Plug the Ethernet cable from your Pi into a LAN port on your router (not the
WAN/internet port). Remember your wireless dongle should already be receiving
your internet signal.
Now lets test it.
From another computer wirelessly connect to the network you just set up. Start
your web browser and fingers crossed it should bring up the Coova login page. If
so, then great job! You now have your own wireless hotspot! Your (geeky)
neighbours will be jealous!
Remember you set up a test user called user1 with a password of password.
Enter those into the user/password fields. If all is successful you should be able to
access the internet through your hotspot. Now enter a non-existent user and
password to see if it fails it should. If both of these work then congrats!

Step 8: Setting Up Users and Setting Restrictions


Okay, what fun is a hotspot if you cant set up some restrictions!?
There are many restrictions you can set up for your users. Im going to show you
some of the basic ones but if youd like more complicated restrictions then Id send
you to google.
For the most part the user restrictions are managed and setup through FreeRADIUS
rather than CoovaChilli which means well be modifying our MySQL tables to set the
restrictions. Okay, so lets get started. Edit the following file:

$ sudo nano /etc/freeradius/radius.conf


Uncomment the line so it reads:
$INCLUDE sql/mysql/counter.conf

Now we will edit the following file:


$ sudo nano /etc/freeradius/sites-available/defaults
Within the authorize section of the file were going to uncomment sql; however,
depending on the restrictions you want to apply you must also add them to this file.
Were going to add four counters: noresetcounter, dailycounter, monthlycounter,
expiration. All but expiration are found in /etc/freeradius/sql/mysql/counter.conf
since expiration is a module.
authorize {
sql uncomment
noresetcounter add
dailycounter add
monthlycounter add
expiration add
daily uncomment this one
}
accounting {
daily uncomment
}

Now that weve modified this file we need to add some entries into the dictionary:
$ sudo nano /etc/freeradius/dictionary
Add the following lines:
ATTRIBUTE

Daily-Session-Time

3000

integer

ATTRIBUTE

Max-Daily-Session

3001

integer

ATTRIBUTE

Monthly-Session-Time

3002

integer

ATTRIBUTE

Max-Monthly-Session

3003

integer

ATTRIBUTE

Max-All-Session-Time

3004

integer

ATTRIBUTE

Max-All-Session

3005

integer

To deal with the expiration restriction we need to add some code:


$ sudo nano /etc/freeradius/sql/mysql/counter.conf
sqlcounter expiration {
count-attribute = "Acct-Session-Time"
counter-name = "Max-Allowed-Session"
check-name = "Expiration"
sqlmod-inst = "sql"
key = "User-Name"
reset = "never"
query = "SELECT IFNULL(TIME_TO_SEC(TIMEDIFF(NOW(), \
MIN(AcctStartTime))),0) FROM radacct WHERE \
UserName='${key}' ORDER BY AcctStartTime LIMIT 1;"
}

Now that weve got our system configured we can now proceed to add new users
along with restrictions:
If we want to add a new user called Sam with an associated password
SamsPassword we do the following:
# echo insert into radcheck (username, attribute, op, value) values (Sam,
Cleartext-Password, :=, SamsPassword); | mysql u root p radius
Now one of the benefits of using MySQL is that immediately after you added
Sam, you can now login as Sam without restarting any of your services.
You can add as many or as few (i.e., none) of the restrictions provided below to
any or all of your users. Add the desired restrictions to the appropriate users in
the MySQL database. Some examples follow:

Example 1:
This will set the maximum time that Sam can access the internet to 10800
seconds or 3 hours:
# echo insert into radcheck (username, attribute, op, value) values (Sam,
Max-Daily-Session, :=, 10800); | mysql u root p radius
Example 2:
The following will limit when user1 can logon to the internet. Note that user1
can only access the internet between 9.00am and 6.00pm in the example.
# echo insert into radcheck (username, attribute, op, value) values (user1,
Login-Time, :=, Al0900-1800); | mysql u root p radius

Example 3:
Sam is only allowed to be logged on the system once. If you set this to 2 then
Sam can logon to the system twice simultaneously. This prevents people from
sharing their user name and password with their friends and each of them to
login at the same time.
# echo insert into radcheck (username, attribute, op, value) values (Sam,
Simultaneous-Use, :=, 1); | mysql u root p radius
Example 4:
Sams access expires on August 1, 2013 at 8.00pm.
# echo insert into radcheck (username, attribute, op, value) values (Sam,
Expiration, :=, August 1 2013 20:00); | mysql u root p radius
Example 5:
Sam will be rejected no matter what.
# echo insert into radcheck (username, attribute, op, value) values (Sam,
Auth-Type, :=, Reject); | mysql u root p radius
Example 6:
Sam forgets to logout and therefore has an idle session and you want to
automatically log Sam off if the session is idle longer than 120 seconds:
# echo insert into radreply (username, attribute, op, value) values (Sam, IdleTimeout, =, 120); | mysql u root p radius
Note a couple things: the equal sign is an = sign and not a :=, the time is
listed in seconds and the entry is into the table radreply and not radcheck.

Example 7:
You want to limit Sams sessions to 10 minutes each. In other words, after Sam
has been logged in he will be automatically logged out after 10 minutes. If Sam
logs out and back in, he will get another 10 minutes.
# echo insert into radreply (username, attribute, op, value) values (Sam,
Session-Timeout, =, 600); | mysql u root p radius
See the note in example 6.

The final part which, is optional, is to get chilli to start at boot time. Edit the
following file:
$ sudo /etc/init.d/chilli

At the top of the file edit the section to match this:


### BEGIN INIT INFO
# Provides:
chilli
# Required-Start: $network
# Should-Start:
# Required-Stop: $network
# Should-Stop:
# Default-Start:
2345
# Default-Stop:
016
# Description: CoovaChilli access controller
### END INIT INFO
To get chilli to start at boot time enter the following command:
$ sudo update-rc.d chilli defaults
By the way, if you dont want chilli to start at boot time and youve entered the
above command already you can reverse it by entering the following:
$ sudo update-rc.d f chilli remove

By now you should have a working hotspot powered by CoovaChilli on your


Raspberry Pi. Please feel free to edit this document to improve on it as you see fit.
Enjoy!

Você também pode gostar