Piratebox on TP-Link MR3020

Thank you for visiting my site, please share with your friends and give me a +1 below. 


(Please leave comments below with suggestions of what else you would like to see or e-mail us using our Contact Page Thank you.)

What you will need: 

1. TP-Link MR3020 Portable 3G Router  <–(Click Link to Purchase from Amazon.com)

2. USB Flash Drive – The larger capacity the better (this is a 16gb Drive) 

3. Battery Pack designed to supply power via USB


Be Sure to check out the store to order yours today! 


ETA – (15 March 2012) – A Quick Note regarding the tutorials here and on Prof. David Darts page – I would like to point out that while Prof. Darts and myself achieve the same results with the MR3020, we are using slightly different configuration addresses in our installation instructions in order to get the same end result. If you are more of a novice at networking and are questioning which tutorial will get you a working Piratebox on your MR-3020, the answer is simple – by themselves, both his and my tutorial will give you a working model. Issues have arisen when people have tried to take his method and then refer to my method, they get stuck somewhere in between. My advice is to take his method only or try my method only, otherwise your network config will likely not work and you will be posting for help on the wiki. I hope this helps.

Download Firmware : http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin

Connect your MR 3020 to your computer via an ethernet cable. You should be able to log into the management console by navigating to Default Username and Password: admin

Go to “System Tools—> Firmware Upgrade” 

Flash Firmware with: http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin

Telnet to your device and set root PWD


You will then be prompted to enter password

In order for the following settings to work properly, your home router settings must be the following. If they are not, you will have to adjust them accordingly. 

Home Router Settings: 

Router address:


SSH into your router using Putty: 

It was brought to my attention that the default network config is 172 lines, the only lines you will need in order to get this to work are the following: 

ETA – (15 March 2012) – A quick note about using vi to edit your configuration files. When you use the command   “vi /whatever your filepath is” it will open that file so that you can see the current configuration. 

After making any necessary changes, if you simply ESC out of the editor, your changes will not be saved. Saving changes in vi is a deliberate action and requires you to WRITE and QUIT. 

Here is a list of some quick commands that ought to help: 

Hit “Esc” once you are finished editing and you should see a colon (:) followed by flashing cursor at the bottom of the editor. 

Then, you can enter one of the following – 

: wq   (This will Write Changes and Quit) 

:q    (simply quit)

:quit!   (quit and disregard any changes) 



Network Configuration for TP-Link MR3020

root@MR3020$ vi /etc/config/network


config ‘interface’ ‘loopback’

option ‘ifname’ ‘lo’

option ‘proto’ ‘static’

option ‘ipaddr’ ‘’

option ‘netmask’ ‘’


congfig ‘interface’ ‘lan’

option ‘ifname’ ‘eth0′

option ‘type’ ‘bridge’

option ‘proto’ ‘static’

option ‘ipaddr’ ‘’

option ‘netmask’ ‘’

option ‘gateway’ ‘’

list ‘dns’ ‘’

list ‘dns’ ‘’


config ‘interface’ ‘wan’

option ‘ifname’ ‘etho.1′

option ‘proto’ ‘dhcp’

option ‘gateway’ ‘’

option ‘netmask’ ‘’

list ‘dns’ ‘’

list ‘dns’ ‘’ 


Remember to “wq” to save changes anytime you use vi.

Open all ports on firewall in order to get out to the internet to get packages: 

root@MR3020$  vi /etc/config/firewall

Edit to ACCEPT all incoming and outgoing traffic. 

Do not uncomment any of the commented lines, it’s not necessary. 

It should look like this: 

Remember to “wq” to save changes!


By default wireless is disabled, enable wireless: 

$vi /etc/config/wireless


change “Disbaled 1″ to “Disabled 0″ 

Remember to “wq” to save changes!


Reboot and wait about 3 minutes. 

Plug the MR3020 into your local network via the network cable, it should show are being at if the above configuration worked. 

ssh into the device and try to ping www.google.com to verify connectivity. 

Once verified that you can get online through the MR3020, you will need to install a couple packages: 


$opkg update

Remember to “wq” to save changes anytime you use vi.

$opkg install luci

$/etc/init.d/uhttpd enable

$/etc/init.d/uhttpd start

Verify that you can now view a webpage by going to in your browser. 



opkg update

opkg install kmod-usb-uhci

insmod usbcore

insmod uhci    


opkg update

opkg install kmod-usb-ohci

insmod usb-ohci


Once this is complete, insert a FAT32 formatted USB ( for instructions on how to format USB to FAT32 in Linux, Formatting USB or HDD with Gparted using Linux )and continue: 

Install Piratebox to complete setup: 

$cd /tmp

/tmp$ wget http://cr.23bit.net/piratebox/piratebox_0.2-5_all.ipk

/tmp$ opkg update && opkg install piratebox*


Once the install is complete, verify that you are done by looking for a Wireless Channel called “Piratebox – Share Freely”. 

Connect to Piratebox via wifi and if you see the Piratebox page, you are done. 


Here is a Tutorial put together by Pabell on the PIratebox Forum. Pabell gave us permission to link his tutorial. If you are a windows user, this may help you out: Pabell’s Piratebox Tutorial for Windows Users



For more information on the Piratebox, please visit David Darts Wiki – Piratebox


Special thanks to David Darts for his hard work and vision for the Piratebox