Linksys WAG160N
The WAG160N is currently not supported!.
The Linksys WAG160N is an ADSL gateway with wireless acccess point integrated.
The source code tarball is available from the Linksys GPL Code Center:
WAG160N 1.00.15 Annex A
WAG160N 1.00.15 Annex B
Supported Versions
Hardware
Info v1
| Architecture: | MIPS | |
| Vendor: | Broadcom | |
| Bootloader: | CFE | |
| Board Id: | 96358GW | |
| System-On-Chip: | Broadcom BCM6358SKFBG | |
| CPU/Speed | BMIPS4350 V1.0 / 300 Mhz BMIPS Dual Core | |
| Flash-Chip: | MX29LV320AB | |
| Flash size: | 4MB | |
| RAM-Chip: | EtronTech EM6AA160TS-5G / DDR-400 | |
| RAM size: | 32MB | |
| Wireless: | Atheros AR5416 | |
| Ethernet: | Broadcom BCM5325 w/ vlan support swconfig | |
| USB: | No | |
| Serial: | Yes | |
| JTAG: | ? | |
v2 Hardware
The PCB is a bit redesigned. Most noticeable points are the presence of an actual power button (top left in photos), and that J10 is labeled (anyway, I've not been able to get anything from there neither with 115200 8N1 nor with other speeds). There is also a plastic sheet covering the bottom of the PCB, maybe to help heat dissipation.
Not so noticeable is the fact that the LED corresponding to port1 is doubled, being similar to the power led. Also the wireless seems different, as chip is labelled as AR9223-AC1A.
Tftp upload of firmware seems not straightforward. According to information found on the linksys forums, requires the "password enabled" tftp utility from linksys.
See this page for details and pictures of the WAG160Nv2.
LEDs & Buttons
| LED | Color | GPIO |
|---|---|---|
| Internet | green | 0 |
| Internet | red | 1 |
| Power | red | 3 |
| Power | green | 4 |
| DSL | green | 28 |
| WPS | green | 36 |
| Wireless | green | 37 |
| Button | GPIO |
|---|---|
| WPS | 34 |
Opening the case
Remove the four screws on the base of the case. The case is then secured by one small and one large gray clip (from rear to front) on each side of the case. At the front of the case, there are two large black clips.
Prise the top of the router from the bottom using a small screwdriver - I found this easier by starting at the front. It's not a nice process!
Even if all of the gray clips are broken or removed, the case is perfectly adequately sealed using only the front black clips and the four screws. This also makes the case far easier to open. I found this easiest to do by working around the case from the back with a medium-sized screwdriver, being careful not to be upsetting the antennas and wires which are located around the edges of the case. Once the top has been removed, using pliers, the broken or remaining gray clips can be tidied up by twisting off what remains of them.
Photos
Serial
Serial console can be attached to J10 which is located at the bottom right of the board (when looking at the unit from the front). On my unit; the J10 label was obscured by a sticky pad.
| Serial Port (J10) |
|---|
![]() |
There is no connector soldered to the board. If you want to add one, it needs to be of pitch 2.5mm.
Legend (in arrow direction): 1 GND 2 Tx 3 VCC (3,3V) 4 RXThe settings for the serial console are "115200 bauds, 8 bits, no parity, 1 stop bit (115200 8N1)", with hardware and software flow control both disabled.
NOTE: You cannot plug directly those pins to your pc serial port. You need a RS232-TTL level adapter. See serial_console
JTAG
Bootlogs
OEM bootlog
CFE version 1.0.37-5.4 for BCM96358 (32bit,SP,BE)
Build Date: 四 1月 10 19:25:21 CST 2008 (root@9DavidZhang2)
Copyright (C) 2000-2005 Broadcom Corporation.
Boot Address 0xbfc00000
Initializing Arena.
Initializing Devices.
Parallel flash device: name MX29LV320AB, id 0x22a8, size 4096KB
CPU type 0x2A010: 300MHz, Bus: 133MHz, Ref: 64MHz
Total memory: 33554432 bytes (32MB)
Total memory used by CFE: 0x80401000 - 0x80528800 (1210368)
Initialized Data: 0x8041E550 - 0x8041FF60 (6672)
BSS Area: 0x8041FF60 - 0x80426800 (26784)
Local Heap: 0x80426800 - 0x80526800 (1048576)
Stack Area: 0x80526800 - 0x80528800 (8192)
Text (code) segment: 0x80401000 - 0x8041E544 (120132)
Boot area (physical): 0x00529000 - 0x00569000
Relocation Factor: I:00000000 - D:00000000
Board IP address : 192.168.1.1
Host IP address : 192.168.1.100
Gateway IP address :
Run from flash/host (f/h) : f
Default host run file name : vmlinux
Default host flash file name : bcm963xx_fs_kernel
Boot delay (0-9 seconds) : 1
Board Id Name : 96358GW
Psi size in KB : 24
Number of MAC Addresses (1-32) : 10
Base MAC Address : 00:1d:7e:b3:9b:52
Ethernet PHY Type : Internal
Memory size in MB : 32
CMT Thread Number : 0
*** Press any key to stop auto run (1 seconds) ***
OpenWrt bootlog
Linux version 2.6.32.9 (virus@Virion) (gcc version 4.3.3 (GCC) ) #18 Mon Mar 15 16:16:55 CET 2010
Detected Broadcom 0x6358 CPU revision a1
CPU frequency is 300 MHz
32MB of RAM installed
registering 40 GPIOs
board_bcm963xx: CFE version: 1.0.37-5.4
bootconsole [early0] enabled
CPU revision is: 0002a010 (Broadcom BCM6358)
board_bcm963xx: board name: 96358GW
Determined physical RAM map:
memory: 02000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
Normal 0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0x00000000 -> 0x00002000
On node 0 totalpages: 8192
free_area_init_node: node 0, pgdat 8026b500, node_mem_map 81000000
Normal zone: 64 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 8128 pages, LIFO batch:0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 32kB, VIPT, 2-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
Memory: 29724k/32768k available (2050k kernel code, 3044k reserved, 363k data, 136k init, 0k highmem)
Hierarchical RCU implementation.
NR_IRQS:128
Calibrating delay loop... 299.00 BogoMIPS (lpj=598016)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
ath: Register ath_data_device at address 0x1ffe1000
registering PCI controller with io_map_base unset
bio: create slab
Hints
Backup ath_data
Before flashing OpenWrt make sure to backup "ath_data" (/dev/mtdblock4). It's calibration data for wireless device. You have to include this data into OpenWrt, and modify ath9k driver to read it durning device initialisation.
Normally the dd command would be used for copying such data; however the Linksys provided OS does not include this command. Using the cp command would result in just the inode information being copied, so instead use the cat command - placing the result within the /tmp directory which is a writable part of the filesystem,
cat /dev/mtdblock4 > /tmp/ath_data
You then need to get this image off the router. As there is no ftp client installed; use the in-built web server. As you can't write to the directory currently used by the http server, let's just hijack the daemon for a short while,
/usr/sbin/rc httpd stop
/usr/sbin/mini_httpd -d /tmp
You should now be able to download mtdblock4 from another system, using something smilar to,
wget –user=admin –password=adminpass -O ath_data http://192.168.1.1/ath_data
Once you've downloaded mtdb4 kill the mini-httpd and restart the web server using its normal configuration,
killall mini_httpd
/usr/sbin/rc httpd start
Tags
toh/linksys/wag160n.txt · Last modified: 2013/04/27 12:17 by danitool
This text is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.




