User Tools

Site Tools


toh:asus:rt-g32

ASUS RT-G32

Ralink, Rev B1/C1 model.

The device is a wireless N router with

  • 1 not-detachable antenna
  • 4 Port 100/10 Switch
  • 1 Port 100/10 Wan Interface
  • 4 MB Flash
  • 16 MB SDRAM for Rev B1 or 32 MB - for Rev C1

Hardware

Info

Architecture: MIPS
Vendor: Asus
Bootloader: U-Boot
System-On-Chip: RT3052/RT3050F
CPU Speed: 320 Mhz
Flash-Chip: MX25L3205D
Flash size: 4 MiB
RAM: 16/32 MiB
Wireless: RT2860
Ethernet: Switch in CPU
USB: 1x2.0 (unsoldered)
Serial: Yes
JTAG: N/A

Photos

Asus RT-G32-B1 PCB layout

Opening the case

Note: This will void your warranty!

  1. There are two screws underneath the rubber feet at the front of the device. Remove those.
  2. Two additional screws are freely removeable at the bottom of the case. Don't forget these ;-)
  3. Remove the top of the case with the transparent plastic piece.

Serial

The serial port is located between the FCC logo and the CE logo.
It's pinout is fairly documented by the PCB print: GND|RX|TX|VCC(3.3) (direction as seen from the front of the device). The bootloader (U-Boot) and the original Asus firmware use a baudrate of 57600 with 8N1.

Compiling OpenWrt

NOTE: OpenWrt currently support this device only since attitude_adjustment.

Get sources of openwrt & patch it:

svn://svn.openwrt.org/openwrt/branches/attitude_adjustment openwrt
cd openwrt

Then compile openwrt in standard way, Target System ⇒ "Ralink RT288x/RT305x", Subtarget ⇒ "RT305x based boards":

make menuconfig
make

Installation

Flashing via TFTP-Server (Only for Rev. B1)

NOTE: Configured TFTP server needed!

  • After successfull compiling firmware, move bin/ramips/openwrt-ramips-rt305x-rt-g32-b1-squashfs-sysupgrade.bin file into your TFTP server's directory.
  • Then rename that binary file to "ASUS_G32V2" - it must have exacly this name without extension.
  • Set Your server's IP-Address to 192.168.1.254/24
  • Then connect router to the network
  • Push and keep "Reset" button
  • Turn on router.
  • After 5 seconds - release "Reset button".
  • Wait about 3 minutes, the router will flash new firmware.

Flashing via TFTP-Client Push (Only for Rev. C1)

  • Fot this revision use firmware for RT-N10+ asus devise
  • After successfull compiling firmware, rename bin/ramips/openwrt-ramips-rt305x-rt-n10-plus-squashfs-sysupgrade.bin file into something shorter, for example RT-G32.C1.bin.
  • Set Your server's IP-Address to 192.168.1.15/24
  • Then connect router to the network
  • Push and keep "Reset" button
  • Turn on router.
  • After 5 seconds - release "Reset button".
  • Push firmware into the router.
  • Wait about 3 minutes, the router will flash new firmware.

Pushing firmware into router

For aftp

atftp --option "mode octet" --verbose -p -l RT-G32.C1.bin 192.168.1.1
For tftp client on linux/Mac
tftp 192.168.1.1
tftp>binary
tftp>put RT-G32.C1.bin
For tftp client on Winows
tftp -i 192.168.1.1 put RT-G32.C1.bin

Flashing via U-Boot

NOTE: Serial connection and configured TFTP server needed!

  • After successfull compiling firmware, move bin/ramips/openwrt-ramips-rt305x-rt-g32-b1-squashfs-sysupgrade.bin file into your TFTP server's directory.
  • Then rename firmware to something shorter, for example "rt-g32-b1.bin" (the file name must be shorter than 32 symbols).
  • Connect serial port to device (speed is 57600 8N1).
  • When you power on device, and see U-Boot log, immediatly push "2" once.

You will see this message:

2: System Load Linux Kernel then write to Flash via TFTP. 
 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)

  • Push "y", and enter: device IP, then TFTP server's IP, and then openwrt's firmware file name:

 Please Input new ones /or Ctrl-C to discard
        Input device IP (192.168.1.1) ==:10.10.1.1
        Input server IP (192.168.1.2) ==:10.10.1.72
        Input Linux Kernel filename () ==:rt-g32-b1.bin

If TFTP server installed correctly, the firmware would be downloaded at ~30 seconds. Then it will be flashed into device (It will take about 2 minutes).

Bootlogs

OEM bootlog

U-Boot 1.1.3 (Nov 12 2009 - 00:08:59) Board: Ralink APSoC DRAM: 16 MB relocate_code Pointer at: 80fb4000 spi_wait_nsec: 3e spi deice id: c2 20 16 c2 20 (2016c220) find flash: mx25l3205d raspi_read: from:30000 len:1000 *** Warning - bad CRC, using default environment ============================================ Ralink UBoot Version: 3.3 -------------------------------------------- ASIC 3052_MP2 (Port5<->None) DRAM component: 128 Mbits SDR DRAM bus: 16 bit Total memory: 16 MBytes Flash component: SPI Flash Date:Nov 12 2009 Time:00:08:59 ============================================ icache: sets:256, ways:4, linesz:32 ,total:32768 dcache: sets:128, ways:4, linesz:32 ,total:16384 ##### The CPU freq = 320 MHZ #### SDRAM bus set to 16 bit SDRAM size =16 Mbytes GPIO 10 not detect Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 9: Load Boot Loader code then write to Flash via TFTP. 1 0 3: System Boot system code via Flash. ## Booting image at bf050000 ... raspi_read: from:50000 len:40 Image Name: Linux Kernel Image Created: 2010-01-06 11:08:51 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 2936012 Bytes = 2.8 MB Load Address: 80000000 Entry Point: 802e0000 raspi_read: from:50040 len:2ccccc Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 802e0000) ... ## Giving linux memsize in MB, 16 Starting kernel ... LINUX started... THIS IS ASIC Linux version 2.6.21 (root@localhost.localdomain) (gcc version 3.4.2) #115 Mon Jan 4 11:49:43 EST 2010 The CPU feqenuce set to 320 MHz CPU revision is: 0001964c Determined physical RAM map: memory: 01000000 @ 00000000 (usable) Built 1 zonelists. Total pages: 4064 Kernel command line: console=ttyS1,57600n8 root=1f05 Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes. Primary data cache 16kB, 4-way, linesize 32 bytes. Synthesized TLB refill handler (20 instructions). Synthesized TLB load handler fastpath (32 instructions). Synthesized TLB store handler fastpath (32 instructions). Synthesized TLB modify handler fastpath (31 instructions). Cache parity protection disabled cause = 9080001c, status = 1100ff00 PID hash table entries: 64 (order: 6, 256 bytes) calculating r4koff... 00138800(1280000) CPU frequency 320.00 MHz Using 160.000 MHz high precision timer. Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) Memory: 13016k/16384k available (2595k kernel code, 3368k reserved, 344k data, 120k init, 0k highmem) Mount-cache hash table entries: 512 NET: Registered protocol family 16 NET: Registered protocol family 2 Time: MIPS clocksource has been installed. IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 512 (order: 0, 4096 bytes) TCP bind hash table entries: 512 (order: -1, 2048 bytes) TCP: Hash tables configured (established 512 bind 512) TCP reno registered squashfs: version 3.2-r2 (2007/01/15) Phillip Lougher squashfs: LZMA suppport for slax.org by jro io scheduler noop registered (default) Ralink gpio driver initialized HDLC line discipline: version $Revision: 1.1.1.1 $, maxframe=4096 N_HDLC line discipline registered. Serial: 8250/16550 driver $Revision: 1.3 $ 2 ports, IRQ sharing disabled serial8250: ttyS0 at I/O 0xb0000500 (irq = 37) is a 16550A serial8250: ttyS1 at I/O 0xb0000c00 (irq = 12) is a 16550A loop: loaded (max 8 devices) rdm_major = 254 ===>Enter clean nat module PPP generic driver version 2.4.2 PPP Deflate Compression module registered PPP BSD Compression module registered MPPE/MPPC encryption/compression module registered NET: Registered protocol family 24 block2mtd: version $Revision: 1.1.1.1 $ deice id : c2 20 16 c2 20 (2016c220) MX25L3205D(c2 2016c220) (4096 Kbytes) mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x00010000 (64K) .numeraseregions = 0 Creating 7 MTD partitions on "raspi": 0x00000000-0x00400000 : "ALL" 0x00000000-0x00030000 : "Bootloader" 0x00030000-0x00040000 : "Config" 0x00040000-0x00050000 : "Factory" 0x00050000-0x00139d0c : "Kernel" mtd: partition "Kernel" doesn't end on an erase block -- force read-only 0x00139d0c-0x01000000 : "RootFS" mtd: partition "RootFS" extends beyond the end of device "raspi" -- size truncated to 0x2c62f4 mtd: partition "RootFS" doesn't start on an erase block boundary -- force read-only 0x00050000-0x01000000 : "Kernel_RootFS" mtd: partition "Kernel_RootFS" extends beyond the end of device "raspi" -- size truncated to 0x3b0000 nf_conntrack version 0.5.0 (768 buckets, 6144 max) IPv4 over IPv4 tunneling driver PPTP driver version 0.8.3 ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Cone netfilter PSD loaded - (c) astaro AG unclean match register TCP cubic registered NET: Registered protocol family 1 NET: Registered protocol family 10 NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear All bugs added by David S. Miller GDMA1_MAC_ADRH -- : 0x00000000 GDMA1_MAC_ADRL -- : 0x00000000 Ralink APSoC Ethernet Driver Initilization. v2.00 256 rx/tx descriptors allocated, mtu = 1500! GDMA1_MAC_ADRH -- : 0x000090e6 GDMA1_MAC_ADRL -- : 0xbabef887 PROC INIT OK! phy_id0 = 81808100 ,Port0_Status=Link down VFS: Mounted root (squashfs filesystem) readonly. Freeing unused kernel memory: 120k freed init started: BusyBox v1.12.1 (2009-12-26 10:56:46 EST) starting pid 11, tty ' ': '/etc_ro/rcS' Algorithmics/MIPS FPU Emulator v1.5 devpts: called with bogus options m set nvram pid=17 mount: cannot read /etc/fstab: No such file or directory 192.168.1.1 2.0.0.5 Password for 'admin' changed phy_tx_ring = 0x00ae1000, tx_ring = 0xa0ae1000 phy_rx_ring = 0x00000000, rx_ring = 0x00000000 RT305x_ESW: Link Status Changed phy_id0 = 0 ,Port0_Status=Link down CDMA_CSG_CFG = 81000007 GDMA1_FWD_CFG = 710000 brctl: bridge br0: No such device eth2.1: dev_set_promiscuity(master, 1) device eth2 entered promiscuous mode device eth2.1 entered promiscuous mode switch reg write offset=14, value=405555 switch reg write offset=50, value=2001 switch reg write offset=98, value=7f3f switch reg write offset=e4, value=3f switch reg write offset=40, value=1001 switch reg write offset=44, value=1001 switch reg write offset=48, value=1002 switch reg write offset=70, value=ffff506f /etc_ro/rcS: line 67: FlowCounter: not found starting pid 161, tty '/dev/ttyS1': '/bin/sh' BusyBox v1.12.1 (2009-12-26 10:56:46 EST) built-in shell (ash) Enter 'help' for a list of built-in commands. # killall: crond: no process killed Jan 1 00:00:06 crond[167]: crond (busybox 1.12.1) started, log level 8 Commit crc = a7f24398 Set: phy[1].reg[0] = 3900 Set: phy[2].reg[0] = 3900 Set: phy[3].reg[0] = 3900 Set: phy[0].reg[0] = 3900 rt2860v2_ap: module license 'unspecified' taints kernel. === pAd = c0009000, size = 495344 === <-- RTMPAllocAdapterBlock, Status=0 cat: can't open '/etc/l2wSchedule.txt': No such file or directory cat: can't open '/etc/urlSchedule.txt': No such file or directory killall: crontab: no process killed RX DESC a06e6000 size = 2048 <-- RTMPAllocTxRxRingMemory, Status=0 Key1Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) 1. Phy Mode = 0 2. Phy Mode = 0 3. Phy Mode = 0 MCS Set = 00 00 00 00 00 SYNC - BBP R4 to 20MHz.l Main bssid = 90:e6:ba:be:f8:87 <==== rt28xx_init, Status=0 0x1300 = 00064380 Terminate the task(RtmpWscTask) with pid(267)! RX DESC a0af8000 size = 2048 <-- RTMPAllocTxRxRingMemory, Status=0 Key1Str is Invalid key length(0) or Type(0) Key2Str is Invalid key length(0) or Type(0) Key3Str is Invalid key length(0) or Type(0) Key4Str is Invalid key length(0) or Type(0) 1. Phy Mode = 0 2. Phy Mode = 0 3. Phy Mode = 0 MCS Set = 00 00 00 00 00 SYNC - BBP R4 to 20MHz.l Main bssid = 90:e6:ba:be:f8:87 <==== rt28xx_init, Status=0 0x1300 = 00064380 ==> Finish wirelss Basic Setting ==> Start Init WPS config <== End Init WPS config device ra0 entered promiscuous mode killall: rt2860apd: no process killed switch reg write offset=40, value=1001 switch reg write offset=44, value=1001 switch reg write offset=48, value=1002 switch reg write offset=70, value=ffff506f killall: udhcpc: no process killed killall: ntpclient: no process killed killall: l2tp_dod.sh: no process killed killall: accel-pptp.sh: no process killed killall: config-pptp.sh: no process killed killall: config-l2tp.sh: no process killed killall: igmpproxy: no process killed killall: ping: no process killed eth2.2: Setting MAC address to 90 e6 ba be f8 87. VLAN (eth2.2): Underlying device (eth2) has same MAC, not checking promiscious mode. udhcpc (v1.12.1) started iptables: No chain/target/match by that name clean nat conn: clean all of the connection track killall: udhcpd: no process killed time.nist.gov: Unknown host br0: port 2(ra0) entering learning state br0: port 1(eth2.1) entering learning state killall: udhcpd: no process killed Set: phy[1].reg[0] = 3100 rmmod: nf_nat_pptp: No such file or directory rmmod: nf_conntrack_pptp: No such file or directory rmmod: nf_nat_proto_gre: No such file or directory rmmod: nf_conntrack_proto_gre: No such file or directory iptables: No chain/target/match by that name clean nat conn: clean all of the connection track Set: phy[2].reg[0] = 3100 Set: phy[3].reg[0] = 3100 Set: phy[0].reg[0] = 3100 cat: can't open '/etc/l2wSchedule.txt': No such file or directory killall: crontab: no process killed webdir=/etc_ro/web config ok killall: miniupnpd: no process killed iptables: No chain/target/match by that name iptables v1.3.5: Couldn't find target `MINIUPNPD' Try `iptables -h' or 'iptables --help' for more information. iptables v1.3.5: Couldn't find target `MINIUPNPD' Try `iptables -h' or 'iptables --help' for more information. iptables: No chain/target/match by that name iptables: No chain/target/match by that name iptables v1.3.5: Couldn't find target `MINIUPNPD' Try `iptables -h' or 'iptables --help' for more information. iptables v1.3.5: Couldn't find target `MINIUPNPD' Try `iptables -h' or 'iptables --help' for more information. iptables: No chain/target/match by that name restart ok br0: topology change detected, propagating br0: port 2(ra0) entering forwarding state br0: topology change detected, propagating br0: port 1(eth2.1) entering forwarding state time.nist.gov: Unknown host

OpenWrt bootlog

U-Boot 1.1.3 (Nov 12 2009 - 00:08:59) Board: Ralink APSoC DRAM: 16 MB relocate_code Pointer at: 80fb4000 spi_wait_nsec: 3e spi deice id: c2 20 16 c2 20 (2016c220) find flash: mx25l3205d raspi_read: from:30000 len:1000 raspi_read: from:30000 len:1000 ============================================ Ralink UBoot Version: 3.3 -------------------------------------------- ASIC 3052_MP2 (Port5<->None) DRAM component: 128 Mbits SDR DRAM bus: 16 bit Total memory: 16 MBytes Flash component: SPI Flash Date:Nov 12 2009 Time:00:08:59 ============================================ icache: sets:256, ways:4, linesz:32 ,total:32768 dcache: sets:128, ways:4, linesz:32 ,total:16384 ##### The CPU freq = 320 MHZ #### SDRAM bus set to 16 bit SDRAM size =16 Mbytes GPIO 10 not detect Please choose the operation: 1: Load system code to SDRAM via TFTP. 2: Load system code then write to Flash via TFTP. 3: Boot system code via Flash (default). 4: Entr boot command line interface. 9: Load Boot Loader code then write to Flash via TFTP. 0 3: System Boot system code via Flash. ## Booting image at bf050000 ... raspi_read: from:50000 len:40 Image Name: MIPS OpenWrt Linux-2.6.37.6 Created: 2011-05-26 15:52:55 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 774839 Bytes = 756.7 kB Load Address: 80000000 Entry Point: 80000000 raspi_read: from:50040 len:bd2b7 Verifying Checksum ... OK Uncompressing Kernel Image ... OK No initrd ## Transferring control to Linux (at address 80000000) ... ## Giving linux memsize in MB, 16 Starting kernel ... Linux version 2.6.37.6 (tipok@mythbox) (gcc version 4.5.2 (Linaro GCC 4.5-2011.02-0) ) #1 Thu May 26 18:52:48 EEST 2011 bootconsole [early0] enabled CPU revision is: 0001964c (MIPS 24Kc) Ralink RT3350 id:1 rev:2 running at 320.00 MHz Determined physical RAM map: memory: 01000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00000000 -> 0x00001000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00001000 Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064 Kernel command line: board=RT-G32-revB mtdparts=spi-flash.0:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,832k(kernel),2944k(rootfs),3776k@0x50000(firmware) console=ttyS1,576002 PID hash table entries: 64 (order: -4, 256 bytes) Dentry cache hash table entries: 2048 (order: 1, 8192 bytes) Inode-cache hash table entries: 1024 (order: 0, 4096 bytes) Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes. Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes Writing ErrCtl register=00006bf0 Readback ErrCtl register=00006bf0 Memory: 13776k/16384k available (1781k kernel code, 2608k reserved, 299k data, 144k init, 0k highmem) SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:48 console [ttyS1] enabled, bootconsole disabled console [ttyS1] enabled, bootconsole disabled Calibrating delay loop... 212.99 BogoMIPS (lpj=1064960) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 512 NET: Registered protocol family 16 MIPS: machine is Asus RT-G32 revB bio: create slab at 0 Switching to clocksource MIPS NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 512 (order: 0, 4096 bytes) TCP bind hash table entries: 512 (order: -1, 2048 bytes) TCP: Hash tables configured (established 512 bind 512) TCP reno registered UDP hash table entries: 256 (order: 0, 4096 bytes) UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) NET: Registered protocol family 1 squashfs: version 4.0 (2009/01/31) Phillip Lougher JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. msgmni has been set to 26 io scheduler noop registered io scheduler deadline registered (default) Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled serial8250: ttyS0 at MMIO 0x10000500 (irq = 13) is a 16550A serial8250: ttyS1 at MMIO 0x10000c00 (irq = 20) is a 16550A m25p80 spi0.0: mx25l3205d (4096 Kbytes) Creating 6 MTD partitions on "spi-flash": 0x000000000000-0x000000030000 : "u-boot" 0x000000030000-0x000000040000 : "devdata" 0x000000040000-0x000000050000 : "devconf" 0x000000050000-0x000000120000 : "kernel" 0x000000120000-0x000000400000 : "rootfs" mtd: partition "rootfs" set to be root filesystem mtd: partition "rootfs_data" created automatically, ofs=250000, len=1B0000 0x000000250000-0x000000400000 : "rootfs_data" 0x000000050000-0x000000400000 : "openwrt" TCP westwood registered NET: Registered protocol family 17 802.1Q VLAN Support v1.8 Ben Greear All bugs added by David S. Miller VFS: Mounted root (squashfs filesystem) readonly on device 31:4. Freeing unused kernel memory: 144k freed - preinit - Press the [f] key and hit [enter] to enter failsafe mode - regular preinit - JFFS2 notice: (286) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 32 of xref (0 dead, 4 orphan) found. switching to jffs2 - init - Please press Enter to activate this console. Compat-wireless backport release: compat-wireless-2011-05-11-1-g501c91f Backport based on wireless-testing.git master-2011-05-13 device eth0.1 entered promiscuous mode device eth0 entered promiscuous mode cfg80211: Calling CRDA to update world regulatory domain br-lan: port 1(eth0.1) entering forwarding state br-lan: port 1(eth0.1) entering forwarding state PPP generic driver version 2.4.2 ip_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 24 cfg80211: World regulatory domain updated: cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) nf_conntrack version 0.5.0 (217 buckets, 868 max)

Tags

toh/asus/rt-g32.txt · Last modified: 2014/04/19 06:21 (external edit)