WRT160N - Notes

 Tinkering with a linksys wrt160n

Introduction

Some of the information here is no longer correct. The recent release of OpenWRT 'Backfire' has partial support for this router. The official firmware has incorrect wireless drivers compiled in. The Quirks and Issues are still accurate because the bug is in the CFE and not replaceable. Scroll down to find a link to the custom WRT160N V1 firmware.


 The WRT160N from Linksys is a 802.11N capable wireless router.  It runs a Linksys designed Linux firmware. The source code is available to build the firmware (and modify it if you desire).

The OpenWrt project has been creating a type of firmware for these types of devices for years so I first checked to see if they had some info about it. The device was still kinda new and there was no support or information about it.

So I logged into the wiki there and created a basic page to start collecting information about it. Lots more information has been added since that day.

Here it is so far - > WRT160N.

Below are some firmware images I have built for this router. Please read about the quirks and issues this router has before flashing them. (Boot_wait does not work! You cannot TFTP an image to the router to recover it!)

Quirks and Issues

Flash Chip Support

The System on a Chip uses an 8-bit bus to communicate with the flash chip. All of the current OpenWrt images on the download page are built with support for 16-bit bus flash chips only. To get OpenWrt to run on the WRT160N you will need to use an image provided on this page or build it yourself with the correct options enabled.

If you flash an image with only 16-bit bus support it will likely just kernel panic because it cannot find the mtd flash device and thus cannot find the rootfs. Then it will reboot 5 seconds later and try again, just to panic again and then loop in that fashion. Here is what it looks like with a serial console. If this happens look a few sections below how to recover from a bad flash.

To access the flash chip with jtag you need to use software that can understand the 8-bit bus. TJTAGv3 RC1 can read the chip and dump the information to a file. At this point in time the software can READ only. No write support. More information in this thread at the dd-wrt forums. Information relevent to the WRT160N starts around page 33.

Boot_Wait (does not work)

Normally WRT* linksys routers have a nvram variable setting called boot_wait. If this variable is set on then the router will wait for a few seconds at boot and check to see if you are sending a new firmware to it for an upgrade. If you send a file to it via TFTP during that time then it will receive it, check the CRC to verify the image isn't corrupted, and then flash it to the router.

Now the problem with the WRT160N is that when you send it a image file to be flashed it will receive, but will not flash it because the command it uses to do that contains an invalid argument. So you should only flash known good firmware and do it carfully.

If you have a serial console attached to the router you can watch it boot and can resolve this problem if it happens.

Recovery of a Bad Flash

To make your device bootable again you should aquire a TTL-RS232 adaptor and use that to access the console of the device. Boot_wait does not work! 


The official openwrt images do not have wireless support out of the box. Try this firmware and give feedback if something is not working as expected.

Experimental Images! - draft 802.11N is not supported at this time

I hope that I don't scare you away with the label 'Experimental'! I have loaded each of these images onto my own Linksys WRT160N router to make sure they work. Serial Number: CSE01H580522 

Wikipedia claims that my device is a version 1.1 (Link to article) If you have a WRT160N please Email me the details about it so we can confirm the details gathered so far and perhaps fill in some of the blanks.

OpenWRT Backfire 10.03 with Luci - From May 3, 2010

openwrt-backfire-wrt160n-v1.zip


Older Files

OpenWRT 8.09 rev.14417 with Luci 0.8.6 - From Feb 4, 2009

luci-WRT160N-rev14417.zip

OpenWRT 8.09 rev.14417 minimal - From Feb 4, 2009
minimal-WRT160N-rev14417.zip


OpenWRT rev.13088 minimal - From Oct 31, 2008

rev13088-WRT160N-minimal-experimenta.zip

OpenWRT rev.13088 with luci - From Oct 31, 2008

rev13088-WRT160N-luci-experimental.zip

OpenWRT rev.13088 with WebIF2 - From Oct 31, 2008

rev13088-WRT160N-xwrt-experimental.zip


Patches

Includes model detection and proper LED assignment.  Includes model detection and proper LED assignment. as well as the needed kernel options to detect flash chip.

Pictures

  1. Picture of JP1 - wrt160n-JP1_1.jpg
  2. Picture of JP2 - wrt160n-JP2_2.jpg
  3. Picture of JP3 - wrt160n-JP3_1.jpgt