WHR-HP-AG108

From DD-WRT Wiki

Jump to: navigation, search


Contents


Image:WHR-HP-AG108.jpg

[edit] Hardware

- Atheros AR5312 chipset @ 220 MHz
- 32MB RAM
- 4MB Flash
- WLAN a/b/g (ieee 802.11a/b/h/g) @ 12dBm (15mW)
- 4x LAN & 1x WAN
- Antenna detachable (reverse-sma)
- Serial port (needs a rs232 converter)
- 5V/2A PSU
- FFC ID: FDI-09101540-0
- Price: ~75€

Even though this device is called "high-powered" its reach is disappointingly low (less than WRT54G's), and its output level is fixed in hardware at 12 dBm. You may want check out FCC RADIO TEST REPORT.

[edit] Installation/Recovery

Note: This is a further "polishing" of instructions originally posted by Holgi03 in the forums. Source: [1]


Before you start, you need several things.

RedBoot_config_gdb.rom

Root.fs, lzma_vmlinuz (or newer releases)

FileZilla (For an FTP server)

PumpKIN or TFTP@SF.net (For a TFTP server)

Putty (For a reliable telnet client)

A network switch/hub, separate from your BuffaloTech WHR-HP-AG108 (to keep your computer from releasing its DHCP lease when it sees its physical link go down when the router reboots)

Create a directory on your desktop for the root.fs, lzma_vmlinuz, and RedBoot_config_gdb.rom files.

If your AG108 is bricked, Redboot should still be fine. Therefore:
   * Start and point your tftp program to the proper place
   * Open Putty or Terminal
   * Use command 'telnet 192.168.1.1 9000' when diagnostic red led comes on after unplug/repluging
   * Pick up the instructions at Step 9 (below), except change both IP addresses to 192.168.1.__,<br> 
      instead of 11.__  
For Mac Users:
Use your Terminal program in the Applications/Utilities folder of your computer
For a tftp program, download "TftpServer" from MacUpdate.com. 
   * Open TftpServer
   * Click on "Change Path" icon, navigate to and choose the folder that <br>
      the root.fs, lzma and dd-wrt files are located in.
   * Click Start TFTP icon 
   * The Terminal program will control the 'load' when needed.

If you're comfortable with Unix and the command line, as an alternative to downloading TftpServer you can also put the files in /private/tftpboot/ and enable Mac OS X's built-in tftpd by typing:
   * sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

When done, stop the daemon again with "sudo launchctl unload /System/Library/LaunchDaemons/tftp.plist".

Install Filezilla, create an “anonymous” user with no password, and set its home directory to that directory.

Install PumpKIN, go to Options, and set the TFTP Filesystem Root to the path to your directory on your desktop. Tell it to give all files, and take all files.


To install DD-WRT, through the web interface, telnet, tftp, and ftp:


1. Plug a network cable into your network switch and into port 1 of your BuffaloTech router. Plug your PC into your network switch.

  • This helps avoid connection problems

2. Set your PC’s ip address to: 192.168.11.10.

  • Out of the box, your AG108’s IP address will be 192.168.11.1.

3. Log into the BuffaloTech router’s administration website, set the root password to 1234.

  • http://192.168.11.1
  • Username: root
  • Password: **BLANK**
  • Click the “advanced” button at the top of the page.
  • Click on the “admin config” button on the left column of the webpage.
  • Type 1234 into both administrator password fields and hit apply.
  • Go ahead and log into the router again. Now logout of the router but make sure you use the logout button.

4. Open the following address in your web browser:

5. Activate telnet

  • Click the “telnetd” link.
  • Click the “start” button

6. Connect via telnet to the router

  • Run putty
  • Select “telnet” for connection type
  • For the hostname (or IP address) put 192.168.11.1
  • Click the “open” button
  • You will now be at a BusyBox prompt.
  • There is no need to create a flash backup of the ROM, I have it hosted here: [2]
    • Note: if you use the backup provided here, your default language and default SSIDs are lost in case you want to revert to the original firmware.
  • If you want you can create flash backup using following command:
dd if=/dev/mtdblock/0 of=/tmp/full_flash_backup.rom

7. Flash the redboot configuration on the router with Holgi’s redboot configuration.

  • In the Putty window, type the following commands in order:
cd /tmp
wget ftp://192.168.11.10/RedBoot_config_gdb.rom
  • Confirm at this point that the file transferred correctly by typing “ls” and verifying it is in the beginning of the directory. (files with capital letters list early in the directory list)
dd if=/tmp/RedBoot_config_gdb.rom of=/dev/mtdblock/4
  • Confirm that you see “128+0 records” in and out.
  • Close your putty session, and re-open putty, configure it for telnet, but use port 9000 this time.

[edit] Recovery starts from here

8. Power cycle the router and reconnect to it via telnet.

  • Power cycle the router.
  • While the red LED is lit, connect using putty via telnet with port 9000.
  • Once you see “== Executing boot script in…” hit CTRL-C which will interrupt the 9 second boot-wait. You should be at a RedBoot> prompt.

9. Connect to your TFTP server, transfer root.fs, flash it, transfer lzma_vmlinus, flash it.

  • In the Putty window, type the following commands in order:
ip_address -l 192.168.11.1 -h 192.168.11.10
fis init
  • This will initialize flash memory, say yes.
load -r -v -b 0x80041000 root.fs
  • Make SURE you do not mistype.
  • This loads the root linux filesystem into memory
fis create -b 0x80041000 -f 0xbe050000 -l 0x002a0000 -e 0x00000000 rootfs
  • This writes the file to flash. Wait a while.
load -r -v -b 0x80100000 lzma_vmlinus
  • This loads the linux kernel into memory.
fis create -r 0x80100000 -e 0x80100000 -l 0x000d0000 -f 0xbe2f0000 linux
  • This writes the file to flash. Wait a while.
fis create -f 0xbe3c0000 -b 0x80041000 -l 0x00010000 -e 0x00000000 nvram
  • This writes an empty nvram to flash. Wait a while.
fis list
  • Make sure all the files are in the correct memory addresses
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xBE000000  0xBE000000  0x00050000  0x00000000
RedBoot config    0xBE3DF000  0xBE3DF000  0x00001000  0x00000000
FIS directory     0xBE3D0000  0xBE3D0000  0x0000F000  0x00000000
rootfs            0xBE050000  0xBE050000  0x002A0000  0x00000000
linux             0xBE2F0000  0x80100000  0x000D0000  0x80100000
nvram             0xBE3C0000  0xBE3C0000  0x00010000  0x00000000
  • If these are correct, continue. If not, you may want to redownload and flash root.fs, lzma_vmlinus, and reflash the empty nvram. Don’t mistype this time.

10. Configure the bootloader

  • In the Putty window, type the following commands:
fconfig
  • Hit enter at “Run script at boot: true”
  • Type the following lines into the script. Hit enter after each line once.
fis load linux
exec
  • Hit enter again.
  • Hit enter at “Boot script timeout …” aka, leave it at 9.
  • Hit enter nine times.
Boot script timeout (1000ms resolution): 9
Use BOOTP for network configuration: false
Gateway IP address: 192.168.11.254
Local IP address: 192.168.11.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.11.10
Console baud rate: 9600
DNS server IP address: 192.168.11.254
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
  • Type “y” and hit enter at "Update RedBoot non-volatile configuration - continue (y/n)?"
reset

The router will now reset, and in a couple of minutes it will come back with a default DD-WRT ip address of 192.168.1.1, username of root, and password of admin.

[edit] Revert to original firmware

The revert to the original firmware is not perfect yet, but the device boots the at least.
Note:

  • Your default SSIDs are no longer the ones you find on your device unless you are using your own flash-backup
  • Login for the webinterface: user: root password: 1234

This is what the original fis table looks like, but unfortunately the last item cannot be restored. If anyone finds out why, please edit!

RedBoot> fis list 
NameFLASH       addr        Mem  addr   Length      Entry point
RedBoot         0xBE000000  0xBE000000  0x00050000  0x00000000
RedBoot config  0xBE3DF000  0xBE3DF000  0x00001000  0x00000000
FIS directory   0xBE3D0000  0xBE3D0000  0x0000F000  0x00000000
vmlinux.bin.gz  0xBE050000  0x80002000  0x000B4B98  0x80182398
rootfs          0xBE120000  0xBE120000  0x002A0000  0x00000000
user.property   0xBE3E0000  0xBE3E0000  0x00010000  0x00000000
Radio.Config    0xBE3F0000  0xBE3F0000  0x00010000  0x00000000


1. Cut your firmware flash backup on your (linux) pc in pieces:

dd if=full_flash_backup.rom of=vmlinux.bin.gz bs=1 skip=327680 count=740248 
dd if=full_flash_backup.rom of=rootfs bs=1 skip=1179648 count=2752512 
dd if=full_flash_backup.rom of=user.property bs=1 skip=4063232 count=65536 
dd if=full_flash_backup.rom of=Radio.Config bs=1 skip=4128768 count=65536 

2. Put the files in your tftp root

3. Power cycle the router and reconnect to it via telnet.

 ip_address -l 192.168.11.1 -h 192.168.11.10
 fis init -f 

 load -r -v -b 0x80041000 rootfs 
 fis create -b 0x80041000 -f 0xBE120000 -l 0x002a0000 -e 0x00000000 rootfs 
 
 load -r -v -b 0x80002000 vmlinux.bin.gz 
 fis create -r 0x80002000 -e 0x80182398 -l 0x000B4B98 -f 0xBE050000 vmlinux.bin.gz 
 
 load -r -v -b 0x80041000 user.property 
 fis create -b 0x80041000 -f 0xBE3E0000 -l 0x00010000 -e 0x00000000 user.property 

 load -r -v -b 0x80041000 Radio.Config 
 fis create -b 0x80041000 -f 0xBE3F0000 -l 0x00010000 -e 0x00000000 Radio.Config 
  • Note: the last command is known to fail

4. Configure the bootloader

fconfig
  • Hit enter at “Run script at boot: true”
  • Type the following line and hit enter twice
go_script
  • Hit enter at “Boot script timeout …” aka, leave it at 9.
  • Hit enter nine times.
Boot script timeout (1000ms resolution): 9
Use BOOTP for network configuration: false
Gateway IP address: 192.168.11.254
Local IP address: 192.168.11.1
Local IP address mask: 255.255.255.0
Default server IP address: 192.168.11.10
Console baud rate: 9600
DNS server IP address: 192.168.11.254
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
  • Type “y” and hit enter at "Update RedBoot non-volatile configuration - continue (y/n)?"
reset

[edit] FAQ

- WDS setup (2 Atheros devices): Only set one ap to "wds ap" and the other to "wds station". Put on both the same SSID. Don´t set the wds mac table!
- only use one band at the same time!
- with all atheros wlans turbo mode is only possible in a-mode at the moment
- if u have version <v.24 rc6.2 installed rc6.2 can't be flashed through the webinterface, use redboot (instruction above): pug306d's post
- v24 (release) does not work well with virtual SSIDs

[edit] Hardware modifications

Second outer antenna
Connecting JTAG

[edit] External links

Original Buffalo produkt page
Special DD-WRT WHR-HP-AG108 builds