Maemo PirateBox

This manual explains how to turn your N810 or N900 Maemo device into a PirateBox.

In case you don't know what is piratebox go to David Darts page or here. Also, there are script called mkPirateBox for hardware router devices. I also found David's implementation for n900, however it requires custom kernel. This solution is much simpler and works with maemo default kernels.

Install web server

Basicly what we need is a web server and wireless-tools.

apt-get install wireless-tools
apt-get install lighttpd

I also edited the server's config file

vi /etc/lighttpd.conf

and changed document root directory to /media/mmc1/www

server.document-root = "/media/mmc1/www/"

put your website data there and start http server if it's not started.

/etc/init.d/lighttpd restart

Start access point

So, dnsmasq is available in maemo out of the box. It is a dns and dhcp server. As a root, start the following script:

#!/bin/bash
set -x
IFACE=wlan0
ESSID=welcome_to_norayrs_mobile_server #set this yourself
MYTEMPHOSTNAME=maemo
ADDR=23.23.23.23
NETMASK=255.255.255.0
ADDR_MIN=23.23.23.0
ADDR_MAX=23.23.23.255
INT=1

ifconfig $IFACE down
sleep $INT 
iwconfig $IFACE mode ad-hoc
sleep $INT
ifconfig $IFACE up 
sleep $INT
iwconfig $IFACE essid $ESSID
ifconfig $IFACE $ADDR netmask $NETMASK up

/usr/sbin/dnsmasq -i $IFACE -a $ADDR -I lo -z -d \
                  -x /var/run/dnsmasq.$IFACE.pid \
                  --dhcp-range=$ADDR_MIN,$ADDR_MAX,12h \
		  --address=/#/$ADDR \
		  --no-resolv

This is it, now anybody can connect to your access point and your personal PirateBox on your n900 or n810 running under maemo