devnull.land

Miscellaneous bits and bobs from the tech world

Installing FreshTomato on an ASUS router using Linux

9/11/2021, 3:22:04 PM


I recently replaced my Ubiquiti AirCube-AC because I missed the sheer configurability of Tomato. It's been years since I used a router with this installed, but Ubiquiti's UI for the AirCube is fairly hobbled as it is a fairly new product, and as it is meant to be a "set it and forget it" device used more commonly by WISPs in rural areas (among other use cases).

After some light web research I discovered that Tomato by Shibby, a popular fork of the Tomato firmware, had been discontinued, and that he was now advocating FreshTomato, so after a quick donation to thank him for his work, I downloaded the appropriate build of FreshTomato for my router.

My first attempt was simply using the firmware update tool in the router interface, which failed spectacularly1. Some more light web research revealed that this was no longer an allowed way to upload a custom firmware.

So the appropriate steps follow, though proceed knowing that you are voluntarily voiding the warranty on the router.

How to install FreshTomato on an ASUS router

I have attempted these steps on the following routers:

  • ASUS RT-N12
  • ASUS RT-AC68U
  1. Download the appropriate firmware and extract the .trx file to a temporary folder (in my case, /tmp)
  2. Install tftp via the package manager of your choice (e.g. apt install tftp)
  3. Plug your computer into one of the router LAN ports
  4. Hold down the reset button on the back of the router and turn on the router. Continue holding until the power button begins to flash on and off.
  5. cd /tmp
  6. tftp to start tftp. These steps were taken from Chris Hardie's guide to recovering ASUS router firmware
    • tftp> connect
    • (to) 192.168.1.1
    • tftp> put freshtomato.trx (use the actual filename here)
    • Sent 22765568 bytes in 76.5 seconds
    • tftp> quit
  7. Make yourself a coffee, because you are advised to wait 5 minutes for the firmware to properly install.
  8. Power cycle the router.
  9. Log into FreshTomato by navigating to http://192.168.1.1 -- the default FreshTomato username and password is root/admin
  10. Clear NVRAM by heading to Administration > Configuration

From here, you should have a fully functioning ASUS router running FreshTomato.


Footnotes

1 Can you blame me? The first router I ever loaded Tomato on was the inimitable Linksys WRT54GL. Just gaze at the sheer beauty of this device... from its nauseating purple plastic exterior to its knobby little antennae. Good times.