User Tools

Site Tools


Buffalo WZR-HP-AG300H

Supported Versions

Version/Model Launch Date OpenWrt Version Supported Model Specific Notes
v1 2011-02 Attitude Adjustment - 12.09 and newer -

Hardware Highlights

CPU Ram Flash Network USB Serial JTag
Atheros AR7161@680MHz 128MiB 32MiB 4 x 1 Yes Yes Yes

NOTE: The FCC documentation is available here


Installation using the OEM web interface

The easiest way to install OpenWrt is by using the firmware utility of the OEM web interface:

  1. Connect to the WebInterface at and go to "Administration""Firmware Upgrade"
  2. Make your PC obtain a new IP address from OpenWrt (dhclient eth0 or pump -i eth0 or ipconfig /renew)
  3. proceed with basic.config to complete installation

NOTE: It may happen, that the squashfs-factory.bin does not work for this device, if the factory image is based on DD-WRT. See this thread. Please update the thread with your experience or file a bug if you run into a problem. According to the user, for installation from DD-WRT the instructions on the WZR-600DHP page worked for him.

Installation using the TFTP method (always working)

Specific values you need

Bootloader tftp server IPv4 address
Bootloader MAC address (special) 02:aa:bb:cc:dd:20
Latest firmware tftp image (NOTE: Name must contain "tftp")
TFTP Transfer Window 4 seconds
TFTP Window Start approximately 10-20 seconds after power on
TFTP Client Required IP Address

Here is a link to the console output of the boot process, with all led's in view for reference

Flashing Notes

  • The red "DIAG"-LED begins to flash rapidly when the router has received the image and is currently booting the new firmware.
  • Successful flashes via tftp using Windows 7 directly plugged into the router have been done. It helps to add arp entries and disable media sensing as per the generic tftp instructions.
  • Flash should have reset all settings as well. The IP address of the router should be now since is only for the bootloader at boot-time
  • If your router has two red flashes of the DIAG LED followed by no flash and repeats then the flash failed or the image given is corrupt. You can still recover with tftp. Start over and try again.

TFTP advice, wrong region

There are apparently several regional versions of the OEM firmware. You may have to adjust the region in u-boot first. Below is example of a successful region change and flash procedure. Source: forum article

This is how to do it from serial console:

  1. Power on the router and wait until you see "Load address" appear shortly after the tftp message:
    tftp server(receive) go, waiting:4[sec]
    Load address: 0x84000000
  2. Immediately press Control+c
  3. After prompt apears do:
    • setenv accept_open_rt_fmt 1
    • setenv region EU
    • saveenv
    • reset
    • (it reboots now)
  4. After Reboot Power your Device down!
  5. Set Your LAN IP to
  6. In a linux terminal use these commands
  7. In Windows cmd put that Line:
    • arp -s 02-AA-BB-CC-DD-20
    • tftp -i PUT wzrhpag300h-pro-v24sp2-19154.enc (don't hit enter, yet)
  8. Power on the Device and 10 Seconds after that hit enter in Windows CMD to start the TFTP. (it tooks about ten Minutes to Complete the flash procedure)

Network Manager Issues on Linux

For myself the above procedure did not work as during the power cycle the network reset the ARP info. So to combat this

  • In one terminal have tftp prepared per the above.
  • In another terminal have the command "arp -s 02:aa:bb:cc:dd:20" prepared
  • Power the router, hit enter on the tftp, switch to the ARP terminal and keep hitting enter until it goes in.
  • Wait

Upgrading OpenWrt

Basic configuration

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.

Failsafe mode

Press the 'USB/eject' button while the red 'DIAG' LED is blinking to enter Failsafe mode.


Specific Configuration

LED for USB-Devices

If you want to trigger a LED as soon as an USB-Device is connected to your USB-Port, add this to /etc/config/system:

config 'led' option 'default' '0' option 'name' 'USB' option 'sysfs' 'buffalo:red:diag' option 'trigger' 'usbdev' option 'dev' '1-1'

This switches on the little red circle of the DIAG-LED everytime you connect something to your USB-Port.


  • It's very unlikely that you completely bricked the device, so first try the TFTP Method above. Note that a red diagnostics light blinking twice means your flash failed, but the device is ok and tftp will work (keep trying). If you still get nowhere, more drastic measures:




Architecture: MIPS
Vendor: Qualcomm Atheros
Bootloader: crippled U-Boot
System-On-Chip: AR7161 rev 2 (MIPS 24Kc V7.4)
CPU/Speed 24Kc V7.4 680 MHz
Flash-Chip: ?
Flash size: 32 MiB
RAM: 128 MiB
Wireless: Atheros AR9223 (2.4GHz) and AR9220 (5.0GHz) 802.11abgn
Ethernet: AR8316
Internet: n/a
USB: Yes 1 x 2.0
Serial: Yes

root@OpenWrt:~# lspci -vv
00:11.0 Network controller: Atheros Communications Inc. AR922X Wireless Network Adapter (rev 01)
	Subsystem: Atheros Communications Inc. Device a097
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 168, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 72
	Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [44] <chain broken>
	Kernel driver in use: ath9k

00:12.0 Network controller: Atheros Communications Inc. AR922X Wireless Network Adapter (rev 01)
	Subsystem: Atheros Communications Inc. Device a096
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 168, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 73
	Region 0: Memory at 10010000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=100mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: ath9k

Flash Layout

Flash.Layout has an example flash layout and all explanations required to understand this. Here the naked hex-values for the WZR-HP-AG300H:

root@DD-WRT:~# cat /proc/mtd dev: size erasesize name mtd0: 00050000 00010000 "RedBoot" mtd1: 01f80000 00010000 "linux" mtd2: 00b11000 00010000 "rootfs" mtd3: 01380000 00010000 "ddwrt" mtd4: 00010000 00010000 "nvram" mtd5: 00010000 00010000 "FIS directory" mtd6: 00010000 00010000 "board_config" mtd7: 02000000 00010000 "fullflash" mtd8: 00010000 00010000 "uboot-env" root@OpenWrt:~# cat /proc/mtd dev: size erasesize name mtd0: 01000000 00001000 "spi0.0" mtd1: 01000000 00001000 "spi0.1" mtd2: 00040000 00001000 "u-boot" mtd3: 00010000 00001000 "u-boot-env" mtd4: 00010000 00001000 "art" mtd5: 00100000 00001000 "kernel" mtd6: 01e90000 00001000 "rootfs" mtd7: 01d2c000 00001000 "rootfs_data" mtd8: 00010000 00001000 "user_property" mtd9: 01f90000 00001000 "firmware"


Correct serial pinout:

A collection of photos on how to open the case, of the PCB and the serial port can be found on .


port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

  1. Open case
  2. Locate serial port pads next to the Movie Engine switch
  3. Pinouts beginning from the square pad: vcc, gnd, tx, rx
  4. Sends at 115200 8N1 as shipped
  5. Voltage is 3.3 V

For USB/Serial I used a B&B Electronics TTL convertor with a ATEN UC232A. The VCC is not needed. Don't forget TX on the TTL goes to RX on the PCB etc. CuteCom on Linux works great (if you chmod 777 /dev/ttyUSB0)

Network Port Assignments

port 0 CPU
port 1 LAN 4
port 2 LAN 3
port 3 LAN 2
port 4 LAN 1


hardware.button on how to use and configure the hardware buttons.

Button Event
Reset reset/BTN_0 (pressed, released)
AOSS wps/BTN_1 (pressed, released)
USB Eject BTN_2 (pressed, released)
Movie Engine (on) BTN_3 released, BTN_4 pressed
Movie Engine (off) BTN_3 pressed, BTN_4 released
Router (on) BTN_5 released, BTN_6 released
Router (off) BTN_5 pressed, BTN_6 released
Router (auto) BTN_5 released, BTN_6 pressed


toh/buffalo/wzr-hp-ag300h.txt · Last modified: 2016/04/24 20:38 by crothamugo