Linksys WRT320N v1

Wikidevi Notes
WRT320N serial numbers appear to start with CUH0.

"3763-20300103R" is silkscreened on the board in the FCC photos and "3763-20300104R" is silkscreened on the photos below on TechInfoDepot. The device is presumably identical to the Linksys E2000.

The router has a single radio (i.e. not simultaneous dual-band).

Links of Interest

 * How to mod Cisco/Linksys WRT320N to E2000
 * Posted by bbb_forever Christmas Day(!) 2009, last updated 17-Jan-2010
 * Linksys WRT320N OpenWRT forum thread
 * Howto debrick a Linksys WRT320N Router

Flashing DD-WRT
DD-WRT User Sayling - before starting any of this, I would recommend printing this page, making a note of your current MAC address for your router, downloading the mini build and any other subsequent builds you want to flash...

(If you don't know how to login to the original firmware, read the Linksys manual). Then Reboot, login again.
 * 1) Change your computer's control panel Power Options so that it will NOT go to sleep, hibernate, screen-saver, or lose power during this critical task. Save the settings.
 * 2) Login to the Linksys original firmware. I use and recommend the Firefox 3.5.7 web browser. It should also work for Internet Explorer, but I didn't test IE.
 * 1) Then Reset to factory defaults (using the Administration\Factory defaults button).
 * 1) Go to the Linksys web firmware flash upgrade page.
 * 2) For the FIRST TIME flashing to DD-WRT, web-flash-installe using the "dd-wrt.v24-14929_NEWD-2_K2.6_mini_wrt320n.bin" build. DD-WRT User Sayling check for later builds in Eko's repository if you desire - just make sure it ends with mini_wrt320n.bin, as bbb-forever says:
 * 3) Make sure it has the suffix "_wrt320n.bin" because that file has the appropriate header info for FIRST-TIME flashing to DD-WRT on the Linksys 320N router.
 * 4) Sidebar: To find the latest build, go to http://www.dd-wrt.com/site/support/other-downloads
 * 5) Then go through Path: Downloads › others › eko › V24-K26 > {latest build number'}'
 * 6) Note: These latest builds are developmental, so there is usually some risk that things may not work as expected until someone tests it first.
 * 7) In the build folder, go up one or two folder levels to check if there are any "Readme.txt" file to read.
 * 8) I waited 3-5 minutes until the web page reported that the web-flash was successful. Wait another 3-5 minutes in case the firmware is rebooting and initializing the NVRAM or whatever (just wait to be sure that the flash is completely finished with its processing).
 * 9) The web page will usually automatically display the DD-WRT page when things are complete and ready for you to use.
 * 10) Then I manually logged-into the DD-WRT firmware. It should prompt you to change the user and password to something else.
 * 11) Then within DD-WRT, go to Status page, and verify the correct build number.
 * 12) DD-WRT User Sayling The following steps (7 to 9) seem to be a belts and braces approach, and don't appear to be necessary
 * 13) After the router is ready again, I opened the browser and web-flash-install using the "dd-wrt.v24-13493_NEWD-2_K2.6_mini.bin" build.
 * 14) Or you can choose to web-flash to any of the other same build number variants.
 * 15) Wait 3–5 minutes, and the web page should automatically report that the flash was successful. Wait another 3–5 minutes in case the firmware is rebooting and initializing the NVRAM or whatever (just wait to be sure that the flash is completely finished with its processing).
 * 16) Login to the build and verify the correct build number on the Status page. Done.

Flashing TomatoUSB

 * 1) Follow the direction above for flashing DD-WRT.
 * 2) Then flash using the GUI Tomato-K26-MIPSR2-NoUSB Std.
 * 3) (don't forget to reset the router and nvram, just after each flash)
 * 4) Tomato-K26-MIPSR2-NoUSB vpn can also be used on this router.

Reverting to OEM Firmware from DD-WRT
just reset to defaults from dd-wrt webgui, then from within the dd-wrt webgui, select the stock firmware image and flash, make sure to select "reset to defaults" on the drop down menu.

JTAG Pinouts
 nTRST  1o o2   GND TDI  3o o4	 GND TDO  5o o6	 GND TMS  7o o8	 GND TCK  9o o10	 GND nSRST 11o o12  N/C N/C 13o o14  N/C

Serial Pinouts
 VCC 1 o  TX  2 o  RX  3 o N/C  4 o GND  5 o

Serial Recovery
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=170409

DD-WRT vlan Info

 * DD-WRT:VLAN Support

Pictures
Cisco's Images

Eko's original announcement and post
Hello!

Linksys WRT320N is now supported - please use only special _wrt320n.bin builds (based on kernel 2.6).

Hardware: CPU: BCM4717A 354 MHz flash: 8MB serial ram: 32MB radio: A + G Antenna gain: 1st and 2nd main 1.5 dbi, 3rd antenna: 2.2 dBi Gigabit ethernet

WARNING: this is highly experimental and can brick your router.

I'm afraid I have really bad news for all wrt320n users - the only way to unbrick it is by using a serial console, because cfe (common firmware environment) has the wrong command to flash from tftp inside; also, the reset button is not enabled in the cfe (please - dump your anger at Linksys not at the messenger!).

If you have serial console access:

To erase nvram inside cfe, stop it and type:

erase nvram

reboot

To flash a new image, you need to stop cfe and issue the following manual command:

flash -ctheader : flash1.trx

then start tftp transfer.

Right...here is "erase nvram" procedure. You need to open the router. Next to cpu you will see some gpio dots labeled like this:  GPIO11 o <-copper dot here GPIO12 GPIO15GPIO9 GPIO6 o   <- copper dots oo       o    <--- this is gpio6 - short to ground

(a picture of the board is available here)

And you see 4 copper dots at corner of cpu. Cfe listens on gpio6 (like most other Linksys routers).

Disconnect the power from the router. Now get some thin wire or a needle; you need to ground GPIO6 (e.g to radio shield). Whilst keeping GPIO6 grounded, plug in the power (let somebody help you if needed), keep grounded for 6–8 seconds, then release. This should erase nvram.

If you are still willing to proceed:

Upgrading the firmware from stock Linksys to dd-wrt is straightforward - use the web GUI to upload new firmware. It is recommended a mini build is used first, then upgrade to any desired build for the router. Don't forget to restore to defaults between flashing the mini build and subsequent builds.

Old wrt320n thread for reference is here Dual Band (WRT320N) Now Supported

WARNING: Seems that Linksys wired the reset button to wrong gpio, so 30-30-30 reset doesn't work on this router (reset button works when dd-wrt runs). Also boot_wait is turned off by default (once you load dd-wrt, it is set to on).

Feedback welcome.

Links to build 12982: dd-wrt mini

dd-wrt std

dd-wrt openvpn

dd-wrt big

Check for new builds under my downloads, /V24-K26 and subfolders.

To turn cisco led blue / white ...
Eko:

Yellow cisco led on Linksys routers means that router got WAN ip. If you prefer it blue (white, ..) do:

In latest builds only (13522+):

Updates
DD-WRT User Sayling 23:34, 6 April 2010 (CEST) Having spent four days looking at the lengthy topics (71 pages and counting on just one thread!) in the Broadcom SoC based Hardware forum, FLAGEL collated a lot of useful information and bbb-forever posted a damn good guide to flashing an out-of-the-box router:

FLAGEL's post
Posted by FLAGEL 17-Jan-2010, last updated 05-Feb-2010

Complicated to debrick
As the Common Firmware Environment[1.1] has a typo in the command that flashes from TFTP[1.2] a bricked unit must be unbricked with the help of serial console-access[1.3]. To connect to the serial interface of the device, which is located at the bottom and inside the WAN port[1.4], one must use an USB/RS232 to LVTTL (TTL 3,3V)[1.5] adapter as otherwise you can cause damage on your device[1.6].

Also, as the reset button is not enabled in CFE[1.3], to erase NVRAM from within CFE one must issue the command "erase nvram" followed by "reboot"[1.3]. To flash a new image within CFE one must issue the command "flash -ctheader : flash1.trx" and then proceed with the commonly known procedure of TFTP-flashing[1.3]. The issues with the faulty CFE can dealt with once TJATG for this device is in working order[1.7].

If one does not have serial console-access it is possible to erase NVRAM by grounding GPIO6 for 6–8 seconds[1.3]. As seen in a picture of the PCB[1.8] GPIO6 is on top of "19" and right of "20". More details about grouping GPIO6 can be found in the forum[1.9]

Update: A work-around[1.10] involving the WPS-button is said to be available as of 2009-12-19 or by build 13493[1.10]. --DD-WRT User Sayling 23:34, 6 April 2010 (CEST)subsequent builds have the fix incorporated into the firmware now

Additional informations: A detailed tutorial based on this instruction can be found here: .

Sources: [1.1] http://www.linux-mips.org/wiki/Common_Firmware_Environment [1.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=481 [1.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=0 [1.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=49 [1.5] Could someone confirm this and also provide a credible source? [1.6] Could someone confirm this and also provide a credible source? [1.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=64 [1.8] http://www.dd-wrt.com/phpBB2/files/229_527.jpg [1.9] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=97 [1.10] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63004&postdays=0&postorder=asc&start=0

30-30-30 reset does not work
Linksys wired the reset button to the wrong GPIO, hence a 30-30-30 reset will not work[2.1].

Issue relevant as of: 2010-01-17

Sources:

[2.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=0

UPnP is broken
This issue is believed to be a general issue with DD-WRT and the Linux 2.6 kernel[3.1][3.2] (which so far is only used by a few devices, one of them being WRT320N). Many of the UPnP-related issues seem to come from the UPnP-daemon crashing[3.3][3.4]. Some cases report that a viable workaround is changing the UPnP daemon to miniupnpd[3.5].

Update: Issue is said to be fixed as of 2009-12-28 by build 13527[3.7].

Sources: [3.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61674&postdays=0&postorder=asc&start=0 [3.2] http://svn.dd-wrt.com:8000/dd-wrt/ticket/1306 [3.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=92 [3.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=174 [3.5] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=61674&postdays=0&postorder=asc&start=0 [3.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63539&postdays=0&postorder=asc&start=0

CPU use averages to 100%
The web-interface tends to show an average CPU use of >=100%[4.1] but when checking top via SSH there doesn't seem to be any process responsible for such use of resources[4.2][4.3], still many users report the device being slow[4.4]. Some users have found the UPnP daemon to crash within a few minutes and that being the source of high CPU utilization[4.5], turning off UPnP seems to help these cases[4.6][4.7].

Update: Issue is said to be fixed as of 2009-12-28 by build 13527[4.8].

Sources: [4.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=37 [4.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=44 [4.3] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=45 [4.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=59 [4.5] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=180 [4.6] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=121 [4.7] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=122 [4.8] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63539&postdays=0&postorder=asc&start=0

No support for VLAN-tagging (IEEE 801.2Q) or Jumbo Frames
The switch chip, BCM53115, which can also be found in the Linksys WRT610N, does on hardware-level support both VLAN-tagging (IEEE 801.2Q) and Jumbo Frames[5.1]. However, since the chip is currently lacking a kernel driver the factory configuration cannot be changed. Note that the option "Assign WAN Port to Switch" actually works at the kernel IP level by adding the Internet "vlan2" device to the main bridge[5.2].

Issue relevant as of: 2010-01-17

Sources: [5.1] http://www.broadcom.com/collateral/pb/53115-PB01-R.pdf [5.2] [dd-wrt-wiki:Linksys_WRT610N#No_VLAN_support

The LAN-ports are labeled backwards
This means that port labeled as 4 on the device is port 1 when it comes to VLAN-configuration, 3 is 2, 2 is 3 and 1 is 4[6.1]. The WAN-port which is labeled 0[6.1].

Issue relevant as of: 2009-12-18

Sources: [6.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=120

IPv6-related problems
There is very little consistent information available on this issue but it seems to be related to radvd[7.1]. This is some of the feedback gotten from users: [7.2]"Thanks for the build, The ipv6 using the HE tunnel broker doesn't seem to be working." [7.3]"Thank Eko, the ipv6 seems to be coming up fine now with the 13000 build. I don't see any errors in the log file except that radvd is looking for radvd.conf file in the wrong place. I fixed it by addig radvd -C /tmp/radvd.conf in the startup script. After that cliets get the ipv6 address right, but can't connect to any ipv6 address. Tracert or ping yield 1 Destination net unreachable. I am using HE tunnel broker and I am using the same scripts I used on the 11296M NEWD Eko build on my old WRT54GS ver1 router (which was working for months without any issues)" [7.4] "After some research, it seems creating the ipv6 over ipv4 tunnel is failing." [7.5]: "I'm currently running 13000M and I have problems with the ipv6. When I try to create a tunnel interface I get an ioctl: no such device." [7.6]: "Among other things ipv6 is the main reason I use dd-wrt, still no support with the 12982 build, it would be nice if it is supported. daemon.info radvd[792]: version 1.2 started daemon.err radvd[792]: can't create socket(AF_INET6): Address family not supported by protocol"

Issue relevant as of: 2010-01-17

Sources: [7.1] http://www.litech.org/radvd/ [7.2]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=20 [7.3]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=152 [7.4]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=159 [7.5]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=198 [7.6]http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=85

Enabling the OpenVPN client bricks the device
The generation of OpenVPN certificates bricks the device due to NVRAM overflowing[8.1][8.2]. The NVRAM is 64KiB big (0x007f0000-0x00800000)[8.2][8.3], but is unfortunately limited to 32KiB as the CFE must be able to read from it[8.4].

Issue relevant as of: 2010-02-03

Update:

It could be that the ones who have bricked their device have had a lot of other things configured as well, hence NVRAM already having been close to full. One can from a shell with the help of "nvram show | grep size" see how much free NVRAM is available[8.5]. When it comes to server side configuration, using a KEY_SIZE of 1024 will need about 5200 bytes while a KEY_SIZE of 2048 will need about 6000 bytes of NVRAM[8.5]. No mention of client side configuration requirements.

Sources: [8.1] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=68 [8.2] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=635 [8.3] http://svn.dd-wrt.com:8000/dd-wrt/ticket/986 [8.4] http://www.dd-wrt.com/phpBB2/viewtopic.php?t=58566&postdays=0&postorder=asc&start=636 [8.5] [dd-wrt-wiki:VPN_(the_easy_way)_v24%2B#Enough_NVRAM_storage_space.3F

Some trouble-shooting tips
If your router is NOT getting its WAN and DNS numbers properly from the cable Internet modem, then...

- Un-plug the cable Internet modem and router, and disable your computer's LAN or Wireless adapter.

- Re-plug the cable Internet modem, wait 1 full minute, then re-plug the DD-WRT router and wait 1 full minute.

- Then enable your computer's LAN or Wireless adapter.

- This should force the DHCP protocol to get the WAN, DNS, and local IPs from your ISP provider and give them to the modem, router, and computer LAN adapter correctly.

- Then login to the DD-WRT Mini build, and go to the Status > WAN page to check the IPs numbers are displayed.

If you lose Internet access, but used to have it with the old router, then this may a possible remedy:

- Some Cable Internet providers, like Comcast, do NOT like an unknown (or foreign) MAC address device on its network, and it may (or may not) cut off Internet access within 5–30 minutes. - If that happens, then you will have to Clone the MAC Address to be the identical MAC address as either:

(a) the local computer's MAC address or (b) the previous router's WAN MAC address (yes, you might have to login to your old router to find it's WAN MAC address or look on the bottom of the router).

- Think of your previous PC or router's MAC address as the "MAC password" to use the Cable Internet system (e.g. Comcast). - Seriously, write the nasty hexadecimal MAC address down and keep it safe for any future changes to your router.

- You may NOT have realized it, but Comcast does try to get and lock down the MAC address of the first router device at the time the ISP service is first installed and set-up.

- If you want to deal with your ISP, you may have to call them to see if they can reset your MAC address to get the new MAC on your new router (instead of using the old router's MAC address). - Sometimes, it's just easier and faster to Clone the MAC Address than to deal with the ISP customer rep (who may NOT understand what you're asking about), so you decide.

DD-WRT User Sayling Now that you have your dd-wrt firmware installed successfully, you can flash any later build you have your heart set on - but check first it is for the WRT320N!

Hardware Modification

 * Turn a WRT320N in to an E2000
 * Converting a WRT320N into E2000 (Success!)