PirateBox DIY OpenWrt
From David Darts Wiki
|Introduction You can now build a PirateBox with chat for under $US 35 using OpenWrt and a TP-Link Portable N router. Big thanks to Matthias Strubel for porting chat to the OpenWrt version of PirateBox. Thanks also to Christiane Ruetten for developing the original mkPirateBox package and David Morefield for developing the original tutorial for the TP-Link MR3020 build.
PirateBox will potentially run on most OpenWrt compatible routers. The following tutorials below are written specifically for the TP-Link MR3020 and the TP-Link 703R. With minor modifications, it is also possible to install PirateBox on a number of other wireless routers capable of supporting the OpenWrt firmware.
TP-Link MR3020 OR WR703N
You can now build a PirateBox with chat for under US$35. You can read more about OpenWrt on the TP-Link MR3020 here and OpenWrt on the TP-Link WR703N here. Also check out the PirateBox forum for more info and support. And of course you can read more about the PirateBox project here.
Stuff You'll Need
2. Set the toggle switch located beside the LAN/WAN port to WISP mode
3. Connect the router via ethernet cable to your computer and open a web browser to http://192.168.0.254
4. Enter the default username & password (admin & admin)
5. Navigate to System Tools > Firmware Upgrade and select the OpenWRT firmware
(Note: The WR703N firmware text is in Chinese - check out this Village Telco post for help navigating the menus).
6. After the upgrade completes, the system will restart
7. Telnet to the device:
8. Use the passwd command to set your login password - this will enable SSH:
9. Edit the network file with vi (vi cheat sheet):
NOTE: Your gateway (e.g. your home network) router's IP address should NOT be 192.168.1.1. For the example below, the gateway router's IP address is set to 192.168.1.11 (modify to fit your own network configuration).
The modified file should look like this:
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0' option type 'bridge' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option gateway '192.168.1.11' list dns '192.168.1.11' list dns '188.8.131.52'
10. Backup firewall config file:
cp /etc/config/firewall /etc/config/firewall.bak
11. Open the firewall config file:
Modify first 23 lines to look like this. Leave the rest of the file alone.
config defaults option syn_flood '1' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' # Uncomment this line to disable ipv6 rules # option disable_ipv6 1 config zone option name 'lan' option network 'lan' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' config zone option name 'wan' option network 'wan' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' option masq '1' option mtu_fix '1'
12. Enable wireless by modifying the wireless config:
Change Line 12 to:
option disabled 0
13. Power cycle the router by unplugging the AC power.
14. Connect the MR3020 to your gateway router (e.g. your home network router) with an ethernet cable and plug the power back in. Wait a couple of minutes until the router boots up. With your computer connected to your home network, try sshing into the router (Note: use the IP address you assigned in step 9):
15. Ping google to ensure your firewall settings are correct:
16. Add USB support to OpenWrt by installing and enabling the following packages:
opkg update opkg install kmod-usb-uhci insmod usbcore insmod uhci opkg install kmod-usb-ohci insmod usb-ohci
Next you'll need to install PirateBox on the router.
1. Connect your USB drive (formatted to FAT32 with only one partition) to the USB port.
2. Install the mkPirateBox package by issuing the following commands. (Note: you can install the non chat version of PirateBox by substituting the 0.2.5_all.ipk package below)
cd /tmp wget http://piratebox.aod-rpg.de/piratebox_0.3-2_all.ipk opkg update && opkg install piratebox*
NOTE: To install the "non chat" version of PirateBox, download and install this package instead:
cd /tmp wget http://cr.23bit.net/piratebox/piratebox_0.2-5_all.ipk opkg update && opkg install piratebox*
3. Unplug the ethernet cable and power cycle the device by unplugging the AC power cable for 10 seconds.
4. Restart the device and join the "PirateBox - Share Freely" network. Open any web page and you should be redirected to the PirateBox menu.
5. Begin sharing files and chatting!
You can remove or reinstall OpenWrt/PirateBox using the following procedure:
1. First, access the router via telnet or ssh and delete the "overlay" filesystem with:
rm -rf /overlay/*
2. Now "power cycle" the router by unplugging it and plugging it back in.
3. Next, connect the router's WAN port to the Internet and use the sysupgrade command. NOTE: If PirateBox isn't installed yet, skip the first two commands:
/etc/init.d/piratebox stop /etc/init.d/piratebox nodns sysupgrade -n http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin
More info about installing and recovering on the mkPirateBox GitHub page.
More info about building a serial port (useful for recovering a "bricked" router) for the TL-WR703N on TheVillageTelco wiki.
Enclosure and Power
If you're only planning to use the TP-Link router on AC power, you obviously don't need a special enclosure for it to house a battery and USB storage. However, given the router's small size and the fact that it runs on USB power (5V), it naturally lends itself to portability. There are lots of portable 5V power options for this type of device - for something slick and commercially produced, check out the TeckNet iEP380-II Universal USB Battery Pack or this IoGear mobile power station.
Or, if you'd like to assemble something yourself, you might consider this combination:
You can find the original tutorial for installing PirateBox (without chat) on the Buffalo WZR-HP-G300NH here. Please note that some users have had difficulty installing OpenWrt on newer versions of the Buffalo WZR-HP-G300NH router featured below. Please see these forum posts (1, 2, 3) for more info.