ASUS WL-520gu

This unit is based on a Broadcom BCM5354 core, with a BCM3302 V2.9 CPU. Detailed specs are available here. Note that the hardware is similar to that of the WL500GPv2, and the information there is relevant to this unit too.

I have experienced intermittent stability issues with the 520gu, with both Backfire (10.03.1-rc4) and recent trunk (Attitude Adjustment (bleeding edge, r26133)) - the unit occasionally just freezes / crashes / dies, requiring reboot. I don't have serial, so I have no further information.

See this forum thread, in which it is suggested that the problem is with the b43 driver, and this ticket is mentioned.

Hardware Highlights

CPU Ram Flash Network USB Serial JTag
Broadcom BCM5354KFBG SoC @ 240MHz 16MB Samsung K4S281632I SRAM 4MB MX 29LV320CB 4 x 1 Yes Core supports 2 serial ports, only 1 is available on the PCB (no ready made port) ?

Note: Above info is taken from the MightyOhm site

Firmware Restoration Mode

The boot_wait nvram variable is set by default, but a special procedure is required for uploading a new flash via tftp at boot. Beginning with the router powered off, press and hold the reset button while powering the router on. Release the reset button when the power led begins to slowly blink on and off. The router will now be in Firmware Restoration Mode, and it can be flashed with a new firmware via tftp at your leisure. This is a good router to experiment with OpenWrt, since it is very easy to recover from a bad flash; if the bootloader doesn't like the firmware, the router may automatically enters Firmware Restoration Mode, and it can apparently always be forced into Firmware Recovery Mode via the reset button. See here for more information.

When in Firmware Restoration Mode, the box will have the IP address 192.168.1.1. I believe (but am not certain) that this is so even if it has previously been configured with a different address. Update: the box keeps the IP address that it had before. In my experience, in Firmware Restoration Mode the IP address is always 192.168.1.1, even though I've usually previously set it to 192.168.0.1.

Installing OpenWrt

  • Recent Backfire and recent trunk (Attitude Adjustment) both work well on this unit.
  • Official Backfire images are available; download a brcm47xx trx image - link to 10.03 (Note: wifi may be unstable with brcm47xx target, in this case you can try brcm-2.4 - old kernel. See the full explanation below.)
  • You can also build your own image from the Backfire or trunk sources - see below.
  • Connect to one of the wired Ethernet ports, and set the local IP address to something like 192.168.1.2
  • Put the box into Firmware Restoration Mode, as above.
  • Flash via tftp - e.g., using atftp: atftp –trace –option "timeout 1" –option "mode octet" –put –local-file openwrt-brcm47xx-squashfs.trx 192.168.1.1
    • Linux:
    tftp 192.168.1.1
    tftp> binary
    tftp> trace
    tftp> put openwrt-brcm47xx-squashfs.trx
  • Wait a few minutes, then reboot the box. (How do you know when it's done writing to flash?). Update: the power-on LED seems to go off while writing to flash and then on again when finished.
  • Wait a minute for it to boot, then:
    telnet 192.168.1.1

Customizing OpenWrt for the 520gu

  • The target platform is Broadcom BCM947xx / 953xx.
  • The target profile is Broadcom BCM43xx Wifi.
  • I believe that the wireless chipset has an L-PHY; in any event, only b43 is required, not b43-legacy, which can be disabled (under Kernel modules / Wireless Drivers).
  • If you're getting a WAN IP address via DHCP and don't need PPP (over Ethernet, or PPPTP, etc.), you can disable PPP support to save space: first disable PPP under Network, then disable the kernel functionality under Kernel modules / Network Support.
  • If you'll want USB functionality, enable the appropriate kernel modules, as explained below.

Hardware

Info

Architecture: MIPS
Vendor: Broadcom
Bootloader: CFE
System-On-Chip: BCM5354KFBG
CPU Speed: 200MHz (240MHz?)
Flash-Chip: 4MB MX 29LV320CB
Flash size: 4 MiB
RAM: 16 MiB
Wireless: Broadcom 5354 (core revision 13) 802.11b/g (integrated)
Ethernet: Switch in CPU
USB: Yes

Note: Above info is mostly taken from the MightyOhm site, with some from dmesg.

Photos

Serial

JTAG

See port.jtag for more JTAG details.

Radio

Warning! Kernel support for the radio is broken when using the 2.6 kernel (b43 driver) via the brcm47xx target in the original Backfire (10.03) release! OpenWrt doesn't enable the radio out of the box. If you enable it, processes get killed and the box becomes unusable. The issue is discussed here.

One option is to use the 2.4 kernel and the old proprietary broadcom driver (brcm-2.4 target). See the discussion in the WL500GP entry; note that the WL520GU is basically a WL500GP v2.

Updated: As of r21470 (May 16, 2010) the stable b43 firmware is being used as the default in trunk builds and the box will work with wireless. It may not be completely stable yet but is somewhat usable. You will have to enable it in /etc/config/wireless.

Updated: In 10.03.1-rc1 (Backfire update RC1, August 2010), the b43 driver seems to work fine on the WL520GU. Hopefully this means 10.03.1 will have robust support for this router via the brcm47xx target.

Updated: as of 10.03.1-rc4 (February 2011) wifi works with brcm47xx

USB

USB requires the ohci driver. To use an external USB storage device, for example, enable the following configuration options:

  • Kernel Modules / USB Support / kmod-usb-core
    • Under kmod-usb-core: kmod-usb-ohci, kmod-usb2, kmod-usb-storage
  • Kernel Modules / Filesystems / kmod-fs-somefilesystem

See the USB storage page for more information.

As of r21428 (May 12, 2010) some broken ehci code in brcm47xx targets was fixed - essentially openwrt was brought back into sync with the linux 2.6.x mainline. USB devices can be recognized and ehci (available in the kmod-usb2 module) is not needed for USB 1.x devices. These are serviced by the ohci usb core

Specific Configuration

See MightyOhm's discussion of installing OpenWrt, but it's old, and probably obsolete.

Interfaces

The default network configuration is:

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

Switch Ports (for VLANs)

Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itself. Don't be fooled: Port 1 on the unit is number 3 when configuring VLANs. vlan0 = eth0.0, vlan1 = eth0.1 and so on.

Port Switch port
Internet (WAN) 4
LAN 1 3
LAN 2 2
LAN 3 1
LAN 4 0

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 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

  1. Forgot the routers IP address

uci get network.lan.ipaddr

  1. 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.

Back to top

toh/asus/wl520gu.txt · Last modified: 2011/03/15 21:12 by celejar