ASUS wl520-gU: RAM upgrade

I had this router around for quite a long time, but unfortunately it sucked at some points.
1. The clock bug. It’s 200Mhz, not 240, the clock’s off and the result is usb 1.1 hangups. Luckily this is cured by installing a 2.0 hub, to do transaction translation
2. Memory. 16mb is a not enough! Esapecially with the leaking wl driver. b43 seems quite greedy as well. The trunk builds of OpenWRT did not work for me any more, so…
I was of for an upgrade.

The SDRAM is initialised by the bootloader (CFE) which lives at the beginning of the flash with parameters from nvram, a place of flash at the very end to store configuration data. CFE has it’s own backup of failsafes, in case the nvram region gets corrupt. Well, I bricked it setting the wrong data for sdram initialisation! No jtag whatsoever, but there was a better solution to reset the nvram.
Googling over the forums I found a small and simple solution: short pin 9 of NOR flash chip to GND upon startup. CFE then fails to read the nvram, uses the default and voila. Reflash some dd-wrt image for this router, since they overwrite nvram with something working, unlike OpenWRT. That’s it for unbricking. For this dire situations I even made a button!

So the debricking sequence is simple:
Unpower the router, press the ‘debricking’ button, supply power, release the button (don’t hold it longer than 3-4 secs, okay?)

Next step was the actual SDRAM upgrade. I popped in the MT48LC32M16A2 512Mbit chip. That’s 8*16*4 configuration. Anything similar should work. Just don’t pop the DDR. AFAIK the controller supports that, but PCB routing might be different. Anyways, I haven’t tried – just sticked with sdram.
Next is some console magic, that should be run on the router when it boots. It is required so that it will see all the ram available.
nvram set sdram_init=0x0012
nvram set sdram_ncdl=0x0000
nvram commit

At this point pull the power, cross your fingers and supply power again. You will see 32Megabytes of ram reported in the loader. So, where are 32 more? Well, we have to do a little more soldering at this point: pop in a resistor to an unpopulated place near sdram chip. Short circuiting is ok, it will work, but better – pop in some 22 Ohms resitor. Obligatory pic follows:

The result is a fully alive and working 200Mhz router with 64Megs of RAM. Yappee!
Now off for washing PCB from the flux.

5 thoughts on “ASUS wl520-gU: RAM upgrade”

  1. Man, this guy knows what he is doing!:) I wonder if something like this could be done with my Zonet Router. It has some good Features for Setting up a Web Server and 150mbps Wireless too. But, it gets very slow and has to be rebooted every few days and it no longer can get on the Internet unless it is behind another Router. Very weird problem… Granted, this started after an electrical blew out some of my other Electronics. A TV that was not protected and an HDTV Converter Box. I sent it back to Zonet and they sent it back in the same state that it was in when I sent it to them. But that was the last week of the Warranty. So, I can’t send it back again even if I wanted to spend more money on shipping. I only paid $25 or so for the Zonet, so it’s not worth sending in again. So, it’s no longer in use…

    Don

  2. Dude! That’s like… Godlike!
    I wanna be like you when I grow up :D! I’ve actually never heard of RAM upgrade in a router. Nice!

Leave a Reply