In this post I’ll describe the steps needed to setup a low cost NAS using the Tomato firmware on the Asus 520gu. This should work with Asus 500 as well.
If you have no idea what a NAS is, think of it as a shared storage device within your home network that you can access via an ip address to store and retrieve documents, wirelessly. If you and your wife/girlfriend/partner have two separate computers, you could store, say vacation photos in this shared storage. This device would appear as a folder/drive on both a Mac and a PC. You can simply drag and drop files to it.
What you need:
- Asus WL-520gu or Asus WL-500g
- An external usb storage device either powered or flash based
A note about our homebrew NAS…
I’m going to tell what most don’t about setting up a USB Wifi NAS. It is pretty cool to put to good use your spare usb drive or external harddisk. But don’t expect blazing speeds.
Storing files, documents, music, photos are fine. But if you are thinking of doing a hard drive backup or store full length videos, the speeds may not be acceptable.
But don’t let that discourage you! It is still pretty cool! We use it as a back up storage device for our photos and serves that purpose pretty well!
Formatting the USB drive
Tomato supports these filesystems:
FAT32 (Windows/Mac/Linux)
FAT16 (Windows/Mac/Linux)
EXT2 (Linux)
EXT3 (Linux)
When you buy a hard drive, it is most likely formatted to FAT32 since most operating systems support it without having to install additional drivers.
So why pick another filesystem?
FAT32 is by Microsoft! If that doesn’t convince you, you have a file size limitation of 4GB, plus FAT32 provides no security and in general quite inefficient.
FAT16. Don’t even consider it! This was the standard used by old MS DOS OS.
EXT2 is mostly used by Linux Operating Systems. Neither Windows nor Mac can read EXT2 drives natively
EXT3 is EXT2 with journalling enabled. Without the technobabble, that means EXT3 helps prevents file corruption in case of an non graceful system shutdown (if you simply pull the USB drive out without unmounting it first)
EXT3 is most preferred. But the disadvantage is once formatted to this format, you can’t plug in your USB drive to your PC or Mac and try to read or write files. You need a Linux system to do that. (There are ways to get PCs and Macs recognize EXT2/EXT3 drives, but that involves additional work).
The biggest advantage of FAT32 is most drives come preformatted to this format. You can plug in the USB drive to your Mac or PC and you will be able to see this drive as another mount point.
What I’ve done is partitioned my old Seagate 160GB hard drive to both FAT32 and EXT3. They now appear as two mount points on both Windows and Mac.
If all this is too technical, just plug in darn drive into the ASUS router! Chances are that it’ll just work!
Getting Started
Set up Tomato on the Asus router
In the admin screen goto USB and NAS

Your config should look like the screenshot above with the exception of Attached Devices. Don’t attach the USB device yet. Save the configuration above and restart the router. Now, come back to this screen and you should see your storage device listed.
If the device shows up as not mounted, make sure the hard drive is formatted to either FAT or EXT and not HFS+ (Mac) or NTFS(XP). Both are not supported and the hard drive will have to be reformatted. Restart the router with the USB drive plugged in. Check this screen, the device should show up as mounted.
If you’ve gotten this far, you are almost there! Getting the device to mount is usually the biggest hurdle. Now using telnet login to 192.168.1.1:
Trying 192.168.1.1...
Connected to davinci.
Escape character is '^]'.
davinci login: root
Password:
Tomato v1.23.8615 ND USB
BusyBox v1.12.3 (2009-01-28 23:18:53 EST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
root@davinci:/tmp/home/root# cd /mnt
root@davinci:/tmp/mnt# ls
disc0_1 disc0_2
root@davinci:/tmp/mnt#
disc0_1 and disc0_2 are the partitions in my USB drive. If you have only one partition, you’ll see only one disc. Note down this info.
Go to File Sharing under USB and NAS. Enter the info as in this screenshot below:

For each directory under /mnt, give a share name and description and save. Set the code page and workgroup name (Windows default is workgroup). Set the access level to Read/Write. Save.
Now on a Mac:
Open Finder
Goto Go..Connect to Server

You will now be displayed the mount points and your share will appear under ‘Shared’ in Finder!
On a PC:
Your shares should appear automatically in Network Neighborhood with the share name you specified
Now you drag and drop files to your NAS device over a wifi network. Pretty cool huh?!
works great with my 4gig thumb usb
however tomato cannot mount my 500g lacie
tomato recognises my lacie but when i try to mount it it asked if it’s powered on
i’ve made a fat32 10g partition, the other partition, about 460gig is formated ext3
is there a limit of gb that tomato can mount or am i doing something wrong?
spend houers already, please help
dirk
solved
started with 1 partition ext3, didn’t work
then saw the post of foobar and made a second partition fat 32
however forgot to enable FAT File System Support in tomato
stupid
after enable it worked fine
I was sucessful at setting up the NAS on a Asus 520gu. However, I just recently reformatted my HDD from fat32 to ext3. Now, I am having trouble accessing my files. I know it has to do with permissions. On my Ubuntu machine, I used sudo chown –R username:username /media/movies and I was able to access my movies files, but I don’t know how to set this up in tomato. I am assuming you need a script in the “Init” section before accessing the HDD. I am able to mount the HDD. There are 2 partitions (ext3 & NTFS). I can access the files on the NTFS partition. I also have a swap partition. I’ve searched a few forums and google, but can’t find any help. Thanks!
Hi,
I am currently using D-Link DNS-321 as a NAS, but it’s woefully slow. I am streaming HD videos to PS3, which requires upto 20Mbps, however, DNS-321 tops out at 10Mbps.
If I setup a wl-520gu with a usb connected hard-drive, what are the expected read/write speeds?
Thanks for your response.
HK
Hi,
I wonder if there are available programs out there that can also do mirroring (back up). It’s like hooking up 2 hard disk (HD) in your Asus router. First HD is for NAS. Second HD will act as back up of the First HD in case it fails.
I formatted my drive into two partitions, one fat32 and the other ntfs. I can mount my fat32 partition easy enough in tomato, but I cannot for the life of me figure out how to access the drive from my computer. I am using windows 7 ultimate 64bit with the Asus 520gu. Ive gone under network and see the router itself and that is it. Clicking on the router just brings up access denied. Can anyone help me get this working?
Thank you in Advance,
Tim
I have my HD plug into usb, all works well, does any have
a script file to spin down the HD after not being use for
a while.
I setup my external hdd as a NAS via these instructions and works well. Is it possible to access my drive outside my network, say for example, from my work? Can anyone point me in the direction of instructions for how to do this?