How To Install and Upgrade Oleg’s Firmware on an ASUS RT-N16

This guide covers the installation and upgrade of Oleg’s firmware for the ASUS RT-N16 using firmware version (experimental). The recovery process is also documented should you need it.

It is based on Wengi’s HowTo for the ASUS WL-HDD ( Thanks Wengi!

Important: Do this at your own risk. I exclude any liability.

This HowTo is for newbies! Please post a comment if have any improvements or find any mistakes.

Why would you want to install Oleg’s Firmware? Check out the reported problems with ASUS firmware in this and other blogs/forums…

0. Preparation

You will need:

  1. A PC running Linux or Windows with a web browser
  2. Time. Allow around an hour for the first upgrade
  3. A copy of Oleg’s firmware – see below for download sites
  4. An internet connection for downloading the software and ASUS manual
  5. An installed copy of ASUS’s Firmware Restoration Utility
  6. A copy of the ASUS RT-N16 User Manual E4484 (Chapter 5 covers firmware restoration)
  7. A known good copy of the original or updated ASUS supported RT-N16 firmware

The last three items are only needed should your installation fail or if for some inexplicable reason you decide to go back to the ASUS firmware.
They are available from ASUS Support –

Note: Oleg’s firmware is more stable than ASUS firmware and is frequently updated. In order of update frequency, Oleg’s firmware is available from:
(nightly builds)
(choose the RT-N16 download)

Use the latest version and if necessary, extract the firmware. It MUST have the extension .trx.

As Oleg’s Firmware is being actively developed, there may come a time when new features of interest to you become available or bugs that have been annoying you are fixed. Check what’s changed at The specific code changes can be inspected at See section 4 for how to update Oleg’s Firmware.

1. Install firmware

NOTE: The Asus Firmware Restoration Tool will NOT install Oleg’s firmware. You need to flash the router via the Web Interface.

1.1 Save the RT-N16 configuration file to your PC via the web interface. You shouldn’t need it, but…
– Click on Advance Settings (Left Hand Side), and under the Administration heading, select Restore/Save/Upload Setting
– Save the RT-N16 configuration settings to your PC.

1.2 Turn off the RT-N16
1.3 If you have any USB devices connected, unplug them
1.4 Reset your RT-N16 to factory defaults for Web Interface access, i.e. user name:admin / password:admin
1.5 Turn on the RT-N16
1.6 Make sure your PC is connected to the RT-N16 via a wired connection, NOT wireless…
1.7 Browse to the router Web Interface and navigate to the upload page
– Click on Advance Settings (Left Hand Side), and under the Administration heading (middle bottom of page), click on Firmware Upgrade.
– Browse to your copy of Oleg’s firmware

1.8 Select the firmware (RT-N16- and click Upload. (This loads Oleg’s firmware into the router RAM, flashes, then reboots the router.)
1.9 After the reboot, browse to the Web Interface of the router and again per above, reset to factory defaults for Web Interface access
1.10 Again a reboot and your router now has Oleg firmware!

2. Router Configuration

NOTE: When changing settings, click on the Apply button to confirm your settings before leaving a given web page.
After your final Apply, click on the Finish button to permanently save your settings and force a router reboot.

Do the following in the Web Interface:
2.1 Under IP Config, check and adjust as necessary all your settings (WAN and LAN, IPv6, SNMP, DHCP Server, Route and Miscellaneous). Your previous settings should have been retained, if not, you can reload them.
– Under System Setup .. Setting Management .. Load from a File, browse to your settings saved above and click on Upload.
2.2 Enter an access name for your router (This will be the username used to gain access to the router via the Web Interface and SSH/Telnet. It’s a security feature the original ASUS firmware doesn’t have).
– Under System Setup .. Change Name

2.3 I recommend you disable telnet access if you had that enabled and enable SSH. Choose ‘Yes LAN Only’ for maximum security.
– Under System Setup .. Services
2.4 Check that the Firewall is enabled. Unless needed, set Enable Web Access from LAN and Respond Ping Request from LAN to ‘No’.
– Under Internet Firewall .. Basic Config
2.5 Change FTP, Samba, NFS
– Under USB Application
2.6 Change the password
– Under System Setup .. Change Password

If you have finished configuration, click on Finish, which will reboot the wireless router.

2.7 After the reboot, check you can log in using your new name and password.

You’re all done!

3. Firmware Recovery

Hopefully you won’t ever need to visit this section, but it is reassuring to know that if you have problems, you have an excellent chance of recovery.
3.1 Have Windows running
3.2 Disable the Windows Firewall
3.3 Turn off the router
3.4 Hold down the Restore button (you’ll need a pen or paperclip as the button is recessed)
3.5 Turn on the power and release the Restore button between 1 and 5 seconds after power on
The power LED should slowly flash (Other LEDS may also be on, depending on what is connected)
3.6 From your Windows PC, start the ASUS Restore Utility (From Start Menu ASUS Utility .. RT-N16 Wireless Router .. Firmware Restoration)
3.7 Browse to your copy of the ASUS Firmware file and click on Upload
3.8 Let the Utility work through the restoration process
3.9 Re-enable the Windows Firewall

If you make a mistake and are locked out of your router, hold down the router Restore button for more than 5 seconds. The Power LED will begin to flash. Release the restore button, the Power LED will stop flashing and you’ll find you will be able to get access to the router with the default name=admin/password=admin access.

4. Updating Oleg’s Firmware

This takes approximately 15 minutes (excluding the time to download or build a later firmware version).

4.1 Download a later firmware version and extract the .trx file if required
– you can of course build your own firmware version, but that’s a topic for another HowTo coming soon…
4.2 Save your router settings
– under System Setup, Setting Management, Save As a File and follow the instructions

4.3 Save Flashfs under System Setup
– under Flashfs Management, Save As a File
and follow the instructions
4.4 Restore the router to Default Settings
– under System Setup – Factory Default, Click Restore button
(this resets the NVRAM to default settings including username/passsword =admin/admin)
– Click on Services, click on Finish, then click on Save and Restart
4.5 Perform the Flash upgrade
– Click on System Setup, Firmware Upgrade

4.6 Change Name and Password
– under System Setup, Change Name – Save
– Change Password – Save
4.7 Restore your router settings
– under System Setup, Setting Management, follow the instructions under Load From a File
4.8 Save Your Configuration
under System Setup, click on Services, click on Finish, then click on Save and Restart

That’s it!

Thanks Oleg and the WL500g Project Team for the firmware. And thanks ASUS for releasing the RT-N16 firmware source code under GPL, so others can fix what should be ASUS’s responsibility. A pity that was necessary…



  1. Hi,
    Supose I am following same way you did before, because also mentioned as “stable” build of Oleg’s did provide almost nothing to wireless while sitting in the next room with son’s Dell XPS studio on the knees. Afterwards I returned back to ASUS genuine firmware, last official v. I was about to refuse of this version as initially excellent wireless speed dropped down during the day almost to nothing before.
    By the way at home we have an optic cable connection 100mb/s official, at speedtestnet- 89-97 in real as I checked yesterday being unhappy with my Assus.

    My friend who does not care on any USB things use DDWRT firmware on his WL500 ( very close to our Asus) and is happy enough.
    I probably will try to jump to Tomato next.
    1. Did you check your wireless connection. Mate “Gus” above reported problems with wireless also in Tomato.
    2. Could you please confirm if procedure you used was the same as described on TomatoUSB site, please:
    1. Use a wired connection only. (disable wireless to be in the safe side)
    2. Make sure you disable firewall in Windows.
    3. Disable the virus guard.

    Let’s Begin!

    1. Download and install Asus Firmware Restoration Utility. (Can be downloaded Here)
    2. Download and extract the K26-MIPSR2 Tomato USB Firmware. Extras or VPN version is up to you. With this router you might as well just go with the VPN version. (Get them Here)
    3. Connect your computer’s using network cable to one of the LAN ports of the Asus router. Manually set your computer IP address (in the TCP/IP properties of the LAN connection) to, network mask
    4. Plug in the router while holding the reset button on the back of the router. Keep the reset button pressed until Power LED starts blinking slowly. This puts the router in recovery mode, which is necessary to flash using the Asus Firmware Restoration utility. If you try using the restoration utility and the router is not in recovery mode or is not connected it will say, “No wireless device in recovery mode is found”.
    5. Run Firmware Restoration Utility which you installed in step 1. In Firmware Restoration browse for the firmware image you extracted in step 2 and click Upload. (Note: It’s likely that the Asus Utility will hang due to the fact that it attempts to verify the successful flash but it won’t be able to because the firmware is not Asus firmware. Mine hung at 33% and timed out. Everything still worked out fine though.)
    6. After the upload is complete open your browser, go to the router by typing, when prompted for a username and password enter “admin” for both. Go to Administration > Configuration > Restore Default Configuration, select “Erase all data in NVRAM memory (thorough)” and click OK. To insure that the processor has time to complete addressing all NVRAM variables it’s best to wait about 5 minutes before making any changes.

    You are now ready to start using your Asus router with Tomato.


    1. Don’t forget to change the password from the default one. (Administration > Admin Access > Password)
    2. Wireless is enabled by default with no security enabled. Be sure to update this before people start jumping on your network. (Basic > Network > Wireless)

    • valerima: Afterwards I returned back to ASUS genuine firmware, last official v. I was about to refuse of this version as initially excellent wireless speed dropped down during the day almost to nothing before.

      (as you can see, I put some plugins to make comments formatting, feel free to give me your feedback)

      Yes, official asus firmware is known for its bugs ; I spent some time analyzing it’s code and I was shocked. Speaking about manual you wrote, yes, it seems ok for me. What I can add is that I did all my firmwares upgrade via web ui, there was no need in asus restoration tool. It was important to avoid any interrupts of flashing, so I opened cmd line and did ping of router, i.e.:

      ping -t

      And start flashing, and watch how pings behave – it should stop responding (because of reboot) and once ping comes back I try to login to web ui. Not earlier 🙂

      • Thanx for the answer. I still did not did this as no complaints received for the moment.However on Linksys forum branch dedicated to TomatoUSB found one more advice.
        For installing Tomato I’ve followed 3 steps:

        1. The original firmware was reset to factory settings.
        2. Flashed with this dd-wrt version:…3500L.chk/3467
        3. Installed Tomato 1.28 – K26 with USB+VPN from P.S.: changed extension from chk to bin.

  2. Can someone please help me set up DynDNS on my Asus TR-N16 running Oleg (
    I’m a noob at this stuff but want to be able to ssh into my server box that is on my network.

    • HeroKid,

      Sorry, I have no Oleg firmware in my hands (I am on tomato). But it is very simple:

      1. Register free dyndns account at

      2. Find in router Web Page DynDns account properties, specify your user name and password

      3. Go to dyndns page and make sure you see IP of your router next to alias you choose

      4. Try to connect from external world using that alias

      Many people are confused thinking that dyndns is doing something special to allow external access. It is not like that. Even without dyndns you can connect to your router. For example, visit web page and remember your IP. Now, try to ssh to it. If you setup everything properly it should work.

      On DSL the IP is changing all the time, so in order not to visit each time you need it you can mape it to dns alias using dyndns 🙂

  3. I think I might just go with Tomato then. Which version should I use? I don’t really have any old (spare) USB drives lying around so I suppose either (Kernal 2.4) NoUSB Std or NoUSB VPN? Or should I go with an experimental build like 2.6? Thanks for all your help thus far.

  4. Ok I tried installing TomatoUSB Ext (2.6) as a .trx file using Oleg’s update page and I keep getting an error.
    “Firmware Upgrade Fail !
    Firmware upgrade fail. It may result from incorrect image or error transmission. Please check the version of firmare and try again.”

    What should I do differently to get it working?

  5. Install tomato or build 15962 from ddwrt
    1. ddwrt mini from ddwrt routters database corresponding to your router via web interface;
    It goes fine;
    2. Dwnload tomato- Victeks RAF is newer and better, but do not mind you can use also version proposed by Volodymyr. Just extract and rename .trx to .bin.
    3. From already flashed with ddwrt web interbase upgrade to chosen tomato.
    4. You will have to wait about 10 minutes, Router has lot of memory it takes a time for processor to digest everything.
    Wish you luck.
    I did this several times and it was fine for me.

  6. What is the consensus among RT-N16 users with custom firmware?

    I have been using oleg’s firmware and updating it periodically, about once a month. I still experience issues with wireless connectivity for N clients.
    Is Tomato a better firmware for reliable wireless performance?

    • Although I don’t have clients with N, I also had wifi issues on Oleg firmware, so I’ve decided to move on and tried Tomato USB. I tried it once and never upgrade, it is stable like hell:

      Name tomato
      Model Asus RT-N16
      Time Sun, 06 Feb 2011 11:58:26 +0100
      Uptime 32 days, 13:02:11
      CPU Load (1 / 5 / 15 mins) 0.00 / 0.00 / 0.00
      Total / Free Memory 124.02 MB / 109.35 MB (88.17%)
      Total / Free Swap 511.99 MB / 511.74 MB (99.95%)
  7. Volodymyr Shcherbyna,
    I am willing to give Tomato a go if I can get solid wifi performance for N clients. Your uptime looks solid!
    Which version of Tomato do you recommend? I guess I should also ask, which version of Tomato are you running?

    • Although there are many variations of how to jump from Oleg to Tomato USB I followed the following procedure:

      1. Make factory defaults in Oleg

      2. Install Asus original firmware

      3. Install dd-wrt mini image

      4. Install Tomato

      I guess you can install from Oleg directly dd-wrt mini and from dd-wrt mini flash Tomato.

  8. I just bought N16 and i installed DD WRT. First i had problems that wifi clients were disconnecting… my setup is N16 and 500gP connected through WDS. After installing correct DD WRT build (because database in web should not be used! however this you find only in forums 🙂 ) it seems fine now… (will see in couple of days/weeks). I have DD WRT several years now on 500gP that’s why i selected it also for N16… will see what will be wifi stability. If not good, i will try Oleg or Tomato… I read many posts regarding Oleg where everybody was pointing to it like stable firmware for ASUS, but now i read from Volodymyr it also has wifi issues… :(. I gonna look on Tomato how it looks and what it supports… i want to have most features in web and DD WRT has very good web interface. I saw screenshots from Oleg and well – no comment 🙁 .

    My requirements are:
    – stable wifi connection (now only G, but also N would be needed)
    – WDS working
    – Open VPN
    – in the future maybe web camera, torrent, samba
    And i want to have everything if possible in web interface.

    DD WRT has Open VPN, Samba in web however camera or torrent is not there.
    Oleg seems to have camera and samba also in web however i didn’t see in screen shots torrent or Open VPN
    Tomato seems to have samba, open VPN while torrent or camera is missing…

    Well at the end i would prefer stability before features in web interface, but why not to have both if possible 🙂

  9. forgot to mentioned 1 requirement: SSH server which can be also easily configured just in web in DD WRT…
    what i miss in DD WRT – QoS is traffic shaping… you have to buy it. Does Oleg or Tomato support shaping?

  10. I installed Tomato Victek. Really interesting firmware. GUI is also very nice.. until now i saw just DD-WRT having nice GUI such this… however i cannot find anywhere monitor for error rate in wifi… there are interesting logs of activity but no errors are logged. Can i somehow monitor error rate (like it is in DD-WRT -> error rate for transmit and receive)

    • Vaako, you can log into the router and change the power using the wl txpwr1 and other commands, but I didn’t notice much difference when I experimented with them. You will probably get a better return for your efforts by choosing a channel that has less interference from neighboring WiFi routers, better siting your router in your home or by using a directional antenna – search for these on the net and you will find some low cost plans you can adapt.

      Hope this helps,


    • Hello there!

      Thank you for this useful link! It is very tempting, however I am afraid of changing my router “nirvana” : everything is very solid and I have setup many features with Tomato which I am afraid I can loose if I will switch on another firmware.

  11. Hi,

    I’m trying to use Oles latest build and also use WPS for my D-Link network camera and nothing seems to be happening, is there a setting for WPS in the firmware that needs to be active when I push the WPS button?


  12. Hi

    i know my problem is just partially related but maybe you will be able to help me.

    i am connected to the internet via wireless client which has 2 LAN ports which allows to connect 2 devices (192.168.1.x & 192.168.1.y, static IPs set by the provider).

    192.168.1.x is connected to my laptop via ethernet.
    192.168.1.y is connected to RT-N16 router to enable other computers to connect wirelessly.

    RT-N16 has set static WAN IP 192.168.1.y and assigns DHCP in subnet

    up to this point all works fine. i can access internet from subnet.

    the only problem is that i can’t access 192.168.1.x laptop from subnet.

    can you please help me what to change / adjust to make this work?
    tried to add some static routes but i have minimum knowledge of routing so none of my attempts was successful.

    thank you in advance

  13. I have an Asus RT-16n with RT-N16- firmware.
    My router serves as web and ftp server with telnet administration.
    Frequently my logs are showing dictionary attacks of ftp and telnet services. I am looking for a solution for this situation.
    I do not want to change ftp and telnet traditional ports, nor telnet for ssh service.I just want to limit the number of ftp and telnet new connections using iptables commands.
    I have added to post-firewall script following statements:
    iptables -I INPUT 2 -p tcp –dport 21 -j DROP
    iptables -I INPUT 2 -p tcp –dport 21 -m state –state NEW -m limit –limit 3/min –limit-burst 3 -j ACCEPT
    Theoretically it should work for ftp but the second line is generating the following error:
    “iptables v1.4.3.2: Couldn’t load match `state’:File not found”
    Can you please explain what the problem is, or propose some other iptables commands.
    Many thanks,

Leave a Reply

Your email address will not be published. Required fields are marked *