Asus WL-520GU

From DD-WRT Wiki

Jump to: navigation, search

Contents


For initial flash use same procedure as All Asus WL-500xx series routers. also see: wl520gu.googlepages.com

WARNING: Don't flash with any K26 builds, currently it just wont work

[edit] Introduction

The WL-520GU WRT has been supported as of DD-WRT v.24 RC7. USB (e.g. external storage or printer). As of DD-WRT v24 Final Release you are able to use the web-GUI to enable, setup and configure USB support. You MUST use builds that are tagged mini-usb or mini-usb-ftp to do this. Due to the lack of the units flash size (4MB) these builds may not offer the same Web GUI features of the standard builds. Some memory hungry features like Xbox-KAID have been removed in order to provide sufficient space for the USB drivers/modules and FTP functions.

It is also worthy to note that the USB 2.0 aspect of this router is very temperamental. If you bought this router in hopes of using USB 2.0, then you may experience problems with certain applications; albeit those mainly include resource intensive Optware programs like Bittorrent transmission.

The only remedy for this (as of now) is to use the USB 1.1 drivers instead.

[edit] Clock Timing Bug

See this thread about a clock timing bug that affects this model.

[edit] Prerequisites

  1. Windows Client (TFTP firmware upload techniques when booting the WL-520GU will also work for non-Windows users, but use of the ASUS Firmware Restoration Utility on a Windows client is by far the easiest way to flash the WL-520GU)
  2. ASUS Firmware Restoration Utility
    • Installed as part of the "ASUS WL-520gU wireless router utility program" and is available under "Utilities"
  3. DD-WRT v.24 TNG (not VINT builds) Link: [1]
    • Build suggestions (see Version Features for more information on selecting a version):
      • dd-wrt.v24_mini_asus.trx (For intial flash) REQUIRED
      • dd-wrt.v24_mini_generic.bin (Recommended if you want to manually add USB support, or need additional JFFS storage space)
      • dd-wrt.v24_generic_nokaid.bin (if you want standard features but don't require X-Box Kai Console Gaming)
      • dd-wrt.v24_std_generic.bin
      • mini_usb.bin (Built in USB support)
      • mini_usb_ftp.bin (Built in USB and FTP support)

Note: The mini_asus.trx build is supposed to be designed to be uploaded as a firmware upgrade through the ASUS stock firmware's web interface. The stock ASUS firmware rejected this build in the author's attempt to do this. For Windows use the Firmware Restoration utility provided with your router to do the initial mini-asus.trx flash. For Vista users, Administrative permissions are required. For Windows 7 users, changing the main executables (.exe) file to Windows XP sp2 compatibility mode is required. For 64bit versions of Windows, make sure the installation path is set to Program Files (x86).

[edit] Installation

[edit] TFTP Method:

  1. Read the Peacock Announcement, found here: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486
  2. Download this program to flash from Windows: http://www.dd-wrt.com/dd-wrtv2/downloads/others/tornado/Windows-TFTP/tftp.exe
  3. Download this file for initial flashing: dd-wrt.v24_mini_asus.trx
  4. Do a proper HARD reset on the router in accordance with note 1 of the peacock. That will be a 30-30-30 reset, followed by a power cycle. Do not confuse the Red 'EZ Setup' button with the RECESSED reset button.
  5. Do a second 30-30-30 reset, but do not power cycle it at the end. This puts the router into restoration mode. Plug a cable in the LAN port of the router, and the ethernet port of your computer. Make sure antivirus and wireless are off in the computer, and nothing else is connected to the computer or the router.
  6. Set your computer to a static IP address of 192.168.1.7 with a subnet mask of 255.255.255.0.
  7. Start the tftp.exe and follow the instructions in note 11 of the peacock announcement. Set the server to 192.168.1.1, leave the password blank, set retries to 20, and choose the dd-wrt.v24_mini_asus.trx file you downloaded earlier. Hit upgrade, and the file should upgrade immediately.
  8. Wait. Set a timer for FIVE FULL EARTH minutes. If you screw this up you could damage your router. WAIT!
  9. The LAN port will remain lit after the upgrade, but no other lights will light. There is no sign that your firmware has flashed, so you HAVE TO TIME IT.
  10. Once the time is up, power cycle the router.
  11. Navigate to 192.168.1.1 and refresh until the router webUI shows up
  12. Type a username and password in the opening page.
  13. Power cycle the router
  14. When you can log back in to the webUI at 192.168.1.1, do ANOTHER hard reset on the router (30-30-30 followed by a power cycle)
  15. Login to the router and enter a username and password. The router can be used at this point.
  16. Download this file if you have not already: dd-wrt.v24_usb_generic.bin
  17. Under the Administration > Firmware Upgrade tab, choose "Reset to default configuration", and pick the dd-wrt.v24_usb_generic.bin file to upgrade the firmware.
  18. Hit "Upgrade" and wait five full earth minutes.
    1. If uploading via the web does not work for you (it did not for me), you can upload your file with tftp again. I uploaded the dd-wrt.v24_voip_generic.bin successfully. I did have to increase the timeout for the voip file for it to work.
  19. Type a username and password in the opening page.
  20. Power cycle the router
  21. When you can log back in to the webgui at 192.168.1.1, do ANOTHER hard reset on the router (30-30-30 followed by a power cycle)
  22. Login to the router and enter a username and password.
  23. Configure your router
  24. Set your computer back to auto IP and auto DNS

[edit] Upgrading Firmware

Once DD-WRT has been installed on the WL-520GU, new versions can be installed through web interface (Administration -> Firmware Upgrade). The Asus Firmware Restoration Utility can also be used, but it is no longer necessary when upgrading DD-WRT.

[edit] Resetting Defaults

There are several ways the WL-520GU's NVRAM can be reset.

  1. Using the Administration -> Factory Defaults web interface.
  2. Selecting the option to reset to Default Settings when upgrading the firmware through the Administration -> Firmware Upgrade web interface.
  3. Pressing the reset button while booting (see the Reset Button section below for ASUS reset button quirks).
  4. Using telnet enter erase nvram command
  5. Download this file pack which includes the necessary tools required for the procedure and unrar it. The File pack contains both wl500g-clear-nvram.trx and the wl500g-recover.trx utilities.

If using the #5 procedure, do the following:

  1. Using the Firmware Restoration utility or TFTP, first put the device into recovery mode by pressing and holding the black reset button WHILE plugging the power in. The power LED should continuously flash.
  2. Set your network adapter to a static IP of 192.168.1.10 and subnet mask of 255.255.255.0
  3. Upload wl500g-clear-nvram.trx and wait for the transfer to complete. Unplug the power.
  4. Put the device into restore mode once again by pressing and holding the black reset button WHILE plugging the power in.
  5. Upload wl500g-recover.trx and wait for the transfer to complete, then unplug.
  6. Put the device into restore mode once again by pressing and holding the black reset button WHILE plugging the power in.
  7. Upload the either the stock firmware (which is found on the Asus website) or uploadmini_asus.trx file if you want to continue using DD-WRT. Wait for file transfer completion.
  8. Unplug the power, but this time do NOT press the blackreset button. Just plug the power back into the unit and you're back in business
  • Last resort when the unit won't boot due to a bad setting -- see this forum post.

[edit] Reset Button

The ASUS "firmware restoration" mode requires a change to the standard Linksys "hold reset button for 30 seconds" procedure for resetting the WL-520GU to its defaults. The following is how the reset button works on the WL-520GU:

When the WL-520GU is powered on

  • Holding the reset button for 15-20 seconds will cause the WL-520GU to reboot.
  • Upon reboot, a pressed reset button causes the WL-520GU to go into firmware restoration mode. This does NOT reset the defaults (see the section below for more information on the firmware restoration mode).
  • Since there is little to no warning of the exact instant the WL-520GU will reboot when holding the reset button, chances are extremely good that the reset button will still be depressed and cause the WL-520GU to go into firmware restoration mode. Hard booting the WL-520GU will get the WL-520GU back, but settings will NOT be reset.

When the WL-520GU is booting

  • Holding the reset button during the boot sequence will reset the unit to its defaults.
  • Care must be taken to press the reset button right after the power light turns off immediately after powering on the WL-520GU and not before, to avoid going into firmware restoration mode.

Based on the above, it should be fairly self-evident that the following procedure is recommended for using the reset button on the WL-520GU.

  1. Unplug the WL-520GU
  2. Plug in the WL-520GU
  3. The power light will blink
  4. As soon as the power light turns off, press and hold the reset button
  5. Hold the reset button until the power and wireless buttons glow green.
  6. The WL-520GU should now be reset to its defaults

[edit] Hardware Notes

This section covers observations made about working with the ASUS WL-520GU hardware. Certain behaviors of this device are different than other WRTs (especially the Linksys).

[edit] Recovery

Many Asus WLs have a special pre-boot state that makes it extremely easy to upload new firmware images, even when the current firmware is corrupt (in fact the WL-520GU automatically drops into this mode when a corrupt firmware is detected during boot). Either applying a new firmware through the Asus Firmware Restoration Utility (see section below) or a hard reboot (removing the power) is required to exit this state (Note that entering this state does not negatively effect the current settings or firmware so it is not especially dangerous to accidentally enter firmware restoration mode -- although it does get in the way of performing a "reset button" based reset of the WL-520GUs settings as noted in the section above).

[edit] Asus Firmware Restoration Utility

The Asus Firmware Restoration Utility is available from the Asus support site under "Utilities" (installed as part of the ASUS WL-520GU Utility). This is the preferred utility for uploading new firmware distributions since many firmwares reject a different distribution's firmware if one attempts to use the web interface.

The Asus Recovery Utility can ONLY be used with Windows

  • Under Vista and Win7 this utility must be run as administrator by Right-clicking on the .exe and selecting the option.
  • In case you have multiple network interfaces, disable all but the one that is connected to your router (i.e your LAN connection).
  • You should also turn off your Windows firewall, in order to allow the Asus Recovery Utility to be able to connect and send data from your PC to the Router.

Steps:

1. You will need to manually set the address of your PC's Network LAN card to 192.168.1.10 and subnet mask 255.255.255.0. Also make sure all other adapters on your PC, except for the main LAN connection are disabled. 2. Remove the power connector of the WL series router. 3. While holding the BLACK reset button down, plug the power connector back in. 4. When the power LED flashes, release the reset button. The router is now in recovery mode. 5. Use the Asus recovery utility to upload the DD-WRT mini-asus.trx file. 6. After the upgrade, the Utility will ask for a router reboot. Give it about a minute to be on the safe side before removing the power. Once plugged back in, you will be able to access the web interface. 7. Return your Net adapter properties to "Automatically Obtain IP" 8. DO NOT use Firefox for upgrading builds! Use Internet Explorer!!!! 9. Type 192.168.1.1 into your browser and set your username as root and pick a password. 10. Navigate to Administration->Firmware Upgrade and upload either the recommended build provided on the main page of the site, or another of your choice.

[edit] Using TFTP on Windows

Windows TFTP client may be downloaded from here. Then all you need to do is to call following command: tftp.exe -i -v 192.168.1.1 PUT dd-wrt.v24_mini_asus.trx

[edit] Using TFTP on Linux

Linux TFTP client may be downloaded using yum or apt-get. Then all you need to do is to call following command: tftp -m binary 192.168.1.1 -c dd-wrt.v24_mini_asus.trx


[edit] Making the most out of your router (Deprecated, See Installing Entware)

Please see Optware, the Right Way for detailed information on how to fully utilize the USB port on the WL520gU and add invaluable flexibility to it.

Recommend Firmware link: TBD?

OTRW will recommend an EXT2 partition. The firmware version must support this: [2] The wiki instructions above installs: DD-WRT v24-sp2 (08/12/10) mini-usb-ftp (SVN revision 14929), which does not support EXT2 despite what the USB UI says.

Potential services that are available:

  • Bash instead of shell in busybox (LFS support)
  • Automounting and unmounting of storage device partitions
  • Network printing
  • Watchprinter
  • Torrent transmission with watchdog
  • Hotmount
  • Pre-configured samba share
  • Reverse proxy featuring pound
  • Service tool
  • Xinetd
  • Pound
  • Asterisk
  • Lighttpd
  • Vlighttpd
  • Countryblock
  • AsiaBlock
  • Services running as other users than root
  • Vim with proper terminal support
  • Twonky Media
  • News Server
  • Other various useful tools

[edit] VPN + USB Printer server

Fraters Optware method listed above will accomplish this and much more. You can use a USB hub to attach multiple devices!

If you would like to use the firmware v24-TNG with openvpn support and usb printing support then follow these steps:

  • Download the Eko dd-wrt.v24-12548_NEWD_openvpn_jffs_small.bin
  • Install this firmware using the methods used above. TFTP or ASUS Firmware Restoration Utility.
  • go to http://192.168.1.1 and setup a USERNAME and a password
    • go to administration and enable jffs if it is not enabled already
    • go to services and enable sshd
    • go to administration and enable SSH Management
  • using your favorite ssh client then ssh 192.168.1.1. Log in with the username "root" and your web admin password
  • after you login type
mkdir -p /jffs/tmp/ipkg
ipkg update
ipkg -force-depends install kmod-usb-core
ipkg -force-depends install kmod-usb-printer
ipkg -force-depends install kmod-usb-ohci
ipkg install p910nd
  • this should download all required packages/modules/software etc. now we need to edit some configuration
mkdir /jffs/etc/config
vi /jffs/etc/config/usb.startup
  • inside usb.startup you should have:
insmod /jffs/lib/modules/2.4.30/usbcore.o
insmod /jffs/lib/modules/2.4.30/usb-ohci.o
insmod /jffs/lib/modules/2.4.30/printer.o
/jffs/usr/sbin/p910nd -b -f /dev/usb/lp0 0
  • You will need to set the permissions of this file to allow it to execute. Type:
chmod +x /jffs/etc/config/usb.startup
  • Next, we need to fix a typo. The fix is described here Printer Sharing. To fix this:
vi /jffs/etc/init.d/p910nd
change ----------> DEFAULT=/etc/default/p910nd
to -------------> DEFAULT=/jffs/etc/default/p910nd
  • At this point, you should reboot your router. When it comes back online, to make sure everything is right, do the following:
ls /dev/usb
  • If this shows the printer (lp0), you are in good shape. Otherwise, try running the command
./jffs/etc/config/usb.startup
  • to manually start the printer server. You should now see the printer if you repeat the preceding ls command.
  • Also, try running "dmesg | grep usb" to see if the printer is loaded. if you do not see:
printer.c: usblp0: USB Bidirectional printer dev 2 if 1 alt 0 proto 2 vid 0x04B8 pid 0x0839

then you have an interesting problem.

  • Next, verify that the print server is up by running netstat -an and searching for port 9100. If you don't see anything, try running ps | grep lp0. If you still don't see anything, try manually starting the print server with this command:
/jffs/usr/sbin/p910nd -b -f /dev/usb/lp0 0

[edit] External Links