Linksys WRT160N v3

Wikidevi Notes
Exactly the same hardware as M10 and E1000

"3763-01010103R" is silkscreened on the board in the FCC photos.

Links of Interest

 * 100 pages of WRT160Nv3 posts condensed (Device thread reset)
 * Linksys WRT160N v3.0 Information
 * jtag 160v3 & e1000 resistor values
 * My Thread for WRT160N V3 serial# CSE51
 * WRT160N version 3
 * Linksys WRT160N v3 Tomato install guide

Flashing DD-WRT

 * 1) Read the Peacock Announcement.
 * 2) Download dd-wrt.v24-14929_NEWD-2_K2.6_mini_wrt160nv3.bin.
 * 3) Set a static IP on your computer to 192.168.1.7. Subnet mask should be 255.255.255.0
 * 4) Connect the lan cable from your computer to a LAN port of your router. Make sure your router is plugged in. Nothing should be connected to your computer or the router except the lan cable between them.
 * 5) Ensure you have a physical Ethernet connection to your router, and disable your wireless adapter, antivirus/firewall protection, and any software that makes strong use of your network (BitTorrent, Streaming Audio/Video, etc).
 * 6) Perform a hard 30/30/30 reset.
 * 7) Navigate to http://192.168.1.1/ in your web browser of choice.
 * 8) At the Linksys Management Mode screen, do not give the reboot command. You will use this page to upgrade your firmware.
 * 9) Browse to the firmware you downloaded and click Upload.
 * 10) Do not touch anything. The page will tell you that the upgrade was successful and the router is now rebooting. Your router may take upwards of a couple minutes to reboot. Watch the lights... once the wireless and power indicators are on steadily for several seconds, your router is fully rebooted and you can click "Continue" in your browser window.
 * 11) If the DD-WRT password change page displays, your upgrade has been successful, and you must now perform another hard 30/30/30 reset. This time, when you navigate to http://192.168.1.1/, click "Reboot" and wait for the router to come online again so you can configure it.

If the DD-WRT password change page does not display, your page request times out, or you can't ping 192.168.1.1, make sure both wireless and power lights are on steadily first, then do a hard power cycle (unplug the power from the router—do not do a 30/30/30 reset). Wait a few seconds and plug the power back into the router. Wait until both wireless and power lights are on steadily, then navigate to http://192.168.1.1/ in your browser of choice again. If the DD-WRT password change page displays, your upgrade has been successful, and you must now perform another hard 30/30/30 reset. This time, when you navigate to 192.168.1.1, click "Reboot" and wait for the router to come online again so you can configure it.

If you wish to experiment with a newer build, you should read the "build thread" for any build you are considering putting on your router, before flashing a newer build, (as discussed in the peacock announcement).

Preparation

 * 1) Use a wired connection only. (disable wireless to be in the safe side)
 * 2) Make sure you disable firewall in Windows.
 * 3) Disable the virus guard.

Let's Begin!

 * 1) Download and extract the K26-MIPSR2 Tomato USB Firmware. Mini, STD or VPN version is up to you. With this router you can only use certain builds. It's flash size is only 4MB. (Get them Here)
 * 2) Connect your computer's using network cable to one of the LAN ports of the Asus router. Manually set your computer IP address (in the TCP/IP properties of the LAN connection) to 192.168.1.2, network mask 255.255.255.0.
 * 3) Upgrade to dd-wrt first.
 * 4) After upgrade, go to the router by typing 192.168.1.1, after setting the username and password go to administration then firmware upgrade. Click browse and find the TomatoUSB firmware file. Click upgrade.
 * 5) After upgrading is complete open your browser, go to the router by typing 192.168.1.1, when prompted for a username and password enter "root" and "admin". Go to Administration > Configuration > Restore Default Configuration, select "Erase all data in NVRAM memory (thorough)" and click OK. To insure that the processor has time to complete addressing all NVRAM variables it's best to wait about 5 minutes before making any changes.

You are now ready to start using your router with Tomato.

Reverting to OEM Firmware from DD-WRT

 * 1) Read the peacock announcement found here: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486
 * 2) Do a Hard reset or 30/30/30 on the router according to note 1 of the peacock announcement (30/30/30)
 * 3) Set a static IP on your computer to 192.168.1.7. Subnet mask should be 255.255.255.0.
 * 4) Connect the lan cable from your computer to a LAN port of your router. Make sure your router is plugged in. Nothing should be connected to your computer or the router except the lan cable between them. Turn your firewall and any wireless computer connections OFF.
 * 5) Power cycle the router (uplug the power from the router for 30 seconds and then plug it back in)
 * 6) Open your browser to 192.168.1.1 by putting that in the browser address window of your browser. You should open the linksys webgui and NOT a page that says Management Mode. If you see management mode, power cycle the router again.
 * 7) Enter your username and password
 * 8) Go to administration and firmware upgrade
 * 9) Navigate to the folder that you are using, and select WRT160N_3_0_02_004.code.bin.
 * 10) Hit upgrade
 * 11) When you get a success, wait FIVE FULL minutes.
 * 12) When you can again access the Linksys webgui using a browser at 192.168.1.1, do another Hard reset or 30/30/30 on the router.
 * 13) Reset your computer ethernet connection to auto IP and auto DNS

JTAG Pinouts
 nTRSt - R64 - 1o o2 GND TDI - R65 - 3o o4 GND TDO - R66 - 5o o6 GND TMS - R67 - 7o o8 GND TCK - R68 - 9o o10 GND N/C - -- - 11o o12 N/C

DD-WRT JTAG Recovery
Source

As most know.. The wrt160n v3 & the E1000 v1 are identical in regards to hardware.

As most know, Linksys has disabled the jtag circuit in these routers by leaving out smt components (just like the 610 v2 & E3000)

I'll link this in another thread where a dd-wrt member needs jtag for this router.

I traced the jtag header to the missing components. What needs to be done, is to bridge the pads on the pcb. There are 5 pads that need to be bridged.

Four can be found on the bottom of the pcb, and one on the top.

They are marked R64, R65, R66, R67, & R68.

R67 is on the top side of the pcb, and the rest on the bottom.

Attached are pics showing the pads that need to be bridged as well as the jtag output doing a -probeonly.

The ribbon cable you will see in one of the pics, is connected to a serial header I hot glued to the side of the pcb. This router I purchased to assist the devs (Eko) in porting dd-wrt to this router. Cuz we bricked it many times, pogo pins to the serial pads would not do. I needed something I could connect to many times.

jtag output
C:\E1000>tjtag302 -probeonly

=
================================= EJTAG Debrick Utility v3.0.2 RC2-1 Tornado-MOD

=
=================================

Selected port = 0x378

Intial value of Control register is 000000CC Intial value of status register is 0000007F 01111111 (0000007F)

Status bit 7 Busy Inverted pin 11 = 1 Status bit 6 *Ack pin 10 = 1 Status bit 5 Paper-out pin 12 = 1 Status bit 4 Select pin 13 = 1 Status bit 3 *Error pin 15 = 1
 * means low = true, e.g., *Error

VCC connected values of Control register after init 0x000000CC value of status register after init 0x0000007F system reset complete

Detected IR chain length = 32 Number of device(s) = 1

idcode 0x000a817f 32 Jtag is in LV mode switching to MIPS mode Probing bus ... Done

Instruction Length set to 5

CPU Chip ID: 00010000000010001100000101111111 (1008C17F)
 * Found a Broadcom BCM5356A1 KFGB REV 1 CPU chip ***

- EJTAG IMPCODE ....... : 01100000010000010100000000000000 (60414000) - EJTAG Version ....... : 3.1 - EJTAG DMA Support ... : No - EJTAG Implementation flags: R4k ASID_8 MIPS16 NoDMA MIPS32

Issuing Processor / Peripheral Reset ... Done Enabling Memory Writes ... Skipped Halting Processor ...  ... Done Init PrAcc ... Done Clearing Watchdog ... Done

Chip ID b83a Chip Rev 0 Package Options 2 Number of Cores 5 Core Revision 63 Core Type 8830 Core Vendor ID 15200000 Flash Type 100 Flash Type = SFLASH_ST Dest is bits 0 Dest is bits1 0 Dest is bits 0 Flash is byteswapped 0 Endian Type is LE 0 PLL Type 00000000 00000000000000000000000000000000 (00000000) 00000000000000000000000000000000 (00000000) 00000000000000000000000000010010 (00000012) Done

Flash Vendor ID: 00000000000000000000000011000010 (000000C2) Flash Device ID: 00000000000000000010000000010110 (00002016)
 * Found a Macronix MX25L3205D (4MB) Serial Flash Chip ***

- Flash Chip Window Start .... : 1FC00000 - Flash Chip Window Length ... : 00400000 - Selected Area Start ........ : 00000000 - Selected Area Length ....... : 00000000


 * REQUESTED OPERATION IS COMPLETE ***

C:\E1000>

Serial Pinouts
 VCC o TP12 TX o TP13 RX o TP14 N/C o TP15 GND o TP16

DD-WRT Serial Recovery
Modified redhawk0 instructions
 * 1) Print out these instructions for Off-Line use
 * 2) Connect PC to router with a network cable
 * 3) Configure PC with a static IP of 192.168.1.10
 * 4) Connect Serial cable
 * 5) Start one of the programs from above
 * 6) Get TFTP ready with file selected
 * 7) Use dd-wrt.v24-14929 NEWD-2 K2.6 mini wrt160nv3.bin
 * 8) Connect power to the router
 * 9) start a rapid fire Cntl-C as you plug the router to power
 * 10) type "nvram erase" w/o quotes, hit enter
 * 11) type "flash -ctheader : flash1.trx" w/o quotes, this starts the tftp daemon, hit enter
 * 12) but have TFTP ready
 * 13) Click go or start on TFTP
 * 14) give it 5 minutes after it finishes
 * 15) then power cycle....Hard reset or 30/30/30...then config
 * 16) when it stops spitting out txt....hit the enter key...you should get a login prompt...at that point, power cycle it, hard reset...then config
 * 17) you'll see it boot up

DD-WRT vlan Info
VLAN Support

Confirmed the WRT160N v3.0 supports port-based vlans via the GUI and nvram with build 14929.

Label backwards in the GUI  1 2 3 4 | GUI labels 4 3 2 1 | Case labels WRT160N v3.0's ports are mapped like this:  1 2 3 4 | case labels 4 3 2 1 | nvram port numbers

Defaults
root@DD-WRT:~# nvram show | grep vlan.ports vlan2ports=0 5 vlan1ports=4 3 2 1 5* vlan0ports=1 2 3 4 5* size: 19942 bytes (12826 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=1 2 16 port4vlans=1 port3vlans=1 port2vlans=1 port1vlans=1 port0vlans=2 size: 19942 bytes (12826 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan2hwname=et0 vlan1hwname=et0 vlan0hwname=et0 size: 19942 bytes (12826 left) root@DD-WRT:~# lsmod Module                 Size  Used by nf_nat_pptp             4096  0 nf_conntrack_pptp      4096  1 nf_nat_pptp nf_nat_proto_gre       4096  1 nf_nat_pptp nf_conntrack_proto_gre    4096  1 nf_conntrack_pptp etherip                8192  0 switch_robo            4096  0 switch_core            8192  1 switch_robo root@DD-WRT:~# ls /proc/switch eth0 root@DD-WRT:~# cat /proc/switch/eth0/vlan/0/ports 1      2       3       4       5t root@DD-WRT:~# cat /proc/switch/eth0/vlan/1/ports 1      2       3       4       5t* root@DD-WRT:~# cat /proc/switch/eth0/vlan/2/ports 0      5t root@DD-WRT:~#

Commands
root@DD-WRT:~# nvram set vlan2ports="0 4 5" root@DD-WRT:~# nvram set vlan1ports="3 2 1 5*" root@DD-WRT:~# nvram commit root@DD-WRT:~# reboot

nvram
root@DD-WRT:~# nvram show | grep vlan.ports vlan2ports=0 4 5 vlan1ports=3 2 1 5* vlan0ports=1 2 3 4 5* size: 20131 bytes (12637 left) root@DD-WRT:~# nvram show | grep port.vlans port5vlans=1 2 16 port4vlans=1 port3vlans=1 port2vlans=1 port1vlans=1 port0vlans=2 size: 20131 bytes (12637 left) root@DD-WRT:~# nvram show | grep vlan.hwname vlan2hwname=et0 vlan1hwname=et0 vlan0hwname=et0 size: 20131 bytes (12637 left) root@DD-WRT:~#

Pictures
Cisco's Images

DD-WRT Notes

 * One user noted from forum on making this router stable when on 3309-mini firmware is to not set it to N mode - I've used it in mixed BG and it has been fine, and the forum says G-only works. ( some of this discussion is here: http://dd-wrt.com/phpBB2/viewtopic.php?t=54781&postdays=0&postorder=asc&start=210)

K26 build 13253

DD-WRT Recovering from a bad flash

 * 1) Hard reset or 30/30/30
 * 2) Login to http://192.168.1.1/ and you will see the Linksys - Management Mode page.
 * 3) Browse to dd-wrt.v24-14929_NEWD-2_K2.6_mini_wrt160nv3.bin
 * 4) Click Upgrade
 * 5) In a moment, you will see "Upload completed. System is going to reboot. Please wait a few moments." When the lights return to their normal state, you can click "Continue" to be taken to the router's main page.
 * 6) Upgrade to the build you want via "How to upgrade if dd-wrt is already installed"

DD-WRT Performing a 30/30/30 Reset on a WRT160Nv3

 * 1) Perform a normal 30/30/30 reset.
 * 2) Login to http://192.168.1.1/ and you will see the Linksys - Management Mode page.
 * 3) Click "Reboot."
 * 4) In a moment, you will see "Command reboot completed." The router will now start the reboot process. When the lights return to their normal state, you can click "Continue" to be taken to the router's main page.

DD-WRT How Lights Behave During Reboot on a WRT160Nv3
When you power cycle a WRT160Nv3, the lights will act as follows:


 * 1) Power light blinks. If LAN or WAN cable is plugged in, their respective lights will flash on activity.
 * 2) Power light turns off for several seconds.
 * 3) All lights, except power light, turn on and then off.
 * 4) Power light blinks slowly, then faster, and WLAN light will turn on.
 * 5) Once Power light and WLAN light are on solid, the router is fully rebooted.

DD-WRT gpio's
1 - [out] Power LED 2 - [out]  Orange SES LED 4 - [out]  Blue SES LED 5 - [in]    SES Button

DD-WRT Wireless Security LED Script
Works in both DD-WRT and TomatoUSB while sleep 5; do if [ `nvram get wl0_security_mode` = "disabled" ]; then gpio enable 4; else gpio disable 4; fi; done & or while sleep 1; do if [ `nvram get wl0_security_mode` = "disabled" ]; then gpio enable 4 gpio disable 2 else gpio enable 2 gpio disable 4 fi done & For a more simple solution to the amber light, the following telnet/SSH commands should change it to blue permanently: nvram set connblue=1 nvram commit reboot

Hardware Modification

 * Linksys WRT160N Modified with External Antenna