ASUS WL-500g Premium
The ASUS WL-500gP was a top of the line Linux based router. It featured plenty of RAM and Flash, USB 2.0 ports, and a fast CPU. It also featured a miniPCI slot that allowed to change the wireless card.
Later it got updated by using a newer SoC which integrates most components, but retained most features of the first version except the replacable wireless, which also got integrated into the SoC.
Supported Versions
| Version/Model | S/N | OpenWrt Version Supported | Model Specific Notes |
|---|---|---|---|
| v1 | - | Backfire 10.03 | wireless in miniPCI slot, replacable; antenna on the left (from the front view) |
| v2 | - | Backfire 10.03 | most features integrated in SoC; antenna on the right (from the front view) |
Note: The wireless in the v2 is a low power wireless PHY, which currently isn't really supported by b43, therefore 2.4 is still recommended for the v2.
Note: As of r18801 in the 8.09 (kamikaze) branch, the wireless in v2 works fine even with the 2.6 kernel at least in the client mode - so if you do not need AP mode and need 2.6 kernel, v2 should be usable now. Other wireless modes were not tested.
Note: As of Backfire 10.03.1-rc4, the wireless in v2 somehow works with the 2.6 kernel in AP mode. WPA2-PSK and No Encryption modes were tested. However, the recommendation to avoid 2.6 kernels still applies: wireless stops working now and then, needing b43/b43legacy module(s) reload to recover.
Note: As of Attitude Adjustment 12.09-beta2 the v2 seems to work well, including the wireless.
Note: with the default factory firmware, it is possible to know what version you have by
- going to http://192.168.1.1/Main_AdmStatus_Content.asp (Firmware upgrade needed if page is empty)
- typing "cat /proc/cpuinfo" in the "System Command:" text box
- checking your "system type"
- BCM4704/BCM4780 means V1
- BCM5354 means V2
Hardware Highlights
| version | CPU | Ram | Flash | Network | USB | Serial | JTag |
|---|---|---|---|---|---|---|---|
| v1 | Broadcom BCM4704@264Mhz | 32MiB | 8MiB | 4 x 1 | 2x 2.0 | Yes | No |
| v2 | Broadcom BCM5354@240Mhz | 32MiB | 8MiB | 4 x 1 | 2x 2.0 | Yes | No |
Installation
This section details what is required to install and upgrade OpenWrt. First we link to software that you should download before you start reading the instructions on how to install.
Choosing the right image
The WL-500gP is supported by two targets:
-
- Uses an older 2.4 kernel
- Uses the binary only broadcom driver, which supports the wireless in the v2.
- Recommended for v2
-
- Uses a current 2.6 kernel, it is faster and has more features
- Uses the open source b43 wireless driver, which currently does not work with the wireless in the v2
- Recommended for v1
For 12.09 / "Attitude adjustment" you have to use BCM947xx/953xx target.
OEM easy installation
Does not work yet. The TRX utility needs a rewrite (Sep. 1st 2007, confirmed by nbd on IRC).
does this still apply? — KanjiMonster 2010/04/11 13:13
TEST STILL FAILS on ASUS WL-500g Premium V2 with newest ASUS Firmware version 3.0.4.4 — porter 2011/04/28 00:18
TEST STILL FAILS on ASUS WL-500g Premium V1 with ASUS Firmware (not sure about the version) — sup 2012/05/05 20:22
OEM installation using the TFTP method
To install OpenWrt using TFTP or the ASUS firmware restoration tool you have to put the router in diag mode.
Note: In diag mode, the router takes the address stored in nvram, usually 192.168.1.1, but if you changed the router's IP address in its original firmware or in the previously installed OpenWrt, it will use that. Once the installation is complete, the router's IP address will always be 192.168.1.1. In the further sections 192.168.1.1 is assumed.
To put the router in the diag mode, do this:
- Unplug the router's power cord.
- Confirm your PC is configured to use a fixed IP in the 192.168.1.0/24 range (do not use .1).
- Connect the router's LAN1 port directly to your PC.
- Push the black RESTORE button using a pen or such, and keep the button pushed down.
- Plug the power on while keeping the RESTORE button pushed for few seconds.
- When you see a slowly blinking power light, you are in diag mode.
- Now the router should accept an image via TFTP or via the ASUS firmware restoration tool.
It responds to ping, so you can confirm that it is in diag mode and ready for the tftp by using "ping 192.168.1.1".
TFTP
It is possible to install OpenWrt using a TFTP client when the router is in diag mode.
- Execute the TFTP commands below:
- Linux (or Mac OS X)
tftp 192.168.1.1 (replace it with its real ip address) tftp> binary tftp> trace tftp> put openwrt-brcm-2.4-squashfs.trx
- Windows
tftp -i 192.168.1.1 PUT openwrt-brcm-2.4-squashfs.trx
- After the TFTP upload is complete, wait at least six minutes. The firmware is first loaded into the RAM, and then flashed. This process takes a little time, and to ensure that the router is not bricked you should wait six minutes.
- The router will reboot itself automatically after the upgrade is complete. Rebooting may take a while. It might be the case that the router does not reboot by itself; if this happens it should be safe to wait for the period mentioned and then to do a manual reboot (pull the power-cord).
- You are done! You should be able to telnet to your router (IP address: 192.168.1.1 - even if you were using another one previously) and start configuring.
NOTES:
- Windows 7 does not install its tftp client as default, you have to manually add it. Earlier version do include it in their default installations.
- Netkit's tftp doesn't work quite often; use atftp.
- After TFTP upload is complete, DON'T reboot (replug) too early! It might brick your router.
Automated Ping and TFTP Script
- Requires atftp
./ping_atftp 192.168.1.1 openwrt-brcm-2.4-squashfs.trx
ASUS firmware restoration tool (Windows only)
If you are on Windows it is recommended to use the ASUS firmware restoration tool to install OpenWrt. The ASUS firmware restoration tool can be found on the CD. Make sure the router is in diag mode.
- Browse the .trx file (openwrt-brcm-2.4-squashfs.trx).
- Press Upload. The router will reboot itself automatically after the upgrade is complete. Rebooting may take a while.
- You are done! You should be able to telnet to your router (IP address: 192.168.1.1) and start configuring.
If the firmware restoration tool can't seem find your router even though you are certain that it is in diag mode, it may be because the restoration tool is not very smart about which network interface to use. Disable all network interfaces except for the correct (LAN) network interface and try again.
Upgrading OpenWrt
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
use correct URL
- Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL
- Upload TRX file to LuCI
- Wait for reboot
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/brcm-2.4/openwrt-brcm-2.4-squashfs.trx sysupgrade /tmp/openwrt-brcm-2.4-squashfs.trx
If this does not work (reboot without change) try using mdt. Make sure "linux" is the correct mtd target! (cat /proc/mtd). Tested with v1 models.
cd /tmp/ wget [link to image] mtd -r write /tmp/[image].trx linux
Hardware
Info
| Version: | v1 | v2 |
| Architecture: | MIPS | MIPS |
| Vendor: | Broadcom | Broadcom |
| Bootloader: | CFE | CFE |
| System-On-Chip: | Broadcom BCM4704 | Broadcom BCM5354 |
| CPU Speed: | 264 Mhz | 240 Mhz |
| Flash-Chip: | EON EN29LV302B-70TCP | Macronix 29LV640DB |
| Flash size: | 8 MiB | 8 MiB |
| RAM: | 32* MiB | 32 MiB |
| Wireless: | Broadcom BCM4318 802.11b/g (miniPCI) | Broadcom BCM43xx 802.11b/g (integrated) |
| Ethernet: | Robo switch BCM5325 | Switch in CPU |
| USB: | 2x 2.0 | 2x 2.0 |
| Serial: | Yes | Yes |
| JTAG: | No | Yes (pinout same as wrt54G) |
* some older models have only 16 MiB enabled.
Photos
http://wiki.openwrt.org/oldwiki/openwrtdocs/hardware/asus/wl500gp/img_0007
With a Atheros Wistron CM9
MiniPCI WiFi card
http://wiki.openwrt.org/oldwiki/openwrtdocs/hardware/asus/wl500gp/img_3505
With a Gigabyte GN-WIAG02 (168c:0013)
802.11abg MiniPCI WiFi card (Atheros AR5212) and 2nd antenna
Opening the case
Note: This will void your warranty!
Remove the 4 nubs under the case, now you can see some screws. Unscrew them. You're done. When you're finished you can put the rubbers back into the gadgets. They'll stick alone.
Serial
Serial is located on pin soldering points (ready for soldering of 8-pin connector for use with detachable cable) on the centre of the right upper side (viewing from front panel) under ventilation holes. At right from these points, you can see printed pin descriptions (V1):
| RESET | |
| GND | 3.3V_OUT |
| UART_TX1 | UART_TX0 |
| UART_RX1 | UART_RX0 |
Pin 1 (with the square solder pad) is RX0.
For (V2) tts/0 is on the J4 connector:
| 3.3V_OUT |
| UART_RX0 |
| UART_TX0 |
| GND |
3.3V_OUT is next to the label J4 for the connector which is the closest pin to the word ASUS printed on the board. Transmit (UART_TX0) was confirmed with an oscilloscope. Transmit was also connected to Receive (UART_RX0) and data was read back to ensure it was actual the receive pin. Data can be written to tts/1, but the pins have not been identified.
These serial ports use CMOS levels. You need an additional voltage converter to get a standard serial port. The parameters are 115200 baud and 8-n-1.
While connect serial to V2, the VCC pin is not needed. TX from serial converter to the UART_RX0 pin, RX from serial converter to the UART_TX0 pin. Here's the boot log while running /backfire/10.03.1/brcm47xx/openwrt-brcm47xx-squashfs.trx
Openwrt bootlog
Decompressing..........done
CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Mon Apr 16 14:41:05 CST 2007 (root@localhost.localdomain)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.
Initializing Arena
Initializing Devices.
Boot partition size = 131072(0x20000)
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 4.130.23.0
CPU type 0x29029: 240MHz
Total memory: 32768 KBytes
Total memory used by CFE: 0x80400000 - 0x8049A790 (632720)
Initialized Data: 0x80430720 - 0x80432D10 (9712)
BSS Area: 0x80432D10 - 0x80434790 (6784)
Local Heap: 0x80434790 - 0x80498790 (409600)
Stack Area: 0x80498790 - 0x8049A790 (8192)
Text (code) segment: 0x80400000 - 0x80430720 (198432)
Boot area (physical): 0x0049B000 - 0x004DB000
Relocation Factor: I:00000000 - D:00000000
Device eth0: hwaddr 00-1F-XX-XX-XX-XX, ipaddr 192.168.1.1, mask 255.255.255.0
gateway not set, nameserver not set
Null Rescue Flag.
Loader:raw Filesys:tftp Dev:eth0 File:: Options:(null)
Loading: TFTP Server.
Failed.
Could not load :: Timeout occured
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 4092 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
Linux version 2.6.32.27 (jow@nd-build-02.linux-appliance.net) (gcc version 4.3.3 (GCC) ) #5 Wed Dec 21 05:56:26 CET 2011
CPU revision is: 00029029 (Broadcom BCM3302)
ssb: chipcommon status is 0x0
ssb: Initializing MIPS core...
ssb: set_irq: core 0x0806, irq 4 => 4
ssb: set_irq: core 0x0816, irq 5 => 2
ssb: set_irq: core 0x0812, irq 2 => 5
ssb: after irq reconfiguration
ssb: core 0x0800, irq : 2(S) 3* 4 5 6 D I
ssb: core 0x0806, irq : 2(S) 3 4* 5 6 D I
ssb: core 0x0816, irq : 2(S)* 3 4 5 6 D I
ssb: core 0x0819, irq : 2(S) 3 4 5 6* D I
ssb: core 0x080f, irq : 2(S) 3 4 5 6 D I*
ssb: core 0x0812, irq : 2(S) 3 4 5* 6 D I
ssb: core 0x081c, irq : 2(S) 3 4 5 6 D I*
ssb: Sonics Silicon Backplane found at address 0x18000000
Serial init done.
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
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 16kB, VIPT, 4-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
Memory: 29496k/32768k available (2332k kernel code, 3272k reserved, 355k data, 136k init, 0k highmem)
Hierarchical RCU implementation.
NR_IRQS:128
console [ttyS0] enabled
Calibrating delay loop... 239.61 BogoMIPS (lpj=479232)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
bio: create slab
Replacing the Wireless miniPCI Card
Note: This applies to v1 models only!
The standard wireless LAN controller is the BCM4318 on a MiniPCI card. Some people have replaced this with an Atheros MiniPCI card. The advantage is that the Atheros card has an open source driver and is supported by the 2.6 kernel version of OpenWrt. Atheros-based wireless cards that have been known to work include the Wistron CM9 (though some people say that signal quality is poor), and various Tp-Link cards such as the TL-WN560G (signal quality reported to be the same as with the original Broadcom controller).
In order to replace the Broadcom controller with an Atheros one, open the case (instructions above), carefully disconnect the antenna cable from the card, press out the two latches on the sides, and pull the card out of the socket. In some cases the card is glued to a supporting sponge on the main board, so you might have to apply a certain measure of force to get it out. Re-assemble the case, and install packages kmod-madwifi and hostapd-mini to get the new wireless controller to work. Change your /etc/config/wireless to include the following:
config 'wifi-device' 'wifi0'
option 'type' 'atheros'
config 'wifi-iface'
option 'device' 'wifi0' |
Go here for more info and an example configuration.
After installation of kmod-madwifi package you can automatically generate a standard /etc/config/wireless file for Atheros:
opkg update opkg install kmod-madwifi wpad-mini rm -f /etc/config/wireless wifi detect > /etc/config/wireless
Specific Configuration
Interfaces
The default network configuration is:
| Interface Name | Description | Default configuration |
|---|---|---|
| br-lan | LAN & WiFi | 192.168.1.1/24 |
| vlan0 | LAN ports (1 to 4) | |
| vlan1 | WAN port | DHCP |
| wl0/ath0 | WiFi | Disabled by default |
LAN and WiFi is bridged to br-lan. WiFi is disabled by default for security reasons (to prevent an open access point).
Switch Ports (for VLANs)
Please note that the link between the physical ports and switch ports is different for v1 and v2 routers (see table below).
| Port | Switch port (v1) | Switch port (v2) |
|---|---|---|
| Internet (WAN) | 0 | 4 |
| LAN 1 | 1 | 3 |
| LAN 2 | 2 | 2 |
| LAN 3 | 3 | 1 |
| LAN 4 | 4 | 0 |
| Internal connection | 5 | 5 |
5 is the internal connection to the router itself. Don't be fooled: Port 1 on the v2 unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on. For v1 unit, WAN is switch port 0. LAN ports are switch ports 1,2,3,4. And LAN ports map exactly to switch ports.
Failsafe mode
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 power LED to switch off
- While the power LED is off press any button (RESTORE and EZSETUP will work) a few times
- Power LED goes fast-blinking (about 1 time per second)
- You should be able to telnet to the router at 192.168.1.1 now (no username and password)
Buttons
The ASUS WL-500g Premium has two buttons. They are RESTORE and EZSETUP. The buttons can be used with hotplug events. E. g. [#wifitoggle WiFi toggle].
| BUTTON | Event |
|---|---|
| RESTORE | reset |
| EZSETUP | ses |
ACTION: released or pressed
Enabling all RAM
*Note:* This applies only to earlier WL-500gP v1 models.
On newer ASUS WL-500g Premium router's all RAM is enabled by default. If you look at "dmesg | grep Memory" command's output, you will probably see that there's only 16MiB of RAM. Specs says there should be 32MiB. To enable 32MiB change the sdram_init and sdram_ncdl NVRAM variables as showed:
nvram set sdram_init=0x0009 nvram set sdram_ncdl=0x10308 nvram commit rebootNote:
- this is not needed in 10.03.1 with V1 (BCM4704) - maybe it is needed only for BCM4780? — sup 2012/05/05 21:02
- using a "attitude_adjustment" (beta or trunk) brcm47xx image it looks required. Otherwise you may get a memory dump while executing opkg install … (just a "Killed"). –
validom 2012/11/14
Basic configuration
Since this part is identical for all devices, see Basic configuration.
Connect stuff to the USB port
To connect stuff to the USB port, please see Connect stuff to the USB port, the package kmod-usb2 is needed. For some devices the package kmod-usb-uhci-iv might also be needed.
Hardware Mods
nothing?
ASUS WL-500g Premium info
- FCC ID: MSQWL500GP FCC pictures
—-
External Links
Tutorials
- Adding a Bluetooth PAN by Marcus Brown
- Setting up WDS/PSK2 on two Asus WL-500gP by Simon Josefsson
- Using Huawei E220 with Asus WL-500gP by Simon Josefsson
Product Info Pages
Forum Threads
—-
toh/asus/wl500gp.txt · Last modified: 2013/03/05 14:55 by bluesceada
