From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 17:15, 12 July 2010 (edit)
S2s2 (Talk | contribs)
m (fixed numbering bug on method 1)
← Previous diff
Revision as of 17:17, 12 July 2010 (edit) (undo)
S2s2 (Talk | contribs)
m (add photo of power supply not to use/to use)
Next diff →
Line 113: Line 113:
== Mods == == Mods ==
===Power supply replacement for signal power and stability=== ===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.+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:
 +Correct power-supply to use with WHR-HP-G54:
See: See:
http://www.dd-wrt.com/phpBB2/viewtopic.php?p=325551 http://www.dd-wrt.com/phpBB2/viewtopic.php?p=325551

Revision as of 17:17, 12 July 2010



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.

Installation of DD-WRT

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

Inside the WHR-HP-G54

See Inside_the_WHR-HP-G54 (Large Images).

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!

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.

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

Built-In Amplifier & Enhanced Receive Sensitivity

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.

TX Power Setting, Web Interface

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.

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.


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: Image:WHR-HP-G54_Powersupply_AD20101207_WallWart_whatnottouse.jpg Correct power-supply to use with WHR-HP-G54: Image:WHR-HP-G54_Powersupply_AD20101207_what_to_use.jpg See: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=325551

Credits: 1

Opening (may void warranty)


Add a memory card reader

See Buffalo_WHR-G54S_and_WHR-HP-G54_SD/MMC_mod

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]


See Recover_from_a_Bad_Flash#Buffalo_WHR-G54S_and_Buffalo_WHR-HP-G54

Command Outputs

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

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.


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.


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.

Flash and memory specifications

My router looks identical to this internally. As can be seen, there are two 8 Megabyte SDRAM chips and a 4 Megabyte flash chip. The device has a total of 16Mb RAM and 4Mb Flash.

External Links