Enabling 32MB memory on the linksys WRT54G router (version 2.2 XH only!)

Once in a while luck strikes. I was really lucky buying an wrt54g when they first appeared. I got a revision 2.2 which meant that they had ironed out the bugs from the first revisions, but not yet decided to cripple the unit as they did in revision 5 and 6. Furthermore I was lucky enough to get a revision 2.2XH on which linksys, for unknown reasons, has put 32MB of memory (normally 16MB for other revisions). Linksys has disabled half of the 32MB to make the unit look like every other wrt54g. Here is how to enable it.

Firstly, no cheating:

~ # uname -a
Linux dd-wrt 2.4.34-pre2 #174 Fri Sep 15 20:38:23 CEST 2006 mips unknown

How much memory to begin with:

~ # cat /proc/meminfo | head
total: used: free: shared: buffers: cached:
Mem: 14516224 13836288 679936 0 462848 5664768
Swap: 0 0 0
MemTotal: 14176 kB

Perform some magic:

~ # nvram set sdram_init=0×008
~ # nvram set sdram_ncdl=0×000
~ # nvram commit
nvram_commit(): end
~ # reboot

How much do we have now?

~ # cat /proc/meminfo | head
total: used: free: shared: buffers: cached:
Mem: 31113216 18386944 12726272 0 1835008 8638464
Swap: 0 0 0
MemTotal: 30384 kB

Ofcourse I use a custom firmware on the unit, but more on that in another post.

Leave a Reply

You must be logged in to post a comment.