Buffalo WHR-HP-G54/dd-wrt
WHR-HP-G54 @ dd-wrt
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.
Installation of DD-WRT
See DD-WRT Wiki article: WBR-G54 WLA-G54 WLA-G54C WBR2-G54 WBR2-G54S. Note: This information links right back here and should be fixed.
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.
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.
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.
Command Outputs
wl cap Output
ap sta wet led wme 802.11d 802.11h rm cqa mbss4 afterburner acktiming
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 3.90.39.0 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.
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
.
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 reboot
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
- 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.
See the method 2 antenna modification.
Hardware modifications
May void the warranty. Usually only mods which require opening the WHR-HP-G54.
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.
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
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]
Opening (may void warranty)
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):
http://www.connectorcity.com/index.php?section=products&subcategory=RP-SMA
- 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.
- 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.
- Line up the CONREVSMA003.62 part on the board to see what to remove and scrape:
- 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. - 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'.
- Line up the CONREVSMA003.62 part on the board:
- 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.
- 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)
Method 2 antenna mod. Better.
This mod requires:
- 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.
- The following parts:
- 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. - 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.
- 2.6amp or better power supply. The wall-wart definitely is not okay.
- 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.
- 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.
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.
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!
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.
Finished look, outside case, assembled:
Checklist:
- 2.6amp or better 5v power supply
- 5v to the signal amplifier
- done the above mod, bringing the antenna connections directly to the outputs
- properly connected equipment, antennas.
- Then add:
wl txpwr1 31
- to the startup commands.
Big time credits to 'Radioman193'
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.
De-bricking
See Recover from a Bad Flash#Buffalo WHR-G54S and Buffalo WHR-HP-G54