====== Linksys by Cisco WRT160NL ====== Atheros AP81 reference design with USB & 802.11 b/g/n WiFi. ===== Supported versions ===== ^ Version/Model ^ S/N ^ OpenWrt Version Supported ^ Model Specific Notes ^ | v1 | CUR01 | Kamikaze trunk r17250 & later | WORK IN PROGRESS | ===== Hardware Highlights ===== ^ CPU ^ Ram ^ Flash ^ Network ^ USB ^ Serial ^ JTag ^ | Atheros| 32MB | 8MB | 4x10/100 | Yes | [[#Serial|Yes]] | [[#JTAG|Yes]] | ===== Installation ===== | //WORK IN PROGRESS DO NOT FLASH IF YOU LACK SERIAL CONSOLE// | - -> [[doc:howto:obtain.firmware]] - -> [[doc:howto:generic.flashing|Install OpenWrt]] | {{:meta:icons:tango:48px-outdated.svg.png?nolink}} | OpenWrt 10.03 has problems with ath9k driver and newer devices shipped with U-boot 1.1.6. These problems are resolved in RC version of OpenWrt 10.03.1. It seems installing 10.03.1 (even in RC stage) provide better stability than final version of 10.03. | ==== Using ready build ==== You can download [[http://downloads.openwrt.org/backfire/10.03/ar71xx/|10.03]] build called openwrt-ar71xx-wrt160nl-squashfs.bin. After using it you will have to install **kmod-ath9k** to [[doc:uci/wireless|get WiFi working]]... opkg update; opkg install kmod-ath9k rm -rf /etc/config/wireless; wifi detect > /etc/config/wireless ...and to add [[doc:uci/wireless/encryption#atheros.and.generic.mac80211.wifi|wpa encryption]] if you plan to use it. ==== Building OpenWrt yourself ==== People who want more up-to-date OpenWrt may [[doc:howto:build|build]] a copy of trunk with the WRT160NL profile selected. {{:inbox:wrt160nl.profile.-.1.png?400|WRT160NL Profile Selected}} {{:inbox:wrt160nl.profile.-.2.png?400|WRT160NL Profile Selected}} ===== OEM easy installation ===== Can be flashed from the original web interface with file openwrt-ar71xx-wrt160nl-squashfs.bin ===== OEM TFTP install ===== Set a PC on same network to some address in IP range 192.168.1.[2-254]. Download either Linksys or OpenWrt firmware image (openwrt-ar71xx-wrt160nl-squashfs-factory.bin), store as code.bin. From serial console abort the U-boot process. Enter this on u-boot command line ar7100> upgrade code.bin check link duplex:Full/speed:100 dup 1 speed 100 Tftpd start listening on port[69]! Load address: 0×80060000 Send file from windows PC with TFTP: C:\tmp> tftp -i 192.168.1.1 put code.bin For linux TFTP tftp -m binary 192.168.1.1 69 tftp> put code.bin You should see this on console wait for flash to finish: Receiving firmware [code.bin] from [192.168.1.10] Write File : CODE.BIN Once U-boot command prompt returns enter ar7100 > go ===== Upgrading OpenWrt ===== -> [[doc:howto:generic.sysupgrade]] ==== Sysupgrade ==== In trunk changeset 17202 sysupgrade got enabled for the WRT160NL. cd /tmp wget ... sysupgrade -n openwrt-ar71xx-wrt160nl-squashfs.bin The sysupgrade ''-n'' command line switch tells sysupgrade to not keep the configuration files. ==== mtd ==== cd /tmp wget ... mtd -r write /tmp/openwrt-ar71xx-wrt160nl-squashfs.bin firmware ===== Basic configuration ===== -> [[doc:howto:basic.config|Basic configuration]] After flashing, proceed with this.\\ Set up your Internet connection, configure wireless, configure USB port, etc. ===== Support history ===== - Preliminary support was added in trunk changeset [[https://dev.openwrt.org/changeset/16068|16068]]. - Switch code added in Kamikaze trunk changeset [[https://dev.openwrt.org/changeset/17057|17057]]. - ''Sysupgrade'' feature added since trunk changeset [[https://dev.openwrt.org/changeset/17202|17202]], enabling a firmware upgrade alternative. - Various fixes & addition of profile resolved major issues by changeset [[https://dev.openwrt.org/changeset/17249|17249]] and [[https://dev.openwrt.org/changeset/17250|17250]]. ===== Hardware ===== Note that port 5 on the internal Ethernet switch is not connected to or used for anything. {{:toh:linksys:openwrt_160nl_v2.png|}} ==== Info ==== | **Architecture:** Atheros AP81 | | **Vendor:** CyberTan | | **Bootloader:** U-boot 1.1.5 / 1.1.6 | | **CPU:** Atheros 9130-BC1E 400 Mhz | | **Flash-Chip:** cFeon EN25P64 8 MiB | | **RAM:** Samsung K4H561638J-LCCC 32 MiB | | **Wireless:** Atheros 9102 802.11 b/g/n (integrated) | | **antenna:** 2 removable external RP-SMA dipoles | | **Ethernet:** RTL8306SD | | **USB:** Yes 1x 2.0 | | **Serial:** [[:inbox#Serial|Yes]] | | **JTAG:** [[:inbox#JTAG|Yes]] | == More Info == | **System:**Atheros AR9130 rev 2 | | **Processor:**MIPS 24Kc V7.4 | | **Firmware: **Backfire (r22689) | | **Memory: **29456| ==== Photos ==== Annotated photos available [[http://www.flickr.com/photos/retracile/sets/72157621525109729/|here]] Model Number //Front:// {{:inbox:wrt160nl-front.jpg.jpg?500|This is the Front of WRT160NL}} //Back:// {{:inbox:wrt160nl-back2.jpg?500|This is the Back of WRT160NL}} {{:inbox:wrt160nl-ports.jpg?500|These are the ports of WRT160NL}} //Circuit Board - Front:// {{:inbox:wrt160nl-circuit.jpg?500|This is the Circuit Board Front of WRT160NL}} //Circuit Board - Back:// {{:inbox:wrt160nl-circuit.back.jpg.jpg?500|This is the Circuit Board Back of WRT160NL}} ==== Opening the case ==== **Note:** This will void your warranty! *To remove the cover simply unscrew and remove the antennas, remove the 4 phillips-type screws on the bottom, and pry the case apart. *There are no screws holding the PCB to the bottom cover once open. ==== Serial ==== Typical 3.3 volt TTL serial console present in 3 locations. The parameters are 115200 8-N-1 Location J3 on PCB with pin-header installed: ^ pin ^ function ^ | 1 | 3.3V | | 2 | TX | | 3 | RX | | 4 | NC | | 5 | GND | Initial successful efforts used a short Nokia DKU-5/CA-42 cable, these Atheros platforms seem to be difficult to work with using FTDI long cables.See more details [[inbox:oldwiki:openwrtdocs:customizing:hardware:serial_console|here]]. EDIT - If you don't want to short your cable, use an old lynksys non-switching power adapter with transformer (switching adapters are generating noise which breaking serial console comunication) There are duplicate serial console contact points inside WAN & LAN4 ports on PCB edge. You can modify an RJ45 plug with wires in the appropriate spots to access serial console without cracking open the case. Here is an example crafted by users retracile and EraZor: {{http://farm4.static.flickr.com/3518/3732487841_33c5954637_b.jpg?500|WAN & LAN4 ports - by retracile @ Flickr}} {{http://farm4.static.flickr.com/3462/3732487849_022f2566f0_b.jpg?500|WAN & LAN4 ports - by retracile @ Flickr}} {{:inbox:cisco-console-adapter-small.jpg?500|cisco-console-adapter-small}} ==== JTAG ==== There is a micro-JTAG connector present. The programmer needed to access the SPI flash through the Jtag points is a USBJTAG NT from http://www.usbjtag.com/. The JTAG should be 2mm spacing. IR length 5 The pinout is the same as regular 14 pin JTAG. To read the flash you need to send a poke command bf000000,1 (using TJTAG) not needed in NT software as it is already implemented. Programming can only be done by USBJTAG NT for now. http://www.usbjtag.com/jtagnt/router/wrt160nl.php shows a rough connection to Jtag points. More information can be found on the USBJTAG forums. ==== GPIO ==== ^ pin ^ function ^ | 6 | LED_WLAN | | 7 | BTN_WPS | | 8 | LED_WPS_BLUE | | 9 | LED_WPS_AMBER | | 14| LED_POWER | | 21| BTN_RESET | ===== Specific configuration ===== ==== Interfaces ==== The default network configuration is: ^ Interface Name ^ Description ^ Default configuration ^ | br-lan | LAN & WiFi | 192.168.1.1/24 | | eth0 | LAN ports (1 to 4) | None | | eth1 | WAN port | DHCP | | wlan0 | WiFi | Disabled | {{:toh:linksys:openwrt_160nl-l2.png|}} ==== Switch Ports (for VLANs) ==== ^ External Label ^ Port ^ |1 | 3 | |2 | 2 | |3 | 1 | |4 | 0 | Port 4 is the internal/cpu port. Port 5 is probably unconnected. ==== Failsafe mode ==== -> [[doc:howto:generic.failsafe]] If you forgot your password, broken one of the startup scripts, firewalled yourself or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode. ==== Boot into failsafe mode ==== * Unplug the router's power cord. * Connect the router's LAN1 port directly to your PC. * Configure your PC with a static IP address between 192.168.1.2 and 192.168.1.254. E. g. 192.168.1.2 (gateway and DNS is not required). * Plug the power on and wait for the DMZ LED to light up. * While the DMZ LED is on immediately press any button (Reset and Secure Easy Setup will work) a few times . * If done right the DMZ LED will quickly flash 3 times every second. * You should be able to telnet to the router at 192.168.1.1 now (no username and password) ==== What to do in failsafe mode? ==== **NOTE:** The root file system in failsafe mode is the SquashFS partition mounted in readonly mode. To switch to the normal writable root file system run mount_root and make any changes. Run mount_root now. 1. Forgot/lost your password and you like to set a new one passwd 2. Forgot the routers IP address uci get network.lan.ipaddr 3. You accidentally run 'ipkg upgrade' or filled up the flash by installing to big packages (clean the JFFS2 partition and start over) mtd -r erase rootfs_data If you are done with failsafe mode power cycle the router and boot in normal mode. ===== Buttons ===== There are 2 buttons. They are Reset and WiFi Protected Setup. The buttons can be used with hotplug events. E. g. [#wifitoggle WiFi toggle]. ^ BUTTON ^ Event ^ | Reset | reset | | WiFi Protected Setup| wps | ===== Hardware mods ===== ===== Antenna ===== The supplied short dipole antennas can be easily replaced with large omni or directional antenna. ====== Other info ====== Original exploration thread https://forum.openwrt.org/viewtopic.php?id=20298&p=1