An Easy Guide to Installing Tomato on the Asus 520gu
31 Jan
Before installing Tomato, I thought DD-WRT was the best router firmware there is. But Tomato is as good as DD-WRT and scores on usability and QOS as well, two areas where DD-WRT needs improvement.
The Asus 520gu gives you the best bang for the buck. It looks sleek in white as opposed to the ugly black and blue Linksys ‘brick’, has a USB 2.0 port which can be hooked up to a printer or an external storage or both via a USB hub and comes with 16MB RAM and 4MB flash.
Why Tomato and not DD-WRT?
I like DD-WRT, and before Asus, I had a Linksys running DD-WRT. I bought the 520gu for its USB port. I wanted to hook up my old Seagate 160GB external harddrive to serve as a low cost NAS. I did want to go with DD-WRT, but finding the right version is quite daunting on DD-WRT site. And from the wiki it isn’t clear if the USB 2.0 works well with DD-WRT. Here’s an actual quote from the wiki:
The WL-520GU WRT is supported as of DD-WRT v.24 RC7. USB (e.g. external storage or printer) support currently require manual work (as of DD-WRT v24 Final Release you may be able to use the web-GUI to enable USB support).
The words ‘may’ and ‘manual work’ made me give Tomato a try! Atleast with Tomato I can be sure that USB2.0 works out of the box without having to much around too much on the console. Actually, this is not the official Tomato build but a mod by ‘teddy_bear’ who added a bunch of enhancements to the official Tomato firmware specifically for the Asus 520gu. Thank you ‘teddy_bear’!
How Easy is it to Flash Tomato?
Actually it took me an hour to figure out what all wouldn’t work. There are number of steps that has to be done in the exact sequence as listed in this howto. If you follow the steps as listed, it shouldn’t take you more than 20 minutes. Reading the DD-WRT wiki, different people had different experiences installing the firmware. I think my steps should work consistently.
My Setup
MacBook running OS X Leopard
Parallels running Windows XP
Let’s Get Started!
There are different ways to flash Tomato on the 520gu. I’m going with the easiest. Use Asus’ Firmware Restore utility to flash DD-WRT and then use DD-WRT’s Firmware Upgrade to upgrade to Tomato. Asus’ Firmware Restore utility is a Windows executable. If you run a pure Mac shop, you can alternatively tftp the firmware to the router.
- Download dd-wrt.v24-11028_NEWD_mini_asus.trx and the latest Tomato Mod to C:\tmp. Do not download it to your Desktop or any directory with spaces!
- Install Asus’ Firmware Restoration Utility from the CD. CD: /Utility/Setup.exe in Windows. Do not download the latest from Asus’ website. This was a mistake I did and the upload kept failing. This utility must match with Asus’ stock firmware running in the Router. This step will save you hours of frustration!
- If like me you are running Windows via Parallels on a Mac, turn Airport off. On a PC, disable any other Access Point you might be connected to
- Goto Start->All Programs->Asus Utility->WL-520GU Wireless Router->Firmware Restoration
- Browse to the dd-wrt firmware you downloaded in Step 1, don’t upload yet!
- Using the ethernet cable that came with your Asus router, connect your Mac/PC to a Lan port on the router. I chose Lan1. Power on the router
- Check if you are able to goto the router’s admin page at 192.168.1.1
- Disable windows firewall
- Unplug power from the router
- Using a pen, press the Reset button at the back of the router (the black, recessed button, not the protruding red one), keeping the reset button pressed, power on the router
- When the power led begins to flash slowly, release the button, upload the DD-WRT firmware (Step 5) quickly
- The firmware should get uploaded and the router will reboot with DD-WRT
- Goto 192.168.1.1, username is admin, no password. You should see DD-WRT admin page
- Goto Administration->Firmware Upgrade in DD-WRT
- Rename Tomato firmware you downloaded in step 1 with extension .bin from .trx
- Upgrade!
- Once the upgrade is complete, the router will reboot to Tomato
- Go to 192.168.1.1, username is root, password is admin
- You have successfully upgraded your router to Tomato!
That’s all there is to it! Make sure you change the default password and enable USB support before attaching a printer or a storage device.






You might need to mess with iptables, check my previous post.
Will tomato let you use the asus as a repeater like DD-wrt will?
One important thing is missing in this guide, which caused me a lot of trouble. I tried a couple of times and finally find the solution from the tomato wikibooks. The problem is that after flashing the tomato firmware, I cannot log in the web interface using the login information user “root” password “admin”, which is not correct.
The solution is that after you install dd-wrt firmware, it is necessary to telnet “192.168.1.1″ log in dd-wrt with default login which is usually “admin:admin”. Type command “nvram get http_passwd” to get a long string, which is the correct password. Then you can flash the tomato firmware and log in with user name “root” and password you just obtained.
@Johnny
I can’t login into the web interface. I tried to telnet to the IP address and it keeps telling me that the login is incorrect.
I thought that I had bricked my router until I read your comment. Any ideas on what I can do?
Thanks!
You should be able to go back to dd-wrt firmware by using the firmware restoration utility. If you can login to dd-wrt, your router has nothing wrong. The telnet step must be done in dd-wrt firmware, before you flashing the tomato firmware. Next, just follow my post to get the password and see if that’ll work.
I just notice that there’s another post underneath written by Rodalli. If you can’t telnet to the IP address, you can try a NVRAM clear process mentioned by him. Good luck!
Thanks!!! It worked perfectly. I should’ve read all the comments before bothering you. Thanks again!
super helpful walkthru! I got hung up on the firmware flash. Under win 7 and vista, the program needs to be Run as adminstrator. If not, the utility just searches for the router but never finds it. After figuring that out, it was smooth sailing. Still having trouble getting the printer to work though — would love additiona info on that if you have it! Thanks again.
when I use the firmware restoration in vista(64), keeps searching ip address. how to overcome this problem ? I am an administrator option for my laptop. Thanks.
i followed your step and now i am not able to login to as root and pwd admin
can anyone help me?
the step that Johnny posted above is definitely key to logging into Tomato after the initial install. Telnet into 192.168.1.1 as he said and save that password. Your initial Tomato login is root/(the p/w you wrote down)
great guide — maybe just add this step to the end of it.
Thanks man it worked This time it did not ask for password to login and i was able to make changes.
I would like to see a start to finish walk through for OSX “snow leopard” would be nice. No windows under anything, pure OSX. thanks
can not log in to router.. not accepting root/admin..help
I can’ login to router too. Same problem. HELP ! Hard reset not working. Login and password not accepted
Problem resolved ! WL500GP again alive ! Hard reset pin 9 to ground help me.
More info whith picture how make hard reset here http://www.dd-wrt.com/phpBB2/viewtopic.php?t=2507
Hi. I am trying to flash my WL-520GU using these instructions but can’t get ddrt firmware to upload. I keep getting “invalid ip” after clicking the upload button. Any idea? Is it because I have a newer Asus firmware? TIA!
Trying to flash my router with these instructions but can’t seem to get the ddwrt firmware to upload. I get the following message “invalid ip” after clicking on the upload button. Any suggestions?
Help! I can’t access the tomato gui through 192.168.1.1 after I set it as a wireless ethernet bridge. Is there anyway to reset the tomato configurations to default? Thanks!!
For First_time_flasher;
I had this issue. I got around it by assigning a fixed ip address to the computer that I Was using to flash the router with. Try it.
And for Help! Are you having the password issue ? I had this issue as well on my 2nd router. I flashed it back to ddwrt, wrote down the password ( see above) then went back to tomato again. Strangely enough, the password was then reset to the default one.
This all did not happen on my first router. Used the same firmwares on both.
Works perfectly except.…
I have a Dell Mini-9 triple booting OSX Ubunto 9.10 and a legit copy of Windows 7 I bought when they were running the pre-release special.
I have tomato running on the Asus in client-bridge mode, so that it connects to the rest of my wireless network (two other routers, one flashed with DD-WRT, and the other is generic I can’t remember what it is running stock firmware)
Under Mac OS, everything works perfect (both printing simultaneous 500gig file shares)
Under Ubuntu 9.10 everything works perfectly.
I have two old XP machines, one SP2 and one SP3 everything works perfectly.
Under Windows 7, printing works fine, but when I try to access the hard drive shared on the Asus Tomato, Windows 7 LOCKS UP ALL THREE OF MY COMPLETELY DIFFERENT WIRELESS ROUTERS! requiring power cycling to get my network back.
Windows 7 looks shiny on the outside, but is actually a useful weapon to a terrorist! Imagine implementing a virus based on whatever the heck they are doing. They could take down all the world’s wireless connections in seconds. If you have any ideas how to work around this, I’d love to know!
Try this:
Go into the network adapter settings, select your wireless adapter and choose “properties”. If IPv6 is selected, then de-select it and choose “apply”. If one of your routers is a couple of years old and only supports ipv4, your networking settings may be confusing it into locking up. I had this problem with Win7 64bit and a dlink router. Every time my computer tried to connect to the router it would briefly be served by it, then suddenly the router would reset and everything connected through it would lose network access until it came back up.
I found some information regarding this problem here, but I tried what was suggested and it did not help
http://www.tomshardware.com/forum/75–63-windows-samba-issue
Having a hard time with a shared USB drive / Asus WL 520GU and Tomato 1.27 Teddy Bear USB Std.
External HardDrive, FAT32 partition. Shared, I can see it in my XP, can write small files, but some problems:
a) WinXP does not recognize the correct size of the disc (shows me 20Gb)
b) WinXP does not recognize the free space of the disc
c) cant transfer big files TO the shared disc. First I was using a 1.25 version, and getting an error “The specified network name is no longer available”.
d) upgraded to the 1.27, now I have the error above, and sometimes the error is like this: I try to move a 700Mb file from local drive to shared drive, and if first creates a zero sized file, then asks me if I want to overwrite, and at some point it says me that it cant move because the file is being used.
dont know what to do, any ideas ?
thanks,
Alex Cristiano
I’d like to setup NAS at ASUS WL520GU with Tomato_1_27_ND.7z. Could you add some step by step procedures ? It looks that there’s no USB/NAS setup menu in GUI. Thank you !!
A big thanks to the author of these simple directions and thanks to the authors of many of these comments that helped me get this working. I bought this router so I could share my printer, and the Asus firmware wasn’t cutting it. After installing the Tomato firmware using these excellent directions I got everything working after a little tweaking. Thanks a lot!
Good guide, but seems like allot of work when all you have to do is load WL520gu_2.0.0.8_EN.trx official firmware from ASUS on the 520gu. After that is loaded, just rename the latest 1.27ND USB Tomato to WL520gu_2.0.0.9_EN.trx and upload through the asus firmware interface on the router.
Works like a charm. I have done this method about 4–5 times now and works every time. No need to load DD-WRT first or use any other additional tools.
Thanks Matt. This worked perfectly. This seems also to solve the problem with not being able to find the IP address (because your are using the firmware utility and not the software utility).
Easier method:
1. Load WL520gu_2.0.0.8_EN.trx (Official ASUS firmware from ASUS website, even if you have newer firmware on your router).
2. Rename the latest Tomato USB firmware to WL520gu_2.0.0.9_EN.trx and upload via firmware upgrade in ASUS setup screen.
Done.
I have done this method 3–4 times now on different wl520gu and works every time. No need to load dd-wrt first or use any additional utilities.
Hi Matt. I’m trying to ‘upgrade’ my 520 to _2.0.0.8_, current it has v3.x firmware. Every time I try it fails. Web based it just fails and says ‘check file version or file integrity’. I’ve tried under XP and two PC’s under Linux with several browsers.
When trying the Firmware Restoration tool it always says ‘connect to the wireless device’ for about 30 second then stops saying ‘no wireless devices found’.
Since currently it is v 3.x. could it be as simple as renaming the 2.0.0.8 to a version higher than what I have now? I’d rather not plow ahead blindly and brick this. Any ideas?
A big step I forgot was the step with the reset button. Another user assigned an IP to get around the invalid IP error message. A day later and the obvious looks obvious. I’ll try these later. I’d appreciate any comments so far as versions.
I’m pretty sure I already bricked a Linksys router. All the leds do is flash and no web access or tftp. I’d rather not have the Asus 520 join it.
thanks, Bj
Hi Brian.
I am not sure why your router is refusing the firmware upgrade, unless it is looking for a newer file name. You can always try renaming it as it shoulnd’t hurt. I didn’t have any issues when I loaded an older firmware on.
Did you try to do a factory reset first to see if something isn’t causing the upgrade to hang?
Hi Matt. Success! I’m so pleased,thank you.
However here is an odd problem. Feeling cocky I decided to look at a spare WL-520GU that I thought I bricked the other day. I pressed the reset button, got the flashing LED. Using the Asus Firmware Restoration standalone and I successfuly flashed the router with 2.0.0.8. The router rebooted and I tried to login but it would not accept the default username / password. Thinking that in some odd way it kept my old pwd I tried it as well with no luck. Just the fact its asking for a pwd gave me hope.
I then successfully (according to the firmware tool) with Tomato. Upon reboot I am not allowed in the router, the browser did not see it. I tried 2.0.0.8 again and the current v3.x with no luck. Using Tomato or 3.x I do not get any login prompt, using 2.0.0.8 I’m still stuck at the pwd prompt.
Some part of the router is alive and I’d like to recover from this.
thanks, Bj
Hi Matt. Success! I’m so pleased,thank you.
However here is an odd problem. Feeling cocky I decided to look at a spare WL-520GU that I thought I bricked the other day. I pressed the reset button, got the flashing LED. Using the Asus Firmware Restoration standalone and I successfully flashed the router with 2.0.0.8. The router rebooted and I tried to login but it would not accept the default username / password. Thinking that in some odd way it kept my old pwd I tried it as well with no luck. Just the fact its asking for a pwd gave me hope.
I then successfully (according to the firmware tool) with Tomato. Upon reboot I am not allowed in the router, the browser did not see it. I tried 2.0.0.8 again and the current v3.x with no luck. Using Tomato or 3.x I do not get any login prompt, using 2.0.0.8 I’m still stuck at the pwd prompt.
Some part of the router is alive and I’d like to recover from this.
thanks, Bj
Replying to my own message just o keep this in order.
My 520 is truly haunted. Flashing it with Asus firmware I still get the a login prompt that I cannot get past. After successfully flashing with Tomato it does not respond after a reboot.
I’m wondering now if flashing with *WRT would fare any better. I might try to give that a shot.
Its alive and I’d like to recover it but this is so weird.
Any help at all I’d appreciate guys.
Bj
This is even weirder now. I flashed the 520 again with the current v3.x from Asus. I received a username / password prompt. The usual admin/admin or admin / no pwd did not work. It also brought up an HTML page and image from the router — something about how my WAN cable was not plugged in (it was correct.
I really think there is somthign here to save. Its just weird.
Hello
A big step I forgot was the step with the reset button. Another user assigned an IP to get around the invalid IP error message. A day later and the obvious looks obvious. I’ll try these later. I’d appreciate any comments so far as versions.
I’m pretty sure I already bricked a Linksys router. All the leds do is flash and no web access or tftp. I’d rather not have the Asus 520 join it.
thanks, Bj
I have ugraded to tomato and attached a usb hard drive which is recognized by the router. How do I access the files from my mac?
I tried Matt’s easy upgrade method and it was flawless until a reboot. Something got stuck in NVRAM and killed everthing. I ended up following this guide starting from firmware recovery. I had password trouble after I got everything up and running again. To clear NVRAM I had to power the router on and press the reset button for 15 seconds JUST AFTER THE POWER LIGHT GOES OUT.
This router is a little odd as just holding down the reset button after power on doesn’t seem to work right. Holding reset while powering causes it to go into firmware recovery. Instead you have to power the WL-520GU and let it boot. The power LED goes out for a moment about 10 seconds after power on. Immediately press and hold the reset button for about 15 seconds at this point and NVRAM including all configuration and stored passwords should reset. It did for me on multiple tries.
This little pointer saved me from banging my head against my desk for hours. Like many others, when I loaded up Tomato after flashing through DD-WRT, Tomato would not accept the normal passwords. I DID try the to telnet into the router as described by Johnny, but it would not give me telnet access either.
Clearing the NVRAM worked. Just:
1. Unplug the ASUS router, wait a few seconds until completely powered down.
2. Plug the router in. Have your pen ready to press the black reset button. Roughly 10 seconds after plugging in the power LED will turn off, this is when you IMMEDIATELY press and hold the reset button.
3. Wait 15–20 seconds and release the reset button.
4. You should now be able to log in through the web-interface at 192.168.1.1 with user/password: root/admin\
5. Enjoy Tomato! The USB drive recognition is amazing! A wireless router w/ QoS, VPN and NAS/Printer support for $40 + ~1 hour setup and config time.
I tried Matt’s easy upgrade method and it was flawless until a reboot. Something got stuck in NVRAM and killed everthing. I ended up following this guide starting from firmware recovery. I had password trouble after I got everything up and running again. To clear NVRAM I had to power the router on and press the reset button for 15 seconds JUST AFTER THE POWER LIGHT GOES OUT.
This router is a little odd as just holding down the reset button after power on doesn’t seem to work right. Holding reset while powering causes it to go into firmware recovery. Instead you have to power the WL-520GU and let it boot. The power LED goes out for a moment about 10 seconds after power on. Immediately press and hold the reset button for about 15 seconds at this point and NVRAM including all configuration and stored passwords should reset. It did for me on multiple tries.
For what it’s worth.
I read all the different methods about updating first to WRT, the Tomato, or skip the WRT and hit the reset while loading directly, etc.
I simply used the Asus firmware tool, pointed to the Tomato file (tomato-NDUSB-8744-vpn3.6.trx) and I was up and running in two minutes.
Everything I read made it seem way more complicated than it was
MWMike is right on and I was gonna do this, but this is the first time I have flashed a router with different firmware.
So I downloaded “WL520gu_2.0.0.8_EN.trx” and “tomato-NDUSB-8744-Std.trx” to folder called c:\tmp. Then used Asus’ flash utility to flash the 2.0.0.8 firmware (because the firmware that came on my new router was version 3.0.0.8). Then renamed the tomato firmware to “WL520gu_2.0.0.9_EN.trx” and then flashed that. It worked in two minutes without any difficulties.
… or exactly what the first Matt said.
Double check that you unzipped the .rar firmware files to a simple folder (ex. c:\tmp) and use the flash utility off the CD and point it to the unzipped files. Do not press the reset button after, just let it finish by itself.
I have the dd-wrt mini installed but when I try to upgrade to Tomato the upgrade fails. If I use the firmware update it installs tomato but I can not access the router because it will not accept any sign in that I have tried. I then have to flash back to dd-wrt and it responds to my sign in attempts
As for the printer install, after following the USB article and attempting to telnet and mount the printeralong the lines of the USB drive, I’d like to pass along the solution I found somewhere else.For other OS’s, just do a search on the words in this solution.
How to set-up wireless printing in Tomato (Teddy’s USB modified Tomato version). Note: the router does not need to “mount” the device; it need only recognize it. I was able to set-up my Mac and PC using these directions from dd-wrt.com [dd-wrt.com]:
Windows XP
* Find your printer in Control Panel — Printers etc. and open the properties page for it.
* Select the Ports tab.
* Click Add Port and choose Standard TCP/IP printer port and click New Port
* Enter you router’s IP address (normally 192.168.1.1) and click Next
* Set Device type to custom and click settings.
* Make sure RAW is selected and specify the necessary port number (normally 9100, 9101 for second printer, etc) and click OK
* Click Next and Finish and Close
* Make sure the newly created port is selected for your printer and click OK
I am running Tomato 1.27 on a secondary (asus WL520GU) router, and has been able to set up my printer so that I can access it and print trough the that router on IP 192.168.1.111. However, when connected to it I can no longer get access to my main router (on 192.168.1.1) and thus to the outside web.
My problem seems to be in the configuration of the asus router where I have been experimenting without luck using various settings under “basic network”. There is no difference whether I enable or disable the security setting (WPA) .
What is the recommended configuration of the secondary router?
The setting “wireless ethernet bridge” under Basic Network seems to be the right thing to do, providing transparent access to the main router and the internet.
However, to give access to the attached USB devices it turns out that the default setting “gateway” under Advanced Routing has to be changed into “router”.
I directly transfered the Teddy’s USB modified Tomato version to the router through tftp, and it looks like working fine with nice webui and wireless access control.
but, the router can not get a ip from my cable modern, which worked before under dd-wrt. I used DHCP for WLAN and tried MAC clone, reset the cable modern and router, nothing seems to work. It shows renewing forever.
Anybody have a clue?
Thank you
I’m curious, who do you have for an ISP? I had issues with Comcast and the stock firmware. Asus is stating these modems are tougher to reset..
Easier method by Matt (described below) didn’t work for me:
[.… 1. Load WL520gu_2.0.0.8_EN.trx (Official ASUS firmware from ASUS website, even if you have newer firmware on your router).
2. Rename the latest Tomato USB firmware to WL520gu_2.0.0.9_EN.trx and upload via firmware upgrade in ASUS setup screen. Done.
I have done this method 3–4 times now on different wl520gu and works every time. No need to load dd-wrt first or use any additional utilities. …]
I’ve tried it and wasted half the day but it kept stuck on “Renewing” cycle on the Tomato router control page.
Almost gave up after reading a LOT of posting by other people that had the same problems I do.
So I gave the “long” method (go thru dd-wrt first) a try and it worked for me.
For any reason that you think you might brick the router (forgot the right username/password or cannot logon to
http://192.168.1.1 control page or forget to retrieve the right password string via “nvram get http_passwd” cammand):
– Use the Firmware Restoration to flash back to version 2.0.0.8. But don’t forget to disconnect the WAN
line off your router first !! IMPORTANT !!! otherwise it would go into ‘connect to the wireless device’ loop and end up giving you the message ‘no wireless devices found’.
– Start over again. This is why I love this router so much. It’s almost unbrickable.
I have tomato loaded and all is working correctly with the USB printer. But I cannot get two printers to work. Either printer (Brother 2140 and HP 1600) works fine alone when configured to port 9100. But as soon as add a second printer and use port 9101 for the second printer, nothing happens. The first printer continues to work fine. I have tried it with either printer as the first one, and which ever one it configure first on port 9100 works and the second one does not. Also, both printers are recognized by the router.
been running tomato v1.25.8634 ND for awhile, lately, i encountered this weird of bandwidth drop. The signal is so weak that make 1 pc dead. Contacted service provider who tested on their end and see no problem and suggested the problem is from the router. I used qos setting earlier and now disabled, nothing changes. When scanning channels it shows great signals but once it is done, it is back to crawling. I don’t know what the problem is and wonder if anyone has such weird problem. USB port is not used currently.
Great Guide.
Please add step N1 to tell everyone to choose “Restore to default settings” as that is not the default in DD-WRT and if you don’t you’ll see all the password problems everyone is having here.
While you’re at it you could tell them all in step B to “Run as Admin” the Asus restore util in Vista.
Those are the only two issues I had.