From DD-WRT Wiki

Jump to: navigation, search


[edit] Preface

Please, only add information to the Wiki if you actually own or operate a WHR-HP-G54, and can completely test settings. Add any background information of the specific environment. See Forum threads referenced throughout this Wiki page for discussions.

  • Please include - antenna type, environment (indoor, outdoor, obstructions), SNR, throughput, and any relevant settings.

[edit] Installation of DD-WRT

See DD-WRT Wiki article: Installation#WHR-G54S.2C_WHR-HP-G54.2C_WZR-HP-G54.

Update: 30-07-02018 regarding max. file size

While the unit does have 4MB of Flash Memory not the entire size seems to be available for flashing the firmware. I have been able to upload a file via web gui with a size of 3817472 Bytes. Please update this with the Maximum file size you can determine if it is bigger then the value above.

[edit] Flash and memory specifications

There are two 8 Megabyte SDRAM chips and a 4 Megabyte flash chip. The device has a total of 16Mb RAM and 4Mb Flash.

[edit] Comparison to the WHR-G54S

The WHR-HP-G54 is able to broadcast farther and receive from farther away than the WHR-G54S due to the on-board amplifier and BCMxxxxE/EL-series Broadcom 'BroadRange Technology' chipset. A post on the forum has more lengthy information and a review.

[edit] Command Outputs

[edit] wl cap Output

ap sta wet led wme 802.11d 802.11h rm cqa mbss4 afterburner acktiming

[edit] cat /proc/cpuinfo Output

system type             : Broadcom BCM5352 chip rev 0
processor               : 0
cpu model               : BCM3302 V0.8
BogoMIPS                : 199.47
wait instruction        : no
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : no
hardware watchpoint     : no
VCED exceptions         : not available
VCEI exceptions         : not available

[edit] dmesg Output

CPU revision is: 00029008
Linux version 2.4.33-pre2 (root@linux) (gcc version 4.1.0) #774 Tue May 16 20:11                                                               :46 CEST 2006
Setting the PFC value as 0x15
Determined physical RAM map:
 memory: 01000000 @ 00000000 (usable)
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd cons                                                               ole=ttyS0,115200
CPU: BCM5352 rev 0 at 200 MHz
Using 100.000 MHz high precision timer.
Calibrating delay loop... 199.47 BogoMIPS
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
Checking for 'wait' instruction...  unavailable.
POSIX conformance testing by UNIFIX
PCI: no core
PCI: Fixing up bus 0
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI en                                                               abled
ttyS00 at 0xb8000300 (irq = 3) is a 16550A
ttyS01 at 0xb8000400 (irq = 3) is a 16550A
PCI: Setting latency timer of device 00:01.0 to 64
imq driver loaded.
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Physically mapped flash: Found an alias at 0x400000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
Physically mapped flash: Found an alias at 0xc00000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1400000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1c00000 for the chip at 0x0
 Amd/Fujitsu Extended Query Table v1.1 at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling fast programming due to code brokenness.
Flash device: 0x400000 at 0x1c000000
Physically mapped flash: squashfs filesystem found at block 824
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "pmon"
0x00040000-0x003f0000 : "linux"
0x000ce170-0x0028c9f6 : "rootfs"
mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-o                                                               nly
0x003f0000-0x00400000 : "nvram"
0x00290000-0x003f0000 : "ddwrt"
sflash: found no supported devices
Initializing Cryptographic API
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 2048)
ip_conntrack version 2.1 (512 buckets, 4096 max) - 336 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
IPP2P v0.8.1_rc1 loading
ipt_random match loaded
netfilter PSD loaded - (c) astaro AG
ipt_osf: Startng OS fingerprint matching module.
ipt_IPV4OPTSSTRIP loaded
arp_tables: (C) 2002 David S. Miller
ip_conntrack_rtsp v0.01 loading
ip_nat_rtsp v0.01 loading
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
diag boardtype: 00000467
PCI: Setting latency timer of device 00:05.0 to 64
eth1: Broadcom BCM4318 802.11 Wireless Controller
vlan0: add 01:00:5e:00:00:01 mcast address to master interface
vlan0: dev_set_promiscuity(master, 1)
device eth0 entered promiscuous mode
device vlan0 entered promiscuous mode
device eth1 entered promiscuous mode
HTB init, kernel part version 3.17
HTB init, kernel part version 3.17
vlan1: Setting MAC address to  00 0d 0b 04 ec a1.
vlan1: add 01:00:5e:00:00:01 mcast address to master interface
HTB init, kernel part version 3.17
HTB init, kernel part version 3.17

Note: dmesg performed on DD-WRT v23sp1 mini.

[edit] GPIO (LED output control and switches)

The WHR-HP-G54 has the following GPIOs operational:

  • 0 - Input - AOSS button on top - State 00 is down, state 01 is up
  • 1 - Output - Bridge LED - Lights 3rd LED on front panel
  • 2 - Output - WLAN LED
  • 3 - Output - Extra LED between bridge and WLAN (newer routers no longer have this LED)
  • 4 - Input - Reset Button
  • 5 - Input - Bridge/Auto Switch - State 01 is auto, state 00 is brd
  • 6 - Output - AOSS LED - Lights small orange LED on top
  • 7 - Output - DIAG LED - Lights red LED on front below the LED activated by 1
  • 9 - Output - Power LED

Note: nvram show | grep gpio shows 14 available as well. It is unknown what it does. Pin 8 also does not appear to do anything.

It seems that one must reverse enable and disable for the command to work, i.e. if you want to turn on a LED, use disable, off, use enable.

[edit] BroadRange Setting (Enhanced Receive)

The WHR-HP-G54 has an additional amplifier in the unit (the HP stands for High-Power) and increased receiver sensitivity (BroadRange). Buffalo sells this router with the tag line "MIMO Performance" for this reason.

It is necessary to manually set boardflags=0x3758 to activate the built-in amplifier and the increased receive sensitivity on the unit *. Depending on the environment and equipment, owners report different results with different settings.

At the command prompt (telnet or SSH):

To view the current boardflags value:

nvram get boardflags

To set a new boardflags value, 3 easy steps:

nvram set boardflags=0x3758
nvram commit

0x0758 - no amp and receive sensitivity normal
0x1758 - enhanced receive sensitivity
0x2758 - amp on, normal receive
0x3758 - both amp and BroadRange enhanced receive sensitivity on

Double-check after an install what your flag setting is, and test the difference for yourself. Otherwise you might miss out on a better result with your hardware. Look at SNR and do throughput tests.

For related forum discussion, see these threads: (newer and more specific on 0x2/0x3) [1] and (older) [2] on boardflags. Please put any links to related discussion threads here.

* As of 2007-11-13, the setting has been integrated in Build 8365.
There is an issue in Bugtracker.
This value of this setting has been shown to produce different results depending on the environment. Always do your own throughput (real-world performance) tests. And don't depend exclusively on the Web interface of DD-WRT to show results.

Credits to GeeTek, teclis22, dicksons, sdoboze, JN, a9988cd, and everyone that tested these settings in their environments.

[edit] TX Power Setting, Web Interface

Note: this is a software-only setting. For a comprehensive boost to the quality and performance, look at the 'Method 2 antenna mod'. After completing the Method 2 modification, the TX power setting can be raised much higher.

Setting TX Power to 12 mW is equivalent to the 100% setting in the original Buffalo firmware (cred: tparris).
Setting TX Power to 23mw is one suggestion for balance between power output (around 200mw) and the broadrange receive sensitivity; although this is tested against typical clients with stock ~2db antennas in a metro environment. With better client equipment, antennas, or different location, a higher or lower setting may be useful.

The radio must be able to receive as well as it can send. Using too high a TX Power setting, in lower settings, can mean the clients can 'hear' the AP, but the AP cannot hear them. Higher settings can add distortion to the signal.

For related forum discussion and background information, see these threads: [3] and [4] on power output. Please put any links to related discussion threads here.

[edit] See the method 2 antenna modification.

[edit] Hardware modifications

May void the warranty. Usually only mods which require opening the WHR-HP-G54.

[edit] POE: Power over ethernet support

While the device does not natively support Power Over Ethernet, a linksys WAPPOE (5 volt, not the 12 volt kind) will work just fine.

Also easily powered with a simple 7805 (+5VDC) voltage regulator ($1.59 at Radio Shack) and your standard homemade PoE injector feed and tap (using pins 4+5 and 7+8, the blue and brown pairs). Heatsinking of the regulator is suggested due to ~700mA @ 5V max current draw. It doubles as a nice little heater for outdoor installs in locales that have cold weather. Heat dissipation can be reduced to a minimum by adjusting your input voltage at the feed end of the CAT5 cable so that the regulator still supplies a stable 5V when operating under load (router plugged in and turned on), then bump it up a little to account for periods of slightly more draw (CPU load fluctuations, or when flashing or saving nvram settings, etc). Insufficient feed voltage and current does not fry the router, but the Ethernet switch will not initialize (among other oddities) until the supply is enough - overvoltage is not a concern with the 7805 as there is no way for it to ever go above 5V output, and the maximum current output is 1A just like the original power brick. The 7805 regulator will handle up to 35V input, but heat dissipation is relative to the extra input voltage it has to absorb, so tuning your feed voltage to the length of your particular CAT5 cable length is a good idea. Always measure all voltages under load, as they drop quite a bit once things are actually using power.

A good high efficiency alternative to the 7805 is available from Dimension Engineering. It is a switching regulator and can handle up to a 30v input. While more expensive than the 7805, its 90% efficiency keeps the heat dissipation at a minimum.

The power connector is called a "Size M" at Radio Shack, tip size 5.5mm OD x 2.1mm ID, so you don't have to chop off the original if you want to keep the brick supply for bench testing/repairs.

[edit] Power supply replacement for signal power and stability

If you have a north american model, it may have arrived with a 'wall-wart' at 1.4 amps. Consider changing this with a switching power supply of at least 2 amps. International (european) models don't seem to have this problem.
Under-powered 'wall-wart' north american power supply:
Close-up of under-powered 'wall-wart' post-lawsuit north american power supply:
Correct power-supply to use with WHR-HP-G54:

See: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=325551

Credits: 1

[edit] USB-Powered, mobile WHR-HP-G54

Use a common USB-to-barrel connector cable to power the router from a laptop. The same power cable is used commonly in inexpensive laptop 'Cooler Pads'. Check the polarity of the barrel or you may fry your equipment! The outside of the barrel should be -, the + is the inside. The router draws ~600ma, and works from a high-quality laptop USB port. [5]

[edit] Opening (may void warranty)


[edit] Inside the WHR-HP-G54

See Inside_the_WHR-HP-G54 (Large Images).

[edit] Internal and External Antennas

The WHR-HP-G54 has two antennas. An obvious external one (right) which can be replaced, and an internal one (left) on the board. The two antennas are for 'diversity', in indoor environments (multipath), or when either AP or wireless clients are moving. When using a high-gain antenna (a better antenna than the stock antenna), or a single directional antenna, use the "right" antenna setting, for both TX and RX. Using only one high-gain antenna has shown to improve the quality of the connection. This is true especially when the WHR-HP-G54 and clients are in static locations, or outdoors. Wikipedia has an article on antenna diversity.

A way of increasing the signal reliability in multipath environments when using longer-range connections and higher-gain antennas, is to bring the internal antenna out to an external.

These next steps void any warranty on the Buffalo radio!

[edit] Method 1 of bringing the internal antenna outside

This is an easy modification of the WHR-HP-G54. It does not give 'the best' performance although it is so simple to do, anyone with 'level 1' skills can manage it and do it en-masse to a lot of routers.

Method #1 is an easy mod, which requires adding a single part to the board, and cutting away some of the case plastic to make room for the new, 2nd antenna connector. If one can do basic soldering and can modify plastic, one can do this modification.


This is what method #1 looks like with the CONREVSMAxxx jack installed, and an antenna connected. This photo was taken with the board out of the box. Later, you make a hole in the WHR-HP-G54 case to allow for the second jack to show through.

  • One needs one part CONREVSMA003.062 from www.connectorcity.com (also known as LINX TECHNOLOGIES):


  • One needs some solder. Typical small-electronics, low-temp solder.
  • Some acid-free flux. This is in a white paste usually, sometimes in a tooth-paste-tube type container. Regular plumbers paste works. Whatever is used for small electronics will work fine also.
  • A 15w soldering iron. About 10$ or 8€ at your local hobby-shop. Any small-electronics iron should work.
  • One needs only be minimally proficient at soldering when using the LINX part. The Method 2 below requires more skill, I think.
  1. Simply open up the Buffalo. There are directions in the wiki on how to open it, and you should read these if you have never opened up one before. It takes a few minutes and one torx screwdriver. Then modify the board as shown in Photo 1.
  2. Line up the CONREVSMA003.62 part on the board to see what to remove and scrape:
  3. Cut away (remove) a few millimeters of the 'signal' trace where the black box is drawn on the photo.
    In the following photo, the black box area is the amount and location of trace to grind away.
  4. Using the flat tip of a sharp knife, gently scrap off a little of the green protective covering so the bare copper shows a little copper on the 'signal' and the 'ground'.
  5. Line up the CONREVSMA003.62 part on the board:
  6. One can solder then the outside 'ground' legs of the CONREVx connector, to circuit 'ground' on the Buffalo board. The CONREVx pins match exactly with the Buffalo antenna and ground board traces.
  7. Then solder the 'signal' pin, the inside pin of the CONREVx part to the 'signal' trace on the board.

It takes about 5 minutes to solder and an amateur with little or no high-frequency/radio-experience can do it this way very well.

Some epoxy can be applied later to the CONREVx part legs, although you will find the connection is stable enough to hold a normal (2db) antenna or pigtail. An extension with a base (like a mag-mount base) is recommended for both antennas if you will be attaching anything larger than 5db antennas, as the amount of stress the larger antennas may lead to cracking.

Be sure to apply heat for long enough and some flux paste to get the solder to flow, but not so much you melt the white isolation plastic inside the CONREVx part. With a 15w soldering iron and low-temp solder it is not a problem.

Normally, because of the specifics of high-frequency radio signals, I don't recommend wireless DIY because of the chance of introducing noise is high, or grounding the signal, or damaging the radio. This modification is so simple, though, if you use exactly the part and methods documented, and are reasonably fit, you can't go wrong.

It is not advised to put, say, two 9 or 16-db antennas within a few inches or centimeters of each other. 1-meter RP-SMA extension cables with a substantial magnetic base can be had for around 10$ or 8€ on eBay and online stores. Besides giving you a substantial base for larger antennas, they can be spaced apart fully, to give the desired diversity benefits.

Finished antenna mod, method 1, board view (inside):

Finished antenna mod, method 1, without antennas/bases attached:

Finished antenna mod, method 1, with simple 5db antennas attached:

Authored, and modified by S2s2 14:13, 2 August 2009 (CEST)

[edit] Method 2 antenna mod. Better.

This mod requires:

  1. Better skills. Level 2. You'll be working with some high-frequency wiring and more delicate solder operations than method 1. You can do method 1 then later go back and do method 2 - the only drawback is the hole in the top of the WHR-HP-G54 from method 1 which you should probably close.
  2. The following parts:
    1. RP-SMA pigtails, 2 of them!, with jacks for antennas, nothing on the other end. About 20cm minimum of coax. I got mine from interline.pl.
      When you are finished, the antenna connectors are outside the router; they are not 'mounted' to anything (see photo below).
      I use mag-mount type antenna bases for placement of the antennas further away.
      If the local setup is a professional, weather-proof box for the WHR-HP-G54, that would work. Make sure your pigtails you order have enough length; the less connections you make, the better. Count on losing 1/2 db on every adapter connection. Pigtails directly to antennas are the best setup.
    2. No CONREVxxx part number (see above, Method 1 antenna mod). These seem to only be available through LINX TECHNOLOGIES, and they were hard to get for me.
    3. 2.6amp or better power supply. The wall-wart definitely is not okay.
    4. Some epoxy. It is more necessary to have 2-part epoxy for this mod. Hot glue might work; the author is just not a fan of hot-glue. Hot-glue has the bonus of being removable, but if you do this mod right, you don't need to remove the adhesive! Do not use cheap 2-part epoxy!! Use commercial preparations. I like the ones meant for airplane model assembly the best, because they are not supposed to come apart for obvious reasons.

Follow the photos:

Cut the trace to the main antenna. We do not use the OEM main antenna mount, as it is too far away from the source of the signal. This is a design issue with the WHR-HP-G54. Setting the coax closer to the signal output/input of the radio, gives use a better, clearer more stable signal.
Image:WHR-HP-G54 antenna mod, method 2, photo1, cut trace to first antenna.JPG

Bridge the 5v power to the amp. You can remove the fuse.
You can only do the following part of the mod when you have the 2.6amp or better power supply!
Image:WHR-HP-G54 antenna mod, method 2, photo2a, bridge 5v power to amp.JPG

Image:WHR-HP-G54 antenna mod, method 2, photo2b, bridge 5v power to amp.JPG

Cut the trace to the second antenna, and use this photo to determine how the pigtails are going to connect to the board.
Note: the bottom pigtail in the photo, is replacing the 'main antenna'. Leave the old RP-SMA board-mount on, it is not necessary to remove it and actually quite a pain in the but to do so without de-soldering equipment.
Note: the 'bottom' pigtail actually gets turned around in later photos so the coax can exit the router case easily. However, here it is important to show you where the solder points are exactly.
Image:WHR-HP-G54 antenna mod, method 2, photo3, cut trace to second antenna.JPG Image:WHR-HP-G54 antenna mod, method 2, photo3a, cut trace to second antenna, closeup.JPG Image:WHR-HP-G54 antenna mod, method 2, photo3b, cut trace to second antenna, closeup.JPG

Actual placement of coax: Image:WHR-HP-G54 antenna mod, method 2, photo4, actual arrangement of antennas.JPG

Finished look, inside view: Image:WHR-HP-G54 antenna mod, method 2, photo5a, finished.JPG

Finished look, outside case, assembled: Image:WHR-HP-G54 antenna mod, method 2, photo5b, finished.JPG


  1. 2.6amp or better 5v power supply
  2. 5v to the signal amplifier
  3. done the above mod, bringing the antenna connections directly to the outputs
  4. properly connected equipment, antennas.
Then add:
wl txpwr1 31
to the startup commands.

Big time credits to 'Radioman193'

[edit] Add a memory card reader, MMC/SD Card addition

See Buffalo_WHR-G54S_and_WHR-HP-G54_SD/MMC_mod for an extensive sub-article on how to do this modification.

[edit] De-bricking

See Recover_from_a_Bad_Flash#Buffalo_WHR-G54S_and_Buffalo_WHR-HP-G54

[edit] External Links