User Tools

Site Tools


toh:actiontec:gt704wg

Actiontec GT704WG

The device is based on Texas Instrument AR7. It uses the target.ar7 in OpenWrt.

  • Kamikaze 8.09.2 seems to work
    Note: Package repo will not work with Kamikaze 8.09.2
  • Tested Backfire 10.03.1: Wireless not working, Package repo working
  • Tested Attitude Adjustment 12.09-beta2: Wireless working, tested client mode to WPA2 device successfully. Package repo appears to be working but insufficient memory errors prevent even the smallest packages to install. You may need to build your own image using buildroot if additional software is needed. Web interface causes very high CPU load.

Supported Versions

Hardware Highlights

ModelVersionSoCCPU MHzFlash MBRAM MBWLAN HardwareWLAN2.4WLAN5.0100M portsGbit portsModemUSB
GT704WG1ATexas Instruments TNETD7300150416TI ACX111 (integrated)b/g-4ADSL2+-

Installation

Flash Layout

partition start end description
mtd2 0x90000000 0x90010000 ADAM2 bootloader
mtd1 0x90010000 0x900d0000 kernel
mtd0 0x900d0000 0x903e0000 squashfs filesystem
mtd4 0x903e0000 0x903f0000 unused (?)
mtd3 0x903f0000 0x90400000 ADAM2 environment

OEM installation using the FTP method

Flashing with the Actiontec web upgrade has not been tested. The recommended flash procedure is to use the adam2 FTP server.

To access the adam2 FTP server, power on the device while holding reset button down for 3 seconds

If you are doing this from Linux, you will almost certainly first have to:

# echo 0 > /proc/sys/net/ipv4/tcp_frto

Otherwise, the transfer process will end up slowing down to approximately 512 bytes/minute.

Note: The range you will need to flash the squashfs image to spans all of mtd1 and mtd0 partitions.

$ ftp 192.168.0.1
Connected to 192.168.0.1.
220 ADAM2 FTP Server ready.
Name (192.168.0.1:user): adam2
530 Please login with USER and PASS.
SSL not available
331 Password required for adam2.
Password:
230 User adam2 successfully logged in.
ftp> passive off
ftp> quote SETENV mtd5,0x90010000,0x903e0000
ftp> binary
ftp> quote MEDIA FLSH
ftp> put "openwrt-ar7-squashfs.bin" "openwrt-ar7-squashfs.bin mtd5"
ftp> quote REBOOT
ftp> quit

Note that the power LED will not turn green with OpenWRT. This doesn't imply anything is broken as it does with the default firmware.

Note for Windows users
  • Windows' command line ftp client will start already out of passive mode, and in any case above command "passive off" will not work.
  • In the "put" command fails with a "550 Data Socket not ready" error, make sure windows firewall is disabled and/or the network connecting to the router is set as "home" or "work".
  • If you are experiencing a problem with "connection terminated by remote host", you need to add this key to the registry and reboot your computer: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmissions = 40 (DWORD, value in HEX) (CapinWinky).

Upgrading OpenWRT

generic.sysupgrade

If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the mtd command line tool. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing.

LuCI Web Upgrade Process

Terminal Upgrade Process

  • Login as root via SSH on 192.168.1.1
  • Use the following commands to upgrade.

cd /tmp/
wget http://downloads.openwrt.org/latest/ar7/openwrt-ar7-squashfs.bin
mtd write /tmp/openwrt-ar7-squashfs.bin linux && reboot

Debricking

Failsafe mode

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Specific Configuration

FIXME Please fill in real values for this device, then remove the EXAMPLEs

Network interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan EXAMPLE LAN & WiFi EXAMPLE 192.168.1.1/24
vlan0 (eth0.0) EXAMPLE LAN ports (1 to 4) EXAMPLE None
vlan1 (eth0.1) EXAMPLE WAN port EXAMPLE DHCP
wl0 EXAMPLE WiFi EXAMPLE Disabled

DSL

This device works with both annex A and annex B modules. As an example, to install annex B module on Backfire, download the package 'kmod-sangam-atm-annex-b' from

http://backfire.openwrt.org/10.03.1/ar7/packages/

Then copy the package on your router per scp. Here an example using a windows client with pscp, router at IP 192.168.0.1, user 'root':

pscp -scp "kmod-sangam-atm-annex-b_2.6.32.27+D7.04.03.00-R1_ar7.ipk" root@192.168.0.1:/tmp

Then access your router via SSH or telnet and do:

cd /tmp
opkg remove kmod-sangam-atm-annex-a
opkg install kmod-sangam-atm-annex-b_2.6.32.27+D7.04.03.00-R1_ar7.ipk
If it succeeds, remove the package from /tmp. Then reboot your device.

You can check your modem stats by

cat /proc/avalanche/avsar_modem_stats

PPPoE

/etc/config/network

config atm-bridge
    option unit     0
    option encaps   llc
    # Ask your ISP for the correct vpi and vci values
    option vpi      0
    option vci      35
    # Most of the time this should be set to "bridged," but some ISPs require "routed"
    option payload  bridged

config interface wan
    option ifname       nas0
    option proto        pppoe
    option username    "username"
    option password    "password"

PPPoA

/etc/config/network

config interface wan
    option ifname   ppp0
    option proto    pppoa
    option encaps   llc
    option vpi      0
    option vci      35
    option username "username"
    option password "password"

Restart your interface by

ifdown wan
ifup wan

Switch Ports (for VLANs)

VLANs are currently not supported.

Buttons

The Actiontec GT704WG has one button. Not sure if it can be used with hotplug events.

BUTTON Event
Reset ?

Known Issues

  • pppoa does not start automatically
  • "eth0: rx dma ring overrun" in dmesg output under heavy traffic
  • qos does not work with pppoa (no traffic is forwarded if qos is enabled)
  • wifi is WIP
  • No VLAN support

Hardware

Info

General
Brand Actiontec
Model GT704WG
Versions 1A
Device Type WiFi Router
Availability Discontinued
Comments - general
OpenWrt Support
Supported Since Rev
Supported since Rel 8.09
Supported Current Rel 10.03.1
Hardware
Instruction set MIPS
Sub Instruction Set MIPS 4Kec
Bootloader Adam2
Target ar7
System-On-Chip Texas Instruments TNETD7300
CPU MHz 150
Flash MB 4
RAM MB 16
Network
Ethernet 100M ports 4
Ethernet Gbit ports
Switch Marvell 88E6060
Modem ADSL2+
VLAN No
Comments - network ports
Wireless
WLAN 2.4GHz b/g
WLAN 5.0GHz -
Detachable Antennas 1
Comments - WLAN
Interfaces
USB ports -
SATA ports -
Serial Yes
JTAG Yes
Comments - USB & SATA ports
Misc
LED count
Button count
Power supply
Links
Forum Topic URL
WikiDevi URL https://wikidevi.com/wiki/Actiontec_GT704WG
OEM device homepage URL http://www.actiontec.com/40.html
Firmware OEM Stock URL http://www.actiontec.com/support/soft_files/GT704WG_Upgrade_NCS_3.0.1.0.6.0.img
Firmware OpenWrt Install URL
Firmware OpenWrt Upgrade URL
Edit the underlying data View/Edit data

Photos

Front:

Back:

Opening the case

Note: This will void your warranty!

  • To remove the cover take off the 4 rubber feet
  • unscrew the 4 screws under the rubber feet

Main PCB

Serial

port.serial general information about the serial port, serial port cable, etc.

3.3V serial is available on JP603 Pin 1 is the closest to R441 with the following pin out:

PIN USE
1 GND
2 TX
3 RX
4 NC
5 3.3V
6 NC
Serial connection parameters for Actiontec GT704WG 138400, 8N1

JTAG

port.jtag general information about the JTAG port, JTAG cable, etc.

According to the documentation JTAG is available conneting to:

RESET : R106
TRST : R112
TDI : R110
TDO : R109
TMS : R108
TCK : R107

Hardware mods

Adding Hardware Flow Control to the Serial Port

To add hardware flow control (CTS/RTS) to the serial port on JP603 add 100Ohm 0603 resistor to R614 and R615 locations.

Adding Level Shifting to the Serial Port

The GT704WG has a footprint for a MAX3232 voltage level converter. This will allow to directly connect a standard RS-232 to the router. After this modification JP603 will no longer work as the serial output is redirected to JP2 with the following pinout:

pin 1 : GND
pin 2 : NC
pin 3 : NC
pin 4 : RX
pin 5 : TX
pin 6 : RTS
pin 7 : NC
pin 8 : CTS
pin 9 : NC
pin 10: NC
pin 11: NC
pin 12: NC


material list:
1 MAXIM MAX3232 in soic-16
5 0.1uF 0603 capacitors
2 100ohm 0603 resistors
1 2x4, 2x5 or 2x6 2.54mm (100mils) pitch header 

instructions:
1- remove R30 and R441. These are 100ohm, if you are careful in the removal you can re-use them for point #2 below
2- add 100ohm to R147 and R442
3- add 0.1uF to C17, C18, C19, C20 and C65
4- add MAX3232 to U4
5- add header to JP2 (pin 1 is the one closes to JP603 towards the edge of the PCB)

32/64MB RAM mod

The GT704WG uses one 128Mbit (8Mx16) PC133 SDRAM (54-pin TSOP II). The PCB is wired to support both 256Mbit (16Mx16) and 512Mbit (32Mx16). Using one 512Mbit device like MT48LC32M16A2 (or similar) your GT704WG will have 64MBytes of RAM. All is needed is to remove U105 and replace with the new chip.

The chips can be found mounted on old PC133 DIMMs or SODIMMS. 128/256Mb DIMMS with 4 chips are the best candidates.

I have done the modification using a generic 32Mx16 SDRAM (no brand). The Adam2 installed on my router will reset the memsize environment variable at every reboot so the mod will be useful only when using kernels with memory size auto detection (the stock firmware will not auto detect the memory size). OpenWrt will correctly size the memory regardless of the env settings.

Bootlogs

OEM bootlog

Usage: setmfreq [-d] [-s sys_freq, in MHz] [cpu_freq, in MHz] Memory optimization Complete! Adam2_AR7RD > Press any key to abort OS load, or wait 5 seconds for OS to boot... Launching kernel decompressor. Kernel decompressor was successful ... launching kernel. LINUX started... Config serial console: ttyS0,38400 et marvell chip Determined physical RAM map: memory: 14000000 @ 00000000 (reserved) memory: 00020000 @ 14000000 (ROM data) memory: 00fe0000 @ 14020000 (usable) EBUG ACTIONTEC getenv=memsize,0x01000000On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: the pacing pre-scalar has been set as 600. calculating r4koff... /nEBUG ACTIONTEC getenv=cpufrequency,150000000000b71b0(750000) CPU frequency 150.00 MHz Calibrating delay loop... Memory: 14548k/16384k available (1362k kernel code, 1836k reserved, 111k data, 52k init) Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes) Inode-cache hash table entries: 1024 (order: 1, 8192 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) Starting kswapd Disabling the Out Of Memory Killer block: 64 slots per queue, batch=16 EBUG ACTIONTEC getenv=cpufrequency,150000000 EBUG ACTIONTEC getenv=maca,00:0F:B3:AD:80:19 ADAM2 Revision 0.22.02 (C) Copyright 2003 Telogy Networks, Inc. EBUG ACTIONTEC getenv=memsize,0x01000000CPU revision is: 00018448 Primary instruction cache 16kb, linesize 16 bytes (4 ways) Primary data cache 16kb, linesize 16 bytes (4 ways) Number of TLB entries 16. Linux version 2.4.17_mvl21-malta-mips_fp_le (root@localhost.localdomain) (gcc version 2.95.3 20010315 (release/MontaVista)) #24 Wed Apr 27 10:16:02 PDT 2005 EBUG ACTIONTEC getenv=modetty0,38400,n,8,1,hw DEBUG ACTIONTEC getenv=<NULL>,,NULL DEBUG ACTIONTEC getenv=<NULL>,,NULLReset wireless chip Res149.91 BogoMIPS Freeing Adam2 reserved memory [0x14001000,0x0001f000] Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Checking for 'wait' instruction... unavailable. POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket devfs: v1.7 (20011216) Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x1 pty: 32 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with no serial options enabled ttyS00 at 0xa8610e00 (irq = 15) is a 16550A ttyS01 at 0xa8610f00 (irq = 16) is a 16550A <6>PPP generic driver version 2.4.1 avalanche flash device: 0x400000 at 0x10000000. Amd/Fujitsu Extended Query Table v1.1 at 0x0040 number of CFI chips: 1 Looking for mtd device :mtd0: EBUG ACTIONTEC getenv=mtd0,0x900d0000,0x903e0000Found a mtd0 image (0xd0000), with size (0x310000). Looking for mtd device :mtd1: EBUG ACTIONTEC getenv=mtd1,0x90010000,0x900d0000Found a mtd1 image (0x10000), with size (0xc0000). Looking for mtd device :mtd2: EBUG ACTIONTEC getenv=mtd2,0x90000000,0x90010000Foun000Found a mtd4 image (0x3e0000), with size (0x10000). Creating 5 MTD partitions on "Physically mapped flash": 0x000d0000-0x003e0000 : "mtd0" 0x00010000-0x000d0000 : "mtd1" 0x00000000-0x00010000 : "mtd2" 0x003f0000-0x00400000 : "mtd3" 0x003e0000-0x00IP: routing cache hash table of 512 buckets, 4Kbytes Mounted devfs on /dev Freeing unused kernel memory: 52k freed serial console detected. Disabling virtual terminals. Algorithmics/MIPS FPU Emulator v1.5 cp: /etc/ppp/resolv.conf: No such file or directory cp: /etc/dproxy.conf: No such file or directory cp: /etc/gateways: No such file or directory cp: /etc/hosts: No such file or directory cp: /etc/init.d: omitting directory cp: /etc/linux-igd: No such file or directory cp: /etc/passwd: No such file or directory cp: /etc/ppp: omitting directory cp: / Standard Configuration File proc write:Calling Configuration Number of State module = 1 STATE = 1 STATE = 2 STATE = 3 STATE = 4 module = 2 STATE = 1 STATE = 2 module = 11 STATE = 1 STATE = 2 module = 5 STATE = 1 STATE = 2 STATE = 3 module = 6 STATE = 1 STATE = 2 STATE = 3 module = 7 STATE = 1 STATE = 2 STATE = 3 module = 8 STATE = 1 STATE = 2 STATE = 3 module = 4 STATE = 1 STATE = 2 STATE = 3 Elements = 23 Total Length = 188 d a mtd2 image (0x0), with size (0x10000). Looking for mtd device :mtd3: EBUG ACTIONTEC getenv=mtd3,0x903f0000,0x90400000Found a mtd3 image (0x3f0000), with size (0x10000). Looking for mtd device :mtd4: EBUG ACTIONTEC getenv=mtd4,0x903e0000,0x903f03f0000 : "mtd4" NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP TCP: Hash tables configured (established 1024 bind 1024) Linux IP multicast router 0.06 plus PIM-SM NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: Ethernet Bridge 008 for NET4.0 VFS: Mounted root (squashfs filesystem) readonly. init started: BusyBox v0.61.pre (2005.04.27-17:26+0000) multi-call binary /bin/cp /etc/ppp/* /var/etc/ppp etc/resolv.conf: No such file or directory cp: /etc/shadow: No such file or directory cp: /etc/udhcpc: omitting directory cp: /etc/udhcpd.conf: No such file or directory cp: /etc/localhosts: No such file or directory cp: /usr/www/html/pc_*.html: No such file or directory registered device TI Avalanche SAR size=6272 Texas Instruments ATM driver: version:[4.02.04.00] Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/net/avalanche_usb.o pid = 0x6010 prod = TI RNDIS Network Adapter Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/ip_queue.o -- Read config version: 3.130.1.0.5.5.4a-GT704-WG -- vip=0.0.0.0 Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/ip_tables.o ip_tables: (c)2000 Netfilter core team Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/ip_conntrack.o Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/iptable_filter.o Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/ipt_state.o rfc2684_start state = 1 create br2684 Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/drivers/atm/tiatm.o Initializing DSL interface size=8800 size=18464 size=13056 USB: Entering USB_init_module. vid = 0x1668 No Serial Number String present. man = Texas Instruments USB: Entering USB_Init. USB: Leaving USB_Init. USB: Leaving USB_init_module. SIOCGIFFLAGS: No such device vmode=0 vmode=0 vip=0.0.0.0 ip_conntrack version 2.0 (128 buckets, 1024 max) - 372 bytes per conntrack Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/iptable_nat.o Using /lib/modules/2.4.17_mvl21-malta-mips_fp_le/kernel/net/ipv4/netfilter/ipt_MASQUERADE.o Please press Enter to activate this console. rfc2684_start state = 1 logic init (test kprintf) tiwlan_drv_init : tiwlan_drv_init() Copying of 10240000 bytes took: d125 132248 us d150 110206 us device usbrndis entered promiscuous mode br0: port 1(usbrndis) entering learning state reset_acx111_vlynq() -- VLYNQ_RESET_DEASSERT VLYNQ_STS : 0x1000101 VLYNQ_STS : 0x1000101 reset_acx111_vlynq() -- VLYNQ_RESET_LINKESTABLISH, boosting clock device eth0 entered promiscuous mode br0: port 2(eth0) entering learning state boardInitVlynqDriverAcx111() -- return code = 0, driver state = 2 tiwlan_drv_char_read : sending memory base: mem : 0xa4000000 [0x20000], reg : 0xa4040000 [0x2000] ap loaded 1031486412 tiwlan_drv_char_write : Got VLYNK enable !!! TNETD73XX_VLYNQ0_BASE : 0xa4000000, PumaVlBase[pDev->dev_idx - 1] : 0x8611800 reset_acx111_vlynq() -- VLYNQ_RESET_ASSERT VLYNQ_STS : 0x1000101 Initializing VLYNQ interrupts reset_acx111_vlynq() -- INITOK tiwlan_drv_char_write : Got SET result ! br0: port 1(usbrndis) entering forwarding state br0: topology change detected, propagating br0: port 2(eth0) entering forwarding state br0: topology change detected, propagating wlan_up 1031486415 call wlan_up 1031486415 Got K2U control ptr device tiwlan0 entered promiscuous mode br0: port 3(tiwlan0) entering learning state br0: port 3(tiwlan0) entering forwarding state br0: topology change detected, propagating check ifconfig tiwlan 1031486435 check tiwlan ok 1031486435 # BusyBox v0.61.pre (2005.04.27-17:26+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands.

OpenWrt bootlog

COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING

Notes

Space for additional notes, links to forum threads or other resources, …

Tags

toh/actiontec/gt704wg.txt · Last modified: 2016/01/07 06:56 by rayknight