I'M NOT RESPONSIBLE TO ANY DAMAGE CAUSED TO YOUR UNIT BY DOING THIS! THIS IS SOLELY YOUR OWN RISK!
Any reprint of this information SHOULD include the link to this page and PRIOR agreement
So, finally here is an instruction on how activate afterburner (speedboster) feature on the recent wl-500g/wl-300g/wl-hdd units (this should probably also possible for other broadcom based units, including linksys wrt54g). Thanks are going to Antiloop for performing required testing.
"Upgradable" units
Why I'm talking about recent units? The reason is simple. All Broadcom 802.11g cards are based on bcm4306 chip, but these chips are not identical to each other. Each chip has a so called revision number. There are at least two important numbers: chip revision and core revision. Afterburner could be enabled only for certain revisions, namely with core revision greater than 4. Most of the old wl-500g are equiped with bcm4306 with a core revision 4, so they are NOT "upgradable".
How to determine your core revision
There several ways for doing this. The simplest is the direct query using wl utility. Just execute
You will get back and output which looks like this:
Code:
vendorid: 0x14e4
deviceid: 0x4320
radiorev: 0x22050000
chipnum: 0x4306
chiprev: 0x2
corerev: 0x4
boardid: 0x120f
boardvendor: 0x14e4
boardrev: 0x15
driverrev: 0x1030200
ucoderev: 0x1180015
bus: 0x1
The output above gives you corerev 0x4 - i.e. 4 - this board is not "upgradable".
"Upgradable" board should give you somthing like this:
Code:
vendorid: 0x14e4
deviceid: 0x4320
radiorev: 0x22050000
chipnum: 0x4306
chiprev: 0x3
corerev: 0x5
boardid: 0x120f
boardvendor: 0x14e4
boardrev: 0x15
driverrev: 0x1030200
ucoderev: 0x1180015
bus: 0x1
Note, that corerev is 5, and chiprev is 3. This board is "upgradable".
Another way for determining your board revision is to use
command.
This command returns bunch of data, including bcm4306 info
Code:
Bus 1, device 2, function 0:
Class 0280: PCI device 14e4:4320 (rev 3).
IRQ 6.
Non-prefetchable 32 bit memory at 0x40002000 [0x40003fff].
Please note, that there is no core revision output, but rev 3 is stands to chiprev 3 which is corresponds to corerev 5, which is "upgradable".
"Upgrading" it
First you need enable Afterburner for board itself (in fact, just to say driver, that board is enabled for afterburner). To do this you will need to modify boardflags which are stored along with things like MAC address, vendor/product id, etc... in board srom (non-volotile memory). These flags are 16-bit value, stored at the byte-offset 114 in srom, afterburner enable is a bit resulting in little-endian value of 0x200. By default srom is programmed with boardflags=0xf, you need to set it to 0x20f using these commands:
Code:
wsrom eth2 114 $((0x20f))
wsrom eth2 116 $((0xffff))
First command performs required change, while the second workarounds ASUS bug in the wsrom command.
Finally you will need to enable afterburner mode for the firmware using these commands:
Code:
nvram set wl_afterburner=auto
nvram set wl0_afterburner=auto
nvram commit
Reboot your unit, it should come back with afterburner.