User Tools

Site Tools


Linksys WRT160N

Supported Versions

According to Linksys_WRT300N_series#WRT160N there is more than one version of this device. Please see what version you have and add information to the wiki or post in this forum thread.

Model CPU Wireless Flash RAM S/N FCC ID OpenWrt Kamikaze OpenWrt Backfire OpenWrt trunk (Barrier Breaker)
WRT160N v1.0 BCM4704 BCM4321? 4MB 32MB CSE01? X Y OOM
WRT160N v1.1 BCM4703 BCM4321 4MB 16MB CSE01 Q87WRT160N X (See Below) ? ?
WRT160N v2.0 RT2880F Ralink 4MB 16MB CSE11 Q87WRT160NV2 not supported ? ?
WRT160N v3.0 BCM4716 ? 4MB 32MB CSE41/CSE51 Q87WRT160NV3 WIP (not supported yet, see below) ? WIP


Standard Backfire 10.03.1, Attitude Adjustment 12.09, and Barrier Breaker 14.07 images flash and work. However, AA and BB tend to run very slowly due to low RAM and OOM if LuCI is used.

Therefore, Backfire 10.03.1 is recommended.


V3.0 has the same hardware as the Linksys E1000 v1; see the information for it, which may be helpful.

As of 2013-08-27, trunk snapshots support the WRT160Nv3:

Please see also the following forum topics:


Flash Layout

OEM easy installation


How To Build

v3 don't related? (fixme) - it appears that just enabling it in backfire kernel don't make this router to work.

make kernel_menuconfig

  1. enable "Support 8-bit buswidth"
         -> Device Drivers 
           -> Memory Technology Device (MTD) support (MTD [=y])
             -> RAM/ROM/Flash chip drivers
               -> Flash chip driver advanced configuration options (MTD_CFI_ADV_OPTIONS [=y])
                 -> Specific CFI Flash geometry selection
                     [*]     Support  8-bit buswidth
  2. Exit the configuration menu and save the settings.
  3. build the whole thing again with the new config. (This time wont take as long)

Now you can flash the firmware image in /bin to your WRT160N using the Linksys web interface. (I tried the openwrt-wrt150n-squashfs.bin and it worked; openwrt-brcm-2.4-squashfs.trx also works if using the tftp install method)

  • The wireless works when you enable it in /etc/config/wireless


v1.0/v1.1 v2.0 v3.0
Architecture: MIPS MIPS MIPS
Vendor: Broadcom Ralink Broadcom
Bootloader: CFE uboot CFE
System-On-Chip: Broadcom 4703KFBG RT2880F (MIPS 4KEc V?.?) Broadcom 4716B0KFBG (MIPS 74Kc V4.9)
CPU/Speed BCM4703 266 MHz 266 MHz BCM4716 300 MHz
Flash-Chip: EN29LV320AB ?? ??
Flash size: 4 MiB 4 MiB (Samsung 813; K8P3215UQB or EON Silicon EN29LV320AB) 4 MiB (MX 25L3205DM2I)
RAM: 32/16 MiB 16 MiB (WindBond W9864G6IH 64Mbit SDRAM) 16 MiB (Winbond W9425G6EH-5H)
Wireless: BCM2055/BCM4321 ? ?
Ethernet: BCM5325 RTL8306SD BCM5325
USB: No No No
Serial: Yes Yes Yes
JTAG: Yes Yes Yes

Pads/headers on PCB


There is 3 sets of pads on the PCB of the WRT160N.

Half of the JP1 and JP3 pads are on the reverse side of the PCB. JP1 is the JTAG port. JP2 is a serial port and it works if you use a 3.3v TTL to RS-232. * There is a hidden EXTERNAL serial port above the YELLOW INTERNET sticker inside the RJ-45 jack. Use a light to see it, 3.3v, rx, tx, grd, are all clearly labled. (special plug anyone?)*



On Reverse Pad 2 GND Pad 4 GND Pad 6 GND Pad 8 GND Pad 10 GND Pad 12 ?
On Front Pad 1 RESET# Pad 3 TDI Pad 5 TD0 Pad 7 TMS Pad 9 TCK Pad 11 GND

# Reset# of Flash Memory


3.3v TTL Serial

On Front Pad 1 3.3v Pad 2 TX Pad 3 RX Pad 4 Not Connected Pad 5 GND


On Reverse Pad 2 GND Pad 4 GND Pad 6 GND Pad 8 GND Pad 10 GND Pad 11 ?
On Front Pad 1 ? Pad 3 ? Pad 5 ? Pad 7 ? Pad 9 ? Pad 12 ?


J10 is a serial port and it works if you use a 3.3v TTL to RS-232.

J11 is an empty 14-pin header and is likely a JTAG port to the CPU.


Near WAN port Pin 1 3.3v Pin 2 TX Pin 3 RX Pin 4 NC Pin 5 GND


Pin 1 ? Pin 3 ? Pin 5 ? Pin 7 ? Pin 9 ? Pin 11 ? Pin 13 ?
Pin 2 ? Pin 4 ? Pin 6 ? Pin 8 ? Pin 10 ? Pin 12 ? Pin 14 ?


The JTAG software needs to support 8-bit operation. tjtag v3-RC1 by Tornado can be used to read the flash chip.


→[doc:hardware:port.serial]] JP2/J10 is a 3.3v serial port. Boot messages can be seen if you connect a 3.3v level shifter here and monitor with a serial port.

DO NOT CONNECT DIRECTLY TO A PC SERIAL PORT. Use a 3.3v TTL level shifter. Details at this page:



J2 appears to be a standard 12-bin JTAG port

Serial Ports

TP12-16 make up a 3.3V serial port. These are not through-holes, so wire has to be soldered directly to the exposed test point. Connect at 115200 Baud.

TP12 TP13 TP14 TP15 TP16



If the device becomes bricked, (and this can happen very easily with this device) you should attach a serial port to it to view the console and see why it has stopped booting.

  • Boot_wait does not seem to work on this device.
  • One common reason for it to stop booting is, after loading a image that doesn't recognize the 8-bit flash, it will be stuck in a endless reboot loop.
  • Once the serial console is installed you can use a terminal emulator to stop the boot and manually flash a good image to it.
  • Connect to the device using 115200 baud 8-n-1 and No Flow Control.
  • press Ctrl + C very early in the boot to break into the CFE prompt.
  • Enter this command to make the router accept an image via tftp.
    flash -ctheader : flash1.trx


To recover it, do the following procedure:

  • Turned on, press the Reset button for 30 seconds
  • Turn it off, without releasing the reset button
  • Turn it on again, still without releasing the reset button for 30 seconds.
  • Release the reset button.
  • Now, it is in recover firmware mode and running just with the IP (it don't matters the configured IP in the router) in one of the 4 ethernet interfaces.
  • Configure your computer with another IP in that range (ex. in the ethernet interface and access . At this point, you should see a very simple firmware upgrade page.
  • Upload the good firmware (if you're in doubt, take the correct one in the LinkSys page). After the upgrade and the "upload ok" message in the page, wait for a minute. Now, your router should be running!
toh/linksys/wrt160n.txt · Last modified: 2015/04/17 02:06 by Hello71