Buffalo WZR-HP-G300NH

From DD-WRT Wiki

Jump to: navigation, search


[edit] Specifications: Buffalo WZR-HP-G300NH


CPU Atheros AR9132 rev 2 (0xb9)
CPU Speed 400 MHz
Flash ROM 32 MB
Radio 2.4 GHz
WLAN Support B/G/N
WLAN Max Speed 300 mbps
Antenna Location 2x fixed external
Switch 4x GigE + 1 WAN
USB 1x USB 2.0

[edit] DD-WRT on Buffalo WZR-HP-G300NH

Buffalo provides a re-branded version of DD-WRT specifically for this router. It can be flashed from the GUI and is available on the Buffalo website:


Go to that site and submit your s/n for your WZR-HP-G300NH and it should point you to the appropriate download for the buffalo dd-wrt professional firmware. As of Sep 2021 - the buffalo dd-wrt builds for this unit currently come in (3)2 builds only, which are (14998) 19484, and 30356.

NOTE: You can go directly to the page via this link.

For build 19484, be aware of the issue that VLAN is turned on automatically by default, which makes clients unable to communicate with each other on the LAN ports.

The symptom is described here and can be fixed by startup script described in post 24 & 25. http://forums.buffalotech.com/index.php?topic=15378.15

To disable the VLAN, run the following commands in Administrator -> Commands:

swconfig dev switch0 set enable_vlan 0
swconfig dev switch0 set apply

To keep VLANs enabled but allow communication:

swconfig dev switch0 port 3 set pvid 6
swconfig dev switch0 port 2 set pvid 6
swconfig dev switch0 port 1 set pvid 6
swconfig dev switch0 port 0 set pvid 6

To save this configuration, press Save Startup on the Commands page.

Also, if you happen to have a hardware switch (10/100 or gigabit either one), you can use this to remedy the VLAN issue. Just plug a hardware switch into one of the g300nh's LAN ports and then simply use the switch to connect wired connections, should keep them within the same VLAN then.

As of Feb 2010, the WZR-HP-G300NH can be flashed with DD-WRT directly from the Buffalo web GUI. See Where do I download firmware? for links. Look for a Buffalo WZR-HP-G300NH folder, and download the firmware file you need (just one file).

Newer or older builds can be found in the DD-WRT file server


[edit] DD-WRT on Buffalo WZR-HP-G300NH (Japanese version)

The official DD-WRT release cannot be pushed by web upload onto the Japanese WZR-HP-G300NH original Buffalo firmware. Buffalo Japan added a "safeguard" that checks for Japanese firmware and rejects western firmware. For people with a Japanese router, see the following two sites for details.

[edit] WZR-HP-G300NH2 and WZR-300HP

CPU Atheros AR7242
CPU Speed 400 MHz
Flash ROM 32 MB
Radio 1x 2.4 GHz
WLAN Support B/G/N
WLAN Max Speed 300Mbps
Antenna Location 2x fixed external
Switch 4x LAN + 1 WAN Gigabit ports
USB 1x USB 2.0

Newer models of the WZR-HP-G300NH have been released called WZR-HP-G300NH2 and WZR-300HP, these units have different hardware than the v1 of this unit. Both the G300NH2 and 300HP share the same FCC ID # and have an Atheros AR7242@400Mhz with 32MB flash rom and 64MB board ram. The G300NH2 has been supported as of build 17201. The newer 300HP unit has been community build supported as of build 20675. These units also come with buffalo dd-wrt professional firmware pre-flashed, you can flash to the community dd-wrt builds by following the below steps.

1) Download the community dd-wrt build for this model using the link below.

For a WZR-HP-G300NH2

buffalo_wzr-hp-g300nh2 folder, file buffalo_to_ddwrt_webflash-MULTI.bin See Where do I download firmware? for links.

For a WZR-300HP folder buffalo_wzr-300hp, file buffalo_to_ddwrt_webflash-MULTI.bin See Where do I download firmware? for links.

2) Perform a reset on the router holding the reset button down for 30 seconds and then release.

3) Set a static IP on your PC to and subnet, gateway

4) Log in the router's web-gui @ and go to the firmware upgrade section and select the file you downloaded in the first step.

5) After you selected the file from the first step, if you are in the buffalo dd-wrt pro build then select "reset to default settings" and click "upgrade"

6) Give this atleast 10 minutes to complete, do not unplug or mess with the unit in any form or fashion... BE PATIENT!

7) After you have waited, un-set the static ip of and either set it to use DHCP or set a static ip of

8) Log in the dd-wrt webgui @ and once in, immediately go to Administration > Factory Defaults and select to "restore to factory defaults" again wait atleast 3 minutes. This will give it the equivalent of a hard reset to assure flash integrity.

9) Then, after you have waited atleast 3 minutes, re-log in the dd-wrt webgui @ and begin setup, enjoy dd-wrt!

[edit] Samba Configuration

The latest build has already include simple UI to configure Samba
DD-WRT already includes a built-in Samba server. These instructions provide a simple way to setup Samba. They are based on instructions from http://g300nh.blogspot.com/2010/06/samba-sharing-in-dd-wrt.html, but have been modified for users not familiar with Linux. All setup can be done from within the DD-WRT interface without requiring the use of a remote shell.

[edit] Pre Requirements

DD-WRT doesn't have any tools to format an HDD, so you must have an preformatted HDD in a format that DD-WRT can understand (FAT32, EXT3, etc.)

Go to Services/USB within DD-WRT and change the settings as indicated below:

Core USB Support: Enable
USB 2.0 Support: Enable 
USB Storage Support: Enable 
ext2 / ext3 File System Support: Enable
FAT File System Support: Enable
Automatic Drive Mount: Enable 
Disk Mount Point: /mnt

After apply the changes, if you have already plugged in an HDD, you should see its information in the UI.

[edit] Anonymous Sharing Setup

These step will share a disk that is already mounted at /mnt. It will be publicly available to everyone on the network and won't require a username or password to connect.

Go to Administrators/Commands in DD-WRT and copy the script below into the textbox then choose Save Startup

# Stop samba service
killall smbd
killall nmbd
sleep 2

# Configure samba
mkdir -p /tmp/etc/samba
echo "
	netbios name = DD-WRT
	workgroup = WORKGROUP
	server string = DD-WRT
	syslog = 10
	obey pam restrictions = yes
	socket options = TCP_NODELAY
	preferred master = no
	os level = 20
	security = share
	guest account = nobody
	invalid users = root, mail, deamon, reboot
	null passwords = yes
	guest only = yes	
	map to guest = Bad User

	private dir = /tmp/etc/samba/
	lock directory = /var/lock/
	pid directory = /var/run/

	unix charset = UTF-8
	dos charset = UTF-8
	map archive = No
	map hidden = No
	map system = No

	path = /mnt/
	read only = no
	create mask = 0700
	directory mask = 0700
" > /tmp/etc/samba/smb.conf

# Add user for samba
# guest user
grep -q nobody /etc/passwd || echo 'nobody:x:65534:65534:nobody:/mnt:/bin/false' >> /etc/passwd

# Start samba service
SMBOPTIONS="-s /tmp/etc/samba/smb.conf"
/usr/sbin/smbd $SMBOPTIONS
/usr/sbin/nmbd $SMBOPTIONS

[edit] Setup Sharing with Username/Password

Because smbpasswd program build-in DD-WRT always treats /etc/samba/smbpasswd as the samba password file, and /etc is a readonly file system, we must temporary bind /tmp/etc to /etc when adding a user. Change # Add user for samba section like below:

# Add user for samba
mount -o bind /tmp/etc /etc

# clear samba user if exists
echo "" > /tmp/etc/samba/smbpasswd

# guest user
grep -q nobody /etc/passwd || echo 'nobody:x:65534:65534:nobody:/mnt:/bin/false' >> /etc/passwd

# add user: username=share, password=sharepassword
grep -q share /etc/passwd || echo 'share:x:65534:65534:nobody:/mnt/:/bin/false' >> /etc/passwd
smbpasswd share sharepassword

umount /etc

If you need add more users, you can repeat these lines with the desired usernames and passwords

# add user: username=share, password=sharepassword
grep -q share /etc/passwd || echo 'share:x:65534:65534:nobody:/mnt/:/bin/false' >> /etc/passwd
smbpasswd share sharepassword

In the [global] section of Samba configuration, update the config value as indicated below:

	encrypt passwords = true
	passdb backend = smbpasswd
	security = user
	null passwords = no
	guest only = no	
	smb passwd file = /tmp/etc/samba/smbpasswd

[edit] Configuration Share Folder

add later

[edit] Setup DD-WRT as Windows Name Server

If your network has more than one subnet, you might need to setup a Windows Name Server (WINS server), You can make you router become a WINS server even if you don't have a USB HDD or you don't need a sharing setup. Just user script like Anonymous Sharing Setup but change the below setting in the [global] section:

wins support = yes

Go to Setup/Basic section in DD-WRT and set WINS server in DHCP group to your LAN IP address (ex:

If your network has any device that uses a static IP address, find the WINS section and point to DD-WRT LAN IP address (If you use Windows, choose properties of you adapter, click Advanced, goto WINS tag. If you use Linux, add wins server = xxx.xxx.xxx.xxx in [global] section of samba)

[edit] Optware on Atheros

Running Optware on Atheros is somewhat different than broadcom. This post explains how to install and setup Optware on Atheros.


[edit] Debricking Info using TFTP

There have been a few guides out that have reports of success when de-bricking the WZR-HP-G300NH. This however, has been explained by Brainslayer in this post, please use it for referencing info you may need to de-brick your unit, should the occasion arise.


It has been asked about on how to de-brick this unit in the case that a flash goes wrong or how you can switch back and forth between Buffalo dd-wrt builds and community dd-wrt builds.

This method is if you are using Windows XP OS. I also always use a 10/100 or Gigabit hardware switch in-between the router and the PC, this way - Windows doesn't have to wait for the router switch to initialize, which can make you loose your TFTP timing window.

Power the router off for now. Make sure you are wired into the switch. Do not use the WAN port, use switch ports only.

1) Set a static ip on the pc of / Gateway:

2) Open a command prompt and type this: arp -s 02-AA-BB-CC-DD-1A [enter]

3) After entering the static arp have the command line ready with this command (and you'll have to be in the dir where the firmware image is at or it won't work): tftp -i put wzrhpg300nh-pro-v24sp2-17798-alpha.enc

4) Do not enter the TFTP command, just having it waiting for now, With the router still powered down, Plug in the power for the router and count to 10 seconds or use a stopwatch, then enter the TFTP command that you should have waiting in the command prompt. This is an important timing step for TFTP to work. Alternatively for step 4: Plug in the power and watch the DIAG light turn red. When the red light goes off on the router (after about two seconds) use a stop watch to count to 12, THEN enter the above TFTP command. Video of the bootloader TFTP window here: https://www.youtube.com/watch?v=8dVkJ1G0KJs

5) You'll know if it transferred by the command prompt telling you so, give it about 5-6 minutes after if transfer was successful, it'll reset/program itself in this time. Once it is complete the Red Diag LED should go off. Issue arp -d in a command line window. Now you can access the newly flashed router at

  • Please note that the above method is performed using the Buffalo Branded DD-WRT .enc builds, to use a community DD-WRT build you will need to browse the FTP and choose which build number you want to use and get the file with the naming format of 'buffalo_to_ddwrt_webflash-MULTI.bin' and substitute the above .enc file. Please also note that if you use the community dd-wrt build to flash with, the IP access for webgui using community builds will be @ instead of So once the red diag led goes off you will need to use for webgui access but all the other steps stay the same.
  • Also i am noticing alot of people trying to TFTP to - this will not work, no place in this guide does it say TFTP to - The IP for buffalo's bootloader is so you must follow the steps above carefully in order for this to work.