User Tools

Site Tools


toh:asus:wl500g

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

toh:asus:wl500g [2013/05/18 22:32]
toh:asus:wl500g [2014/04/24 20:36] (current)
Line 1: Line 1:
 +====== ASUS WL-500g ======
  
 +The device is supported by OpenWrt 0.9 (White Russian, brcm-2.4 target, 2.4 kernel). ​
 +
 +Beginning with SVN revision 10137 (in brcm-2.4 target), a new version 4.150.10.5 of the broadcom-wl driver and utils was integrated, which unfortunately does not seem to support the WLAN module in the WL-500g any longer. Unfortunately,​ the changes lie within binary code, so probably the only way is to get the old 4.80.53.0 version ported forward. This means no Kamikaze or Backfire releases have functioning wifi with 2.4 kernel and Broadcoms drivers.
 +
 +Version 10.03.1 (Backfire, brcm47xx target, kernel 2.6) seems to work with opensource b43 wifi driver and kernel 2.6. However, it is a bit slow (it can boot for 2-3 minutes), but still usable (it is slow only when you interact with it, it routes traffic just fine). Note that with this version, you will have only 960kB of free space for your applications (unless you compile your own stripped-down image).
 +
 +I found out that trunk with b43 driver as of May 8 2012 works, but wifi stops working after about two hours. Running command peridically (say every hour) ''​wifi''​ fixes it without the connections being dropped.
 +
 +===== Hardware info =====
 +| **Architecture:​** | MIPS |
 +| **Vendor:** | Broadcom |
 +| **Bootloader:​** | PMON |
 +| **System-On-Chip:​** | Broadcom BCM4702/​4710 |
 +| **CPU Speed:** | 125 Mhz |
 +| **Flash-Chip:​** | AMD AM29LV320 |
 +| **Flash size:** | 4 MiB |
 +| **RAM:** | 16 MiB (2x 8 MiB) |
 +| **Wireless:​** | Broadcom WL-120G (BCM4306, miniPCI) |
 +| **Ethernet:​** | Broadcom BCM5325A (two network interfaces, one for 4 LAN ports, one for WAN port; no VLAN tagging) |
 +| **USB:** | 1x 1.1 |
 +| **LPT:** | Attansic AT7601F (EPP/ECP support) |
 +| **Serial:** | yes, with external UART |
 +| **JTAG:** | no |
 +
 +===== Installation =====
 +
 +==== Restore mode ====
 +
 +If you want to upload firmware to router by Asus Firmware Restoration tool or tftp, you will have to turn your device to this mode. The procedure is following:
 +
 +  - Turn off the device.
 +  - Press and hold the reset button.
 +  - Plug the device (still hold the button).
 +  - Wait until the PWR LED starts flashing slowly (almost immediately).
 +  - Now release the reset button. Your router is in Restore mode.
 +
 +==== ASUS Firmware Restoration tool ====
 +You can use the ASUS Firmware Restoration tool to send an image from a Windows PC to the router (including OpenWrt). The tool is on the supplied CD or available from the ASUS Support web site.
 +
 +:!: Before you start the Firmware Restoration tool, disable all interfaces on the PC except for the one connected to the router. The software seems to pick an interface at random.
 +
 +Put your router into **[[toh:​asus:​wl500g#​restore.mode|Restore mode]]** and start the **Firmware Restoration** program. Select the desired firmware and click on Upload. The software will search for the router - the status is //Connect to the wireless device//, it will do this for about 32 seconds.
 +
 +:!: The software will only find the router if it is in Recovery mode.
 +
 +The tool provides status as it works:
 +
 +  * Uploading (LAN interface LED blinks during transfer)
 +  * Recovery is in progress
 +  * Success
 +
 +After this, you should be able to connect to the router.
 +
 +==== TFTP installation notes ====
 +
 +The [[oldwiki:​OpenWrtDocs:​Hardware:​Asus:​WL500GRecovery|WL-500G recovery]] mechanism is somewhat complex. The most reliable method is to statically assign the ARP entry for the device, and use a known-to-work TFTP client (e.g. OS X's inbuilt tftp generally doesn'​t work; atftp on Linux does work).
 +
 +**Note:** Mac OS X 10.5 Leopard tftp client does work! Router was stuck to the IP address setting in the NVRAM. It was not necessary to manually fix the MAC ADDRESS.
 +
 +Set your ethernet interface into static mode (IP address 192.168.1.10,​ netmask 255.255.255.0,​ default gateway 192.168.1.1),​ put your router into **[[toh:​asus:​wl500g#​restore.mode|Restore mode]]** and upload the firmware by TFTP using the following commands (`00:​11:​2f:​6a:​60:​13` is the device'​s MAC address - replace by yours, `192.168.1.1` is a free IP address on your local network):
 +
 +<​code>​
 +$ sudo arp -s 192.168.1.1 00:​0e:​a6:​6c:​ac:​1f #​00:​0e:​a6:​b7:​e4:​17
 +$ tftp 192.168.1.1
 +tftp> binary
 +tftp> trace
 +tftp> get ASUSSPACELINKaaaa /dev/null
 +tftp> put openwrt-xxx-x.x-xxx.trx ASUSSPACELINK
 +</​code>​
 +
 +
 +**Sidenote:​** the "magic string"​ on the end of the ASUSSPACELINK string (e.g. often quoted as "​\x01\x01\xa8\xc0"​) is in fact meant to be the IP address to be assigned to the device, in little-endian order (0x01 0x01 0xa8 0xc0 = 1 1 168 192; or IP=192.168.1.1). However, most TFTP clients interpret the string "​\x01\x01\xa8\xc0"​ literally and you'll end up with an IP address of 49.48.120.92 being used (convert the ASCII string "\ x 0 1" to decimal and reverse). The TFTP clients that work don't care about what the WL-500G thinks its IP address is, hence the "​aaaa"​ in the example above.
 +
 +
 +After this, wait until the PWR LED stops flashing and the device to reboot and you should be set.
 +
 +===== 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.
 +
 +You also need to have enough free RAM. See [[doc:​howto:​generic.sysupgrade]] and [[https://​forum.openwrt.org/​viewtopic.php?​id=36671]] for details. For me, the box would always freeze midway through the process and reboot itself. ​ --- //sup 2012/05/07 16:59//
 +
 +== LuCI Web Upgrade Process ==
 +  *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.
 +
 +<​code>​
 +cd /tmp
 +wget http://​downloads.openwrt.org/​**path-to-latest-release**/​brcm47xx/​openwrt-brcm47xx-squashfs.trx
 +sysupgrade /​tmp/​openwrt-brcm47xx-squashfs.trx
 +</​code>​
 +
 +===== USB =====
 +
 +From Openwrt forum ([[https://​forum.openwrt.org/​viewtopic.php?​pid=123697#​p123697|link]]):​
 +
 +For both Kamikaze (brcm-2.4 target) and Backfire (brcm47xx target), install:
 +
 +  * **kmod-usb-core**
 +  * **kmod-usb-ohci**
 +
 +:!: Running brcm47xx target, you need to install the **kmod-usb2** package, even if you have only an USB 1.1 controller.
 +
 +After doing this, see [[:​doc:​howto:​usb.overview|USB overview]] for more info.
 +
 +===== Software hacks =====
 +
 +==== Messing up logread ====
 +
 +Got annoyed by //logread// output full of messages looking like this:
 +<​code>​
 +...
 +Mar 27 02:48:34 OpenWrt daemon.info init: process '/​bin/​ash --login'​ (pid 2582) exited. Scheduling for restart.
 +Mar 27 02:48:34 OpenWrt daemon.info init: starting pid 2590, tty '/​dev/​ttyS0':​ '/​bin/​ash --login'​
 +...
 +</​code>​
 +Here is a fast solution - simply comment out a line with "​ttyS0::​askfirst:/​bin/​ash --login"​ in your /​etc/​inittab file. The file should contain something like this:
 +<​code>​
 +::​sysinit:/​etc/​init.d/​rcS S boot
 +::​shutdown:/​etc/​init.d/​rcS K stop
 +tts/​0::​askfirst:/​bin/​ash --login
 +#​ttyS0::​askfirst:/​bin/​ash --login
 +tty1::​askfirst:/​bin/​ash --login
 +</​code>​
 +
 +
 +===== Useful sources =====
 +This page has been assebled from a number of different pages from the oldwiki and current wiki. See them for more (possibily outdated) informations.
 +
 +  *[[oldwiki:​openwrtdocs:​hardware:​asus:​wl500g|ASUS WL-500g]] \\
 +  *[[oldwiki:​openwrtdocs:​hardware:​asus:​flashing|Flashing ASUS products]] \\
 +  *[[oldwiki:​openWrtDocs:​hardware:​asus:​wl500grecovery|WL-500G recovery]]
 +
 +===== Tags =====
 +{{tag>​bcm47xx bcm4702 FastEthernet 1NIC 1WNIC 5Port 4Flash 16RAM}}