AdvancedTomato on the Linksys EA6700

Install AdvancedTomato firmware onto the Cisco Linksys EA6700

If you’re interested, you can read some background informaiton on how I came about AdvancedTomato.

15 minute upgrade video, step by step in real time.


When doing things on the firmware level there is always a possibility that something might go wrong and your router becomes bricked.

The long guide (for beginners)

  1. Download the AdvancedTomato firmware from the download page.

  2. Download the old stock firmware, FW_EA67001.1.40.166281prod.img from Linksys.

  3. Save anything you need internet for before you lose it, if this is the router you use for the internet.

  4. IMPORTANT: If your router is running firmware build version 172250 or higher you’ll have to downgrade to build 166281, as you can’t upgrade to AT from the newer versions. To do this follow the guide here.

  5. Check your router is running on build 166281.

    1. Login to the remote web interface. (default password is admin)

    2. Go to the Connectivity page, under “Firmware Update” it’ll show your build version.

      e.g. (Current Version: the bold part is the build version.

  6. Make sure to have nothing else plugged into the router but the one network cable you’ve got plugged into your computer and the routers Ethernet 1 port.

  7. Wipe the device’s settings; go to Troubleshooting then the Diagnostics tab, then it’s under the “Factory reset” link, “Reset”, or hold the reset pin for 30 seconds, then release and you should see all the network port lights, light up.

    Once the device is back up follow these steps;

    1. Tick that you’ve read and accepted the License Terms.

    2. Also tick “I want to skip Setup and configure my router manually”, click next, wait ~20 seconds while it figures out you have no internet, then click login.

    3. Login (default password is admin).

    4. Go to the Connectivity page, under “Firmware Update”

    5. Click on Choose File under the “Manual” heading.

    6. Select the old stock Linksys firmware image, FW_EA67001.1.40.166281prod.img

    7. Click Start and Yes.

  8. Once the device finishes its “upgrade” (at least 3 mins), log back in and upload the new AT firmware.

  9. Wait about 5 mins, then go to, if nothing loads, take the power out and plug it back in (reboot it), wait 5 mins, try the above link, wait a few seconds and the AT web UI should load.

    If it doesn’t, wait another 5 mins, if still nothing then abort, reset it (unplug power from router, push the reset pin, plug power back in, hold reset pin for 45 seconds, then let go, wait 5 mins and the stock firmware should be back), then start again from step 1.

    If you end up back on the stock Linksys firmware, start again and redo all the steps and check what IPs are assigned on your computer while the upgrades are happening (see below).

  10. Login, the default username/password is admin/admin.

  11. Finally “Erase all data in NVRAM memory (thorough)” in Administration > Configuration under “Restore Default Configuration”.

    This is very important, if you skip erasing the NVRAM the new firmware won’t hold.

  12. Click OK to the confirmation, and it’ll reboot. (~2mins)

  13. Login, go to Administration -> Scripts and paste in the 3 lines below on both the Init and Shutdown tabs, and click Save. This helps keep your router stable. (more info in the comments)

    for line in $(nvram show | grep =$); do var=${line%*=}; nvram unset $var;
    nvram commit
  14. Finally, change the default password.

  15. You’re done!

The quick guide (for advanced users)

  1. From the official Linksys firmware make sure you’re running on build 166281.

  2. Wipe the device’s settings.

  3. After reboot, “upgrade” to the official firmware, build 166281.

  4. Upgrade to AdvancedTomato firmware.

  5. “Erase all data in NVRAM memory (thorough)” in Administration > Configuration.

  6. Add the 3 lines from the link below to both Init and Shutdown tabs in
    Administration > Scripts

    for line in $(nvram show | grep =$); do var=${line%*=}; nvram unset $var;
    nvram commit


  • Read the comments for help if your WiFi goes down after a few days.

  • If after flashing AT and you reboot the router and end up back on the official Linksys firmware, try the steps again, but flash the official firmware twice, not just once, then flash AT and erase the NVRAM.

    Also check out chanz’s comment as he talks about it, as well as other comments.

Old firmware mirror

A mirror of the 166281 firmware has been hosted on my server in case Linksys takes down the link one day.

30/30/30 reset?

According to jago75, the 30/30/30 reset has no effect on ARM-based routers like the EA6700.

Why the double firmware install?

The steps for installing the Tomato firmware onto the EA6700 router are a little different than that of normal routers. It has 2 locations where it stores firmware, and if you try to install AdvancedTomato as per normal, it will just reboot back to the stock Linksys firmware.

This is why we first “upgrade” to the stock firmware (into the first location), then again with AdvancedTomato, into the second location, which is what it runs from by default. (at least this is my understanding)

Disbale all LED lights (except the Linksys logo)

In the Administration > Scripts page, put the following into the Init tab, save, and reboot.

sleep 10
et robowr 0x0 0x18 0x0
et robowr 0x0 0x1a 0x0

Some acronyms

AT = AdvancedTomato
AIO = All In One (has everything)
VPN = A cut-down version of the firmware with specific VPN support
OFW = Official Firmware, e.g. what originally come with the device
CFW = Custom Firmware, e.g. what we’re putting on the router (Tomato, DD-WRT, OpenWrt etc)
NIC = Network Interface Controller (the things where you plug the network cables into)


I am by no means an expert in flashing firmware, only done it a few times, first a Netgear router (DD-WRT), then a Linksys (DD-WRT), and now this Linksys router (AdvancedTomato), just thought I’d share this as I couldn’t find anything online on this specific router and Tomato based firmware, and didn’t have much success with my initial attempts.

Alternative name

Cisco Linksys Smart Wi-Fi Router AC 1750 HD Video Pro

Feel free to leave any feedback in the comments.

Change Docker data directory on Debian

Change Docker data directory on Debian

If you’ve installed Docker with the default settings on Debian, it will be storing Docker images, containers and volumes in /var/lib/docker, which will be an issue if you have /var on its own (usually small) partition.

After using Docker for a while you may start to run out of space on the /var partition, at which point you’ll need to either add more space to that partition, or relocate it to somewhere with more space.

Here are the steps to change the directory even after you’ve created Docker containers etc.
Note, you don’t need to edit docker.service or init.d files, as it will read the change from the .json file mentioned below.


  1. Edit /etc/docker/daemon.json (if it doesn’t exist, create it)
  2. Add the following
      "graph": "/new/path/to/docker-data"
  3. Stop docker
    sudo systemctl stop docker
  4. Check docker has been stopped
    ps aux | grep -i docker | grep -v grep
  5. Copy the files to the new location
    Optionally you could run this inside screen if you have a large amount of data or unreliable ssh connection.

    sudo rsync -axPS /var/lib/docker/ /new/path/to/docker-data

    Options explanation, check out the man page for more info

    -a, --archive             archive mode; equals -rlptgoD (no -H,-A,-X)
    -x, --one-file-system     don't cross filesystem boundaries
    -P                        show progress during transfer
    -S, --sparse              handle sparse files efficiently
  6. Start Docker back up
    sudo systemctl start docker
  7. Check Docker has started up using the new location
    docker info | grep 'Docker Root Dir'
  8. Check everything has started up that should be running
    docker ps

Leave both copies on the server for a few days to make sure no issues arise, then feel free to delete it.

sudo rm -r /var/lib/docker

Documentation / sources

Official docs

Docker GitHub issue item

Post this blog was guide was inspired b linuxconfig

Tested and working on Debian Jessie (8.7) with Docker (17.03.1-ce, build c6d412e)

Install AdvancedTomato on the Linksys E2500 v3

Install AdvancedTomato on the Linksys E2500 v3

Installing the AdvancedTomato firmware onto the Linksys E2500 v3

Linksys E2500 N600 Dual-Band Wireless Router
For more info on this router look at wikidevi or the manufacturer’s website.

For those of you that don’t know, AdvancedTomato is a fork from the Tomato by Shibby project, but with a much improved GUI frontend, and much easier to use.

I bought this one as it’s still a current model being sold which has AdvancedTomato support and is very cheap for what you get.

Disclaimer: When doing things on the firmware level there is always a possibility that something might go wrong and your router becomes bricked.


  1. Connect the router via an ethernet cable in one of the LAN ports (1-4), not the WAN port
  2. Login at
    username: admin
    password: admin
  3. Download the firmware from
  4. Flash this onto the router in the firmware upgrade tab
  5. Wait for it to reboot (1-5 mins)
  6. Once the router is back, go to and login
    username: admin
    password: admin
  7. Erase NVRAM (thorough) under Administration > Configuration
  8. Click ok to the confirmation, and it’ll reboot. (~2mins)
  9. Login again
    username: admin
    password: admin
  10. Change your login password and setup as desired


Inspired by Lindqvist blog post, which is about installing the Tomato by Shibby version on an older version of the E2500.

Dreamhost 40% off first year – promo

Dreamhost 40% off first year – promo

Dreamhost logo

Click one of links below to get either $50 (40%) or $25 (20%) discount on the first year of hosting with Dreamhost.

$50 off shared hosting (pay $69.40 for one year)

You will also get a free domain (which you’d get as a normal user signing up too)

I have been with with Dreamhost since 2007 and while occasionally there are small issues, on the whole my experience has been great over the years (this website is also hosted with them).

I get money from Dreamhost for referring you.
$47 for the $50 promo code and $72 for the $25 promotion