Buffalo WZR-HP-G300NH (r1, RTL8366SR)/dd-wrt

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:

http://www.buffalotech.com/support-and-downloads/downloads

Go to that site and type in WZR-HP-G300NH and it should point you to the appropriate download for the buffalo dd-wrt professional firmware. As of Aug.2012 - the buffalo dd-wrt builds for this unit currently come in 2 builds only, which are 14998 and 19484 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).
 * The buffalo to ddwrt webflash file is a full build. It's for flashing from the original Buffalo firmware to DD-WRT.
 * The webupgrade file is to upgrade from an older version of DD-WRT. Use this to upgrade from an old version of DD-WRT.
 * To revert from DD-WRT back to stock firmware, go to http://www.dd-wrt.com/phpBB2/download.php?id=13418, and download the file. Flash using upgrade on the DD-WRT web GUI. This is the 1.6 stock firmware. You can then upgrade to the latest Buffalo firmware. You must be signed into the forum first, sign in then click the link for the webgui revert file. See the forums for details.  Register and log in to see and download files.
 * http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63820&postdays=0&postorder=asc&highlight=13977&start=90.
 * http://www.dd-wrt.com/phpBB2/viewtopic.php?t=66494&postdays=0&postorder=asc&start=30. Details on reverting the firmware.

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

ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/

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.
 * http://www.dd-wrt.com/phpBB2/viewtopic.php?t=63820&postdays=0&postorder=asc&highlight=13977&start=90
 * http://www.dd-wrt.com/phpBB2/viewtopic.php?t=66494&postdays=0&postorder=asc&start=30

WZR-HP-G300NH2 and WZR-300HP
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 192.168.11.2 and subnet 255.255.255.0, gateway 192.168.11.1

4) Log in the router's web-gui @ http://192.168.11.1 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 192.168.11.2 and either set it to use DHCP or set a static ip of 192.168.1.8

8) Log in the dd-wrt webgui @ http://192.168.1.1 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 @ http://192.168.1.1 and begin setup, enjoy dd-wrt!

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.

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.

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

killall smbd killall nmbd sleep 2
 * 1) Stop samba service

mkdir -p /tmp/etc/samba echo " [global]	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
 * 1) Configure samba

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

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

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

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

Setup Sharing with Username/Password
Because  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  section like below: mount -o bind /tmp/etc /etc
 * 1) Add user for samba

echo "" > /tmp/etc/samba/smbpasswd
 * 1) clear samba user if exists

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

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

umount /etc

If you need add more users, you can repeat these lines with the desired usernames and passwords grep -q share /etc/passwd || echo 'share:x:65534:65534:nobody:/mnt/:/bin/false' >> /etc/passwd smbpasswd share sharepassword
 * 1) add user: username=share, password=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

Configuration Share Folder
add later

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  but change the below setting in the   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: 192.168.11.1)

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  in   section of samba)

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

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=86912

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.

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=87579

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 192.168.11.2 / 255.255.255.0 Gateway: 192.168.11.1

2) Open a command prompt and type this: arp -s 192.168.11.1 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 192.168.11.1 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 192.168.11.1 in a command line window. Now you can access the newly flashed router at 192.168.11.1.


 * 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 @ 192.168.1.1 instead of 192.168.11.1 So once the red diag led goes off you will need to use 192.168.1.1 for webgui access but all the other steps stay the same.


 * Also i am noticing alot of people trying to TFTP to 192.168.1.1 - this will not work, no place in this guide does it say TFTP to 192.168.1.1 - The IP for buffalo's bootloader is 192.168.11.1 so you must follow the steps above carefully in order for this to work.