The University of Adelaide                                                                                                                                                                                                                                                                                             Home | School EEE





Project Background

WLAN Background

Linux and WLAN

Network Optimisations

Current Development

Further Development

Project Management


Useful Links


Related Link

School EEE













































































































UltraWAP Firmware Development

The firmware development was based upon WL5460AP SDK. The below was what have done by following readme.log with extra notes on which steps prone errors and how to fix.

First download and unpack it to obtain wr254.tar.gz, gcc333.tar.gz and readme.log


1. Package List


  1. wr254x1.tar.gz - containing Linux kernel source and the source tree for the all applications used in RTL8186.. 

  2. gcc333.tar.gz - containing the toolchain to build Linux kernel and application for RTL8186.

2. Environment


Suse 9.1 Professional distribution

Note: When working under Suse 10, error occurs when make ramdisk so have to build  the ramdisk everytime computer restart.

3. Install ToolChain


1.Copy 'gcc333.tar.gz' to a file directory /usr/local/ on a Linux PC

   Eg. # cp /path/to/gcc333.tar.gz /usr/local/

  2. Move to /usr/local then type 'tar zxvf gcc333.tar.gz' to extract the package.

   Eg. # cd /usr/local

  # tar -zxvf gcc333.tar.gz

  3. Add the toolchain path

        # export PATH=/usr/local/gcc333/lexra-nnop-v5/bin:$PATH



            # export PATH

   4. Do export to check if the gcc333 was in the part. Make sure it is there or else errors would occur.

4. Unzip SDK


  1. Copy 'wr254x1.tar.gz' to a file directory on a Linux PC, any directory

   Eg.    Assume copy to UltraWAPdir

     # cp /path/to/wr254x1.tar.gz  path/to/UltraWAP/      

  2. Type 'tar zxvf wr254x1.tar.gz' to extract the package.

5. Makefile changes


Edit the top-level kernel Makefile as follows:

- Change the ARCH line to ARCH := mips

- Change the CROSS_COMPILE line to CROSS_COMPILE := mips-linux

(some more error but I canít remember now, will be updated let me know if you have any other errors)

6. Install Application Build Ramdisk


     1. cd wr254x1

     2. make clean

     3. make app

                        --> wr254x1/images/webpages-wa253.bin

                        --> wr254x1/tool/cvcfg-ap

                        --> wr254x1/tool/mgbin

7. Kernel config and make kernel image


Make dependencies and run make menuconfig ( all in one make dep)

     make dep

Configuration Set Up:

              Under "Machine selection" select  Philips Nino - Support for Realtek RTL8186 SoC

        Enable flash ROM support (this will set the correct defaults for the "Memory Technology Devices" menuconfig page).

        Under "CPU selection", select "CPU type" R3000; verify that the option

        Under "Block devices", enable "RAM disk support" and "Initial RAM disk initrd) support).

        Under "MIPS initrd options", enable "Embed root filesystem"

        Under "Character devices", enable "Standard/generic..." support and "Support for console on serial port"

        Under "File systems", enable "Second extended"

        Configure other desired kernel options (netfilter etc), but remember: you want to keep it small. 

When finish, wait for a while ( few minutes) to let it finish the process

Type make kernel

8. Create firmware image - to create csys image


     1. make img

                        --> linux.bin.ap

     2. cd tool/

     3. chmod 755 mkimg-wa253

     4. ./mkimg-wa253 ap


9. Uploading firmware via Ethernet Cable by TFTP


1. Use a RS232 cable to connect COM port between a LINUX PC and serial console( build at the beginning) 

2. Connect LINUX PC Ethernet port to the LAN port of UltraWAP

   Set PC IP address to 192.168.1.x (x can be any value from [0:255] except

3. Start minicom

   and set COM port setting to 38400, 8N1 and no flow control. 

4. Power on UltraWAP, and press 'ESC' key in COM port console to escape the booting process.   If ok, you may see "<Realtek>" prompt in the console.

5. Start a TFTP client in LINUX/WINDOW PC, and connect to the following: 

# cd /path/to/firmware/rtl8186-wa253.bin

# tftp


tftp>put rtl8186-wa253.bin

 6. After TFTP upload is completed, you may see a message in COM port

   console as

"**TFTP Client Upload File Size = 00xxxxxx Bytes at 80300000".

   "00xxxxxx" and "80300000" indicate the hex value of upload file size and

   memory address stored image respectively. 

7. Type command in COM port console as

flw <flash address> 80300000 <image size>

   to write upload image to <flash address> from SDRAM address "80300000"

   with <image size> in hex.


8. Then that, you may see a message shown in COM port console as:

     "Flash Program from 80300000 to <flash address> with <image size> bytes     ?

     (Y)es, (N)o->". Type 'y' to confirm the writing.

9. Turn on to boot up the new firmware

More information


UltraWAP Hardware Hacking

UltraWAP Firmware Development
















Copyright © The University of Adelaide 2006

Copyright | Disclaimer | Privacy