Uploading firmware to BR-6104K

adm_upload.py is a script to assist in uploading firmware automatically to the board. If you have an Edimax bootloader (new boards will generally have that), you can use the xmodem protocol over the serial port (--xmodem option below), however I recommend that you follow the instructions here: http://midge.vlad.org.ua/wiki/bootloader-with-tftp. to install the TFTP bootloader if doing any serious development work.

You will need:

  1. A Unix system.
  2. Python (provided with most Unix distributions)
  3. The Pexpect Python extension (http://pexpect.sourceforge.net/)
  4. This script (currently only available from svn

Run the script once for usage instructions:

usage: adm_upload.py [options] <image filename>

The program waits for the ADM5120 to power up, then configures the bootloader
tftp parameters, starts a tftp server and transfers the specified kernel image
to the DRAM.  Optionally with the --xmodem switch it can assume the original
Edimax bootloader and use xmodem protocol instead  (this will take much
longer).  Either way you need to: (1) Switch off  the router, (2) Run this
program then (3) Switch on the router.  The  rest should be automatic.  BUGS:
You may need to rename the firmware image to make it shorter since I believe
the bootloader has problems with long names. You cannot use Xmodem with the
TFTP bootloader.

        --version             show program's version number and exit
        -h, --help            show this help message and exit
        -d DEVICE, --device=DEVICE
                              Serial communication device (default: /dev/ttyS0)
        -a ADDRESS, --address=ADDRESS
                              BR-6104KP IP address when using TFTP (default:
        -b, --burn            Burn image to flash (default: load to DRAM)
        -n NETIF, --netif=NETIF
                              Network interface for tftp server (default: eth0)
        -x, --xmodem          Use xmodem, and assume the old bootloader (default:
                              Use TFTP)