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.






I solved my problem, but it was unrelated to the mounting thing. I guess printers don’t need to be mounted anyway, which makes sense. So as long as the GUI recognizes your printer, you’re golden. However, it wasn’t working at all and it had worked through the stock firmware. That’s why I thought it was the router.
I think lee has the same problem, because he can print on his mac but not vista. My only experience with fixing this is on an xp laptop, but vista should be pretty similar.
Try going into your printer (not the properties, the place where all the queried documents are. In there there’s a setting “use printer offline” that was checked for me. Unchecking that solved all my problems. If it says “use printer online”, then make sure it’s checked.
If that still doesn’t work, then remove the printer and follow these steps:
This is also a general windows installation guide.
1. Plug the printer directly (USB) into all of the computers you want to use it with and install your drivers. This eliminates all of the picking from the windows printer thing.
2. Enable usb router settings as in the above guide
3.Plug printer into router. Verify it’s recognized (doesn’t have to be mounted) in the tomato GUI.
4.Go into printer properties in windows and click add new port. Choose tcp/ip, port 9100, raw, and the ip of the router as the port. Same as the guide above. Save and exit.
5.Uncheck “use printer offline” in the printer options.
6. Print!
Oh as a clarification you are not adding a new printer, you are adding a new port to the one created in the USB install. Make sure the new tcp/ip port is checked and the old USB one is not in printer properties.
Thanks Kyle. I will give it a try and let you know if it works.
Hi
Can someome tell me if this firmware will work with this router?
Asus WL-500gp v2
Thanks
yes it will
Did I break my wireless router? I’m getting an Invalid IP address after I loaded tomato 1.24. Any help is appreciated. Thanks
I don’t think so. Don’t know what config you are trying to use your router as — bridge, AP etc. Try using DHCP settings in the Tomato and see if it works for you. Keep us posted.
Hi,
I need some help. After much effort I finally got Tomato installed on my Asus router. However, I am running into a problem when connecting a USB drive. First off, I installed tomato-1.25-ND-USB-8631-Std.rar version of the firmware. Took some fiddling but I got it installed. Yeah for me as I don’t have a lot of experience with this type of operation. Anyways, I am having a problem with the USB port. When I connec a drive (thumb or external) into the port and click on USB/NAS tab it freezes. Transfering data…
If I remove the drive it clicks through without issue.
What am I doing incorrectly? DO I need a different firmware?
thanks!
It seems the problem is with the firmware. I reverted to 1.23 and it seems to work now and no longer hangs. I just need to figure out how to mount it.
If you are starting from scratch, after flashing with DD-WRT, telnet to your router, and type: nvram get http_passwd
Now, upgrade to tomato. User is root, password is the result of the above step.
I don’t know the password yet. How can I telnet my router?
I tried to type “telnet 192.168.1.1″ in Start –> Run.. Then it ask me for username and password.
As mentioned in instructions:
Go to 192.168.1.1, username is root, password is admin
If this does not work the reset the router using reset button for few seconds and try again.
So which version are you using? Standard? Lite?
I read standard had some issues with Bittorrent, and that Lite was recommended. However Lite has no Samba? That’s not good…
Or am I missing something?
The link http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn11028/dd-wrt.v24-11028_NEWD_mini_asus.trx seems to be broken. Any other sources?
Thanks.
Ok, so how can i revert it back to it’s original f/w?
Link for dd-wrt is broken…can someone please update it .…thanks
Will this work since the DD WRT link is broken?
http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn12307/dd-wrt.v24-12307_NEWD_mini_asus.trx
The corrected link from above follows, but the DD WRT site says it is OBSOLETE. http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24-TNG_OBSOLETE/svn11028/dd-wrt.v24-11028_NEWD_mini_asus.trx
Hi everyone, I’m currently using tomato 1.25.. Have you guys tried varying the transmit power which is 42 mw by default? Can you tell the difference?
What’s better, this 1.25 or the older version 1.23?
I’ve successfully mounted usb storage devices with this router using tomato but I can’t seem to use my printer with it. I have a Brother DCP-150C and after configuring the ports option the way described above, (I guess so.. =P) my tomato GUI can’t detect my printer at all. Is my printer not compatible with tomato? may i please ask for the configuration that i need to do in the tomato gui for it to detect my printer?
Thank you so much..
I’ve solved my problem with my printer. I just checked the USB 1.1 support from the tomato GUI and it finally detected my printer. whew! Once it detected the printer, I need not reboot the router or it will disappear unlike the way to installing NAS w/c the author recommend to reboot with the NAS inserted. I’ve learned that as soon as its detected, logout and print.
Thank you for these great tutorials.. God Bless!
Thanks for the post. The process works great to get tomoto in. Have questions:
1.does tomoto only support wpa2 in ap mode?
2.ssid can not hide?
please can any one help?
Thank you.
Hey everyone,
Got tomato installed and like it so far but I have one issue. I can’t get it to “connect” to my Comcast cable modem. Been pulling my hair out on this one. Anyone else got this working on Comcast?
Thank you
Nnyan: Restart the Modem!
Tom: Tomato supports both WPA and WPA2, both Personal and Enterprise versions. SSID can also be hidden.
??
Can you be more specific?
When I sellect wpa2, it pop up “wpa2 can only support in AP mode”, and which screen hide ssid?
Thanks for the reply!
Hi, I’ve tested all this options but i still can’t print. i have a wl520gu and I’m trying to print to a lexmark 2300series, i have installed like instructions but without any successes. On router usb disk it’s already mounted and the printer is also recognized. is any tip that can help me?
Thanks for this tutorial — I am now yet another proud Tomato user
I noticed a few things that must have been updated since the article was written.
1) The link to download DD-WRT was broken; I used http://www.dd-wrt.com/dd-wrtv2/downloads/stable/dd-wrt.v24%20SP1/Consumer/Asus/WL520GU/dd-wrt.v24_mini_asus.trx and it worked.
2) When using the Asus Firmware Restoration Utility the router would not always give the computer an IP. I set the computer up with a static IP address and this made the utility work.
3) When logging into DD-WRT, my username/password was admin/admin.
4) As Davi has mentioned, it is necessary to telnet to your router and type “nvram get http_passwd” to find out what the password will be after you install Tomato. Note that when using Telnet to access DD-WRT, the username is always root, regardless of the username to access the web interface. The password is the same as the password to access the web interface.
Hi all,
First of all, thanks to all of you for participating in this forum — it’s been a big help. I am following the above procedure, and am successful through Step # 15. However, when I try to use the DD-wrt firmware upgrade to install the Tomato build, I always get an “Upgrade failed” message after appx 6 seconds. I am using Firmware: DD-WRT v24-sp2 (06/17/09) mini installed on an ASUS WL-520GU, Windows XP, Internet Explorer wired to the Lan1 port, and have tried tomato-1.25-ND-USB-8632-Std.rar plus a couple of others. Always the same error message. Are there any other steps on the tomato build besides simply re-naming the extention from “.rar” to “.bin”? Any other things I could be skipping? Thanks in advance for your help. — Aaron
A couple other bits of information to assist in troubleshooting:
1. I have re-booted the router after installing DD-wrt, as some have suggested — this hasn’t helped me.
2. Is it possible that there isn’t enough free memory in the router for the install? The dd-wrt web interface reports that my free memory is only 1820 kB / 13028 kB (14%), and the tomato install appears to be appx 3.5 MB. Just a thought.
You need to use a program such as WinRAR or 7Zip to uncompress the .rar file. You should extract a .trx file and this is the file you should rename.
Be sure to look at the comments above and make a note of the big long password before you install Tomato.
Good luck!
Wow — fast reply. Thanks very much — I’ll give that a shot tonight. — Aaron
I am stuck at step XI with the following message ‘Please wait for finding available ip address’ while trying to upload the dd-wrt file using the ASUs Utility. I have looked at rebooting and putting a static address. I am working on Windows Vista. Any suggestion as what i may be missing?
Thanks
ssukhan
I am on win-xp and it didn’t work the way described. As soon as I would press th eupload button it would say invalid ip address. I had to assign a fixed address to my system first (I used 192.168.1.123), then the upload worked.
VoIP Tips, thanks very much! Got Tomato successfully installed, and Mac and Windows computers both playing nicely and printing over the router-installed printer.
On a side note, has anyone been able to receive scanned images over their router-connected USB printer/scanners?
Thanks again! — Aaron
All set here. Installed the latest tomato and using it as ap client. All I can say is … WOW.
amazing.
Very nice! Your walkthru is spot on! Took me about 10 minutes to get it all completed. Tomato is working great on my 520gu.
I was trying to follow this, but it appears a link is broken, due to an apparent vulnerability in dd-wrtv2; they seem to have blocked all access to the old files. (See their homepage.) The new files can be found here:
http://www.dd-wrt.com/dd-wrtv3/dd-wrt/hardware.html
got stuck with this as well, ‘Please wait for finding available ip address’
Was using windows 7 when I ran into that problem. Switched to an XP computer and it worked just as described in guide. thanks!
I was able to apply the flash to 1.25 on Asus WL-520GU router, but wireless SSID does not appear.
I can get to the web page console on 192.168.1.1, but no wireless network.
Tried changing the SSID and adjusting some settings, but still nothing.
The wireless worked with DD-WRT.
But I really want tomato to work so that I can use the USB port.
Couldn’t find any info on this on the internet.
Can anyone here, help???
BTW, the wired port works fine.
It’s the wireless that fails to work.
Tried two different laptops and the SSID is just completely undiscoverable.
windows 7: success with firmware restore program in win xp sp2 compatibility mode
great guide, I followed it exactly and got it running in under 10 minutes (the admin:admin was my only slowdown).
Does anyone know how you detect the attached USB drive in windows? It is mounted under tomato but I don’t know how to access it in Vista…
thanks again, great guide
I installed Standard firmware. Now, when I try to login to the router, it asks the username and password. I tried root/admin and admin/admin combination but they did not work. I can ping 192.168.1.1. But I cannot telnet into it. What is the right username and password combination and how may I go back to stock image? Your help is highly appreciated!
Which firmware ? dd-wrt or tomato ?
IF it is dd-wrt it should be admin with no password.
It is in the instructions above.
Sorry for the dumb question, but will these instructions work the same on Vista?
Please read #1035:
http://www.linksysinfo.org/forums/showthread.php?t=60185&page=104
and
http://www.linksysinfo.org/forums/archive/index.php/t-57746.html
and
http://en.wikibooks.org/wiki/Tomato_(firmware)
I got everything working and even installed my printer under tomato but how do I print to it now?
Thanks for the article Chanakya!
@Duffy: Thanks for the tip about flashing via the ASUS router firmware upgrade page. That worked except for one hitch: the newer routers are sold with Asus’ 3.x firmware which seems to verify the file’s contents and blocks the upgrade. I ended up going to Asus’ site, picking the older 2.0.8 firmware, downgrading to it via the Asus router page, then upgraded to tomato using your technique. Thanks!
@beemboy and duffy
Thanks for easy firmware upgrade tip, apparently not all 2.x firmware worked (I tried 2.0.0.5 and 2.0.0.6 and those version didn’t allow upgrade to Tomato) but was successful with 2.0.0.8
beemboy.…..yes, I noticed that when I bought two more of the Asus units for my daughter, the Asus newer firmware did not allow me to load the firmware the way I previously noted here. I had to TFTP it to the unit to get it to load. However, thanks for the tip about downgrading to the older Asus firmware then upgrading to Tomato (or whatever)…never thought of that!
Hi there, I installed DD-WRT easily but when trying to upgrade to Tomato via DD-WRT I keep getting ‘incorrect image file’ every time I try to initialize the upload. Why is this?
Andrew,
I ran into the same problem on my WL-520GU. I ended up flashing the router using the latest version of Asus’ firmware utility. Flashed from DD-WRT to the Teddy Bear version of Tomato. Just put the version of Tomato you are using in there, renamed the extension to .bin, it worked fine and the router is up and running with no issues. My system is running Vista 64, I was surprised the utility worked. I imagine you could skip the DD-WRT step if you wanted and just flash right to Tomato.
Anyone have success with printing via an Apple MAC OS X? Running Snow Leopard now and trying to print to a HP Deskjet 3650 printer. Printer drivers are installed and I can pick the printer when asked for drivers, but I get a message that 192.168.1.1 is busy and will try again in 5 seconds. On a PC, I’m able to print to the print server just fine. Here’s my specs:
MAC OS X Snow Leopard
Asus WL-520GU w/Tomato 1.25 ND USB installed
USB section, printer is recognized but not mounted (how do u mount?)
USB section: First 5 radio buttons are checked
when installing network printer, I select IP printing -> Protocol: LDP; Address: 192.168.1.1; Queue: 9100; selected printer drivers for HP Deskjet 3600
Check out this link for OS X printing:
http://www.dd-wrt.com/wiki/index.php/Printer_Sharing#Workstation_setup
Also, as noted in Kyle’s above comment, the printer doesn’t have to be “mounted” to work. It just has to be recognized in the GUI of tomato.
Good luck!
Well I got my ASUS 520GU and I’ve been playing with it all day. I think I have most of it figured out or at least the parts I was mainly interested in. There is a lot to take in, but it is well worth looking through it.
SNOW LEOPARD:
I have Mac OSX 10.6 Snow Leopard and I believe most Mac users will have questions how to get this to work on their system. Well if you got Tomato installed then you are half way being done and now we just need to turn on the USB Support which is located under “USB and NAS”. Go ahead and check everything except USB Storage Support. I have mine unchecked at the moment because I only have a printer hooked up to it. I don’t know if this ASUS 520GU is capable of doing a usb hub, but I don’t have one on me so I can’t confirm. Anyway for the moment leave the Storage unchecked because these are instructions for the printer portion.
Once you have that checked then make sure your usb printer is on and inserted into the device. You might have to reboot tomato to make it see the printer. If you see a Printer pop up in the “Attached Devices” section in the “USB and NAS Support” area then you are golden.
Now we have to get your Mac OSX Snow Leopard to see your printer. Go to System Preferences and select Print & Fax. Click the + sign to add a printer and select the IP icon (shape of a globe). For the “Protocol:” select “HP Jetdirect — Socket“and for the “Address:” input the router’s ip that you used to originally connect to tomato (example: 192.168.1.1).
In the “Queue:” portion put 9100 and “Name:” to router’s IP again while location can be “Computer Room” or whatever you want it to be. Then it might auto select Generic Postscript or Generic PCL which if your printer doesn’t have the words PostScript or PS on it then chances are it is PCL.
Ok, now we can actually select the driver for your printer in the “options & supplies” seciton. Here you can rename the printer and/or location. You should also see “socket://192.168.1.1/9100″ in the URL portion or something like that. In the driver section you can search for your real printer and you might be limited to only CUPS or Gutenprint (pick whichever you prefer).
Now you can print a test page and you should be able to get a test page printed out.
WINDOWS XP:
Click add printer in control panel, select “Local Printer attached to computer” and uncheck automatically detect then click next, select “Create a new port” and select “Standard TCP/IP Port” then click next, in printer name or ip address put in the router’s ip address, port name put in 9100, then click next which this might look like it froze up, but it is actually just looking for your print server. You might get a window to pop up stating “Add Standard TCP/IP Printer Port Wizard” and in the Standard dot it has “Generic Network Card”, just leave it selected as is. Just keep clicking next and then install your printer as you would normally by either selecting what windows already has available or select the drivers from your CD or location where you downloaded them to. Print a test page and you should be set.
Hopefully that helps out and I have Vista as well, but I don’t have that setup on my mac. I am confident it is pretty much the same in Vista as long as you can add a TCP IP port and give an IP address with 9100 then you should be set. If windows vista has an issue and offers a generic option for the port then just go with the generic option and it should work.
Good luck!
i got WL520GU weekss ago. My current router is WRT54G.
My plan is to connect a external USB hdd to the ASUS router so that i can have wireless NAS system.
My question is pretty simple how can accomplish this. I want to keep my WRT54G router as my main router and make ASUS as AP or bridge and connect my HDD to ASUS. Any suggestions. I appreciate the help
Just installed Tomato on my WL-520gu.…The system sees FAT flash drives, but doesn’t seem to see the ext2 or ext3 drives.…Anyone have the same issue?
Was wondering if anyone has plugged a USB HUB in and was able to use both a USB DRIVE and PRINTER attached to the HUB?
Thanks
You have to enable ext2/ext3 in the config. You can enable or disable any of the filesystems.
Hey there,
First of all, thanks to everybody for all of this info.
Now I have my Asus 520gu working as a print server, and it’s successfully accepting print jobs from Ubuntu 9.04 and Windows XP machines. Exciting!
For those who have their routers in client mode:
When I was done setting it up, I was tripped up, because everything seemed fine, I could access my router through my main network, the printer was showing up in the gui and all seemed “golden”, but nothing would print. Then I figured out the reason. Since my 520gu tomato router is set up as a wireless client, which is connected (with WPA encryption) to the main router, the print requests from my pc’s on my main network (the main router) were considered to be coming in from the outside, and the firewall (iptables) was blocking all those requests.
This is what to do if your router is in client mode and is in the same situation:
Ssh / telnet to your router, and tell iptables to allow print requests with the following command:
iptables –A INPUT –p tcp –dport 9100 –j ACCEPT
This isn’t permanent though, so to make it permanent, do this instead:
In your tomato gui, go to Administration -> Scripts -> Firewall and copy and paste that same command:
iptables –A INPUT –p tcp –dport 9100 –j ACCEPT
Now save, restart the router, and your print jobs from your main network should come through.
Hope this helps someone with routers in client mode!
Hi all and thank you for this priceless information.
I am using wl520gu as a wireless client and I am also trying to enable it as a print server. Everything is connected the way it should be, and printer is being recognized by the router. I also added the above command (post by Rytis) to router’s firewall, but to no avail — printer will not print anything. Printer’s port is set to TCP/IP and to the IP address of the primary router, and the protocol is set to RAW, port 9100.
Any ideas anyone?
Thanks
Thank you for an awesome, concise walkthrough. And thank all those who replied in the thread above with their own experiential wisdom and “war stories.”
I just turned a $40 router into a $100 xbox 360 wireless adapter. I’m planning to have fun with the USB storage/printer functions another day.
For what it’s worth, I ran into some snags. Problem 1: in Vista or Win7, you HAVE to run the Asus recovery software in admin mode or it will not find an available IP. Problem 2… well, I think Problem 2 was just Vista. I spent 8 hours trying to make this work via a vista laptop and was about ready to take a hammer to the box just to relieve tension. Then I tried it on my new win7 laptop, and had it running inside 30 minutes, as a novice.
Kudos on an awesome site!
Hi all,
Has anyone successfully set up FTP server to attached NAS? I have enabled anonymous FTP to /mnt and set port forwarding (port 21) to 192.168.1.1 but can only access server from my own network, not from outside. Do I have to assign static IP to my NAS? If so, how do I do this? Any suggestions?