Updating firmware via system resources

To update the firmware, use any of the following servers: TFTP, FTP, SCP. Router firmware files obtained from the manufacturer should be allocated on the server.

The router stores two copies of the firmware. To ensure the reliability of the firmware update procedure, only the copy that was not used for the last device startup is available for the update.

When update the firmware, the router configuration is converted according to a new version.

When loading a router with an older software version than the previously loaded configuration, the configuration is not converted and is subsequently deleted.

You can update firmware from earlier versions using the instructions in the section Updating firmware via bootloader.

To update the firmware for the device running the operating system, follow procedure described below.

  1. Prepare the selected server for operation. You should know the server address; also firmware distributive file should be loaded onto the server.
  2. The router should be prepared for operation according to the documentary requirements. Router configuration should allow for data exchange with the server via TFTP/FTP/SCP and ICMP protocols. At that, you should take into account the server inherence to the router security zones.
  3. Connect to the router locally via Console port or remotely via Telnet or SSH.
    Check the server availability for the router using ping command on the router. If the server is not available, check the router settings and the status of the server network interfaces.
  4. To update the router firmware, enter the following command. Specify IP address of the server being used as <server> For updates that utilize FTP or SCP server, you should enter a username (<user> parameter) and a password (<password> parameter). Specify the name of the firmware file loaded onto the server as <file_name> parameter (when using SCP, the full path must be as <folder> parameter). When the command is executed, router will copy the file into its internal memory, perform data integrity check and save it into non-volatile memory.

    TFTP:

    esr# copy tftp://<server>:/<file_name> system:firmware
    CODE

    FTP:

    esr# copy ftp://[<user>[:<password>]@]<server>:/<file_name> system:firmware
    CODE

    SCP:

    esr# сору scp://[<user>[:<password>]@]<server>://<folder>/<file_name>system:firmware
    CODE

    SFTP:

    esr# copy sftp://[<user>[:<password>]@]<server>:/<file_name> system:firmware
    CODE

    For example, let's update basic firmware via SCP:

    esr# сору scp://adm:password123@192.168.16.168://home/tftp/firmware system:firmware
    CODE
  5. To start the device with the new firmware version, you have to switch the active image. With show bootvar command, locate the image number, containing updated firmware.

    esr# show bootvar
    Image   Version                      Date                   Status         After reboot   
    -----  --------------               --------------------    ------------   ------------   
    1       1.0.7 build 141[f812808]     date 18/02/2015 time    Active         *
                                         16:12:54             
    
    2       1.0.7 build 141[f812808]     date 18/02/2015 time   Not Active
                                         16:12:54             
    CODE

    Use the following command to select the image:

    esr# boot system image-[1|2]
    CODE
  6. To update the secondary bootloader (U-Boot), enter the following command: Specify IP address of the server being used as <server> parameter. For updates that utilize FTP or SCP server, you should enter a username (<user> parameter) and a password (<password> parameter). Specify the name of the secondary bootloader onto the server as <file_name> parameter (when using SCP, the full path must be as <folder> parameter). When the command is executed, router will copy the file into its internal memory, perform data integrity check and save it into non-volatile memory.

    TFTP:

    esr# copy tftp://<server>:/<file_name> system:boot-2
    CODE

    FTP:

    esr# copy ftp://<server>:/<file_name> system:boot-2
    CODE

    SCP:

    esr# copy scp://[<user>[:<password>]@]<server>://<folder>/<file_name>system:boot-2
    CODE

    SFTP:

    esr# copy sftp://<server>:/<file_name> system:boot-2
    CODE

Updating firmware via bootloader

Router firmware may be updated via the bootloader as follows:

  1. When U-Boot finishes the router initialization, break the device startup with the <Esc> key.

    Configuring PoE...
    distribution 1 dest_threshold 0xa drop_timer 0x0
    Configuring POE in bypass mode
    NAE configuration done!
    initializing port 0, type 2.
    initializing port 1, type 2.
    SMC Endian Test:b81fb81f
    nae-0, nae-1
      =======Skip: Load SYS UCORE for old 8xxB1/3xxB0 revision on default.
    Hit any key to stop autoboot:  2
    CODE
  2. Specify TFTP server address:

    BRCM.XLP316Lite Rev B0.u-boot# serverip 10.100.100.1
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# serverip 10.100.100.1
    CODE
  3. Specify router IP address:

    BRCM.XLP316Lite Rev B0.u-boot# ipaddr 10.100.100.2
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# ipaddr 10.100.100.2
    CODE


  4. Specify the name of the frimware file on the TFTP server:

    BRCM.XLP316Lite Rev B0.u-boot# firmware_file firmware
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# firmware_file firmware
    CODE
  5. You may save the environment using 'saveenv' command for future updates.

  6. Launch firmware update procedure:

    BRCM.XLP316Lite Rev B0.u-boot# run tftp_update_image1
    Using nae-0-3 device
    TFTP from server 10.100.100.1; our IP address is 10.100.100.2
    Filename 'esr1000/firmware'.
    Load address: 0xa800000060000000
    Loading: TftpStart:TftpTimeoutMsecs = 10000, TftpTimeoutCountMax = 6
    #################################################################
    ################################################################# #################################################################
    #########################
    ####################################
    done
    Bytes transferred = 64453909 (3d77d15 hex)
    Device 0: MT29F8G08ABBCAH4 ... is now current device
    
    NAND erase: device 0 offset 0x1440000, size 0x6400000
    Bad block table found at page 262080, version 0x01
    Bad block table found at page 262016, version 0x01
    Erasing at 0x7800000 -- 1895825408% complete..
    OK
    
    NAND write: device 0 offset 0x1440000, size 0x6400000
    104857600 bytes written: OK
    CODE
  7. Set the downloaded firmware as an image to start the system and reboot the router:

    BRCM.XLP316Lite Rev B0.u-boot# run set_bootpart_1
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# boot_system image1
    BRCM.XLP316Lite Rev B0.u-boot# reset
    CODE

Secondary bootloader update (U-Boot)

Secondary bootloader initializes NAND and the router. During the update, a new file of the secondary bootloader is saved to the flash

To view the current version of the load file operating on the device, execute 'version' command in U-Boot CLI. Also, the version is displayed during the router startup:

BRCM.XLP316Lite Rev B0.u-boot# version
BRCM.XLP.U-Boot:1.1.0.47 (29/11/2016 – 19:00:24)
CODE

Firmware update procedure:

  1. When U-Boot finishes the router initialization, break the device startup with the <Esc> key.

    Configuring PoE...
    distribution 1 dest_threshold 0xa drop_timer 0x0
    Configuring POE in bypass mode
    NAE configuration done!
    initializing port 0, type 2.
    initializing port 1, type 2.
    SMC Endian Test:b81fb81f
    nae-0, nae-1
      =======Skip: Load SYS UCORE for old 8xxB1/3xxB0 revision on default.
    Hit any key to stop autoboot:  2
    CODE
  2. Specify TFTP server address:

    BRCM.XLP316Lite Rev B0.u-boot# setenv serverip 10.100.100.1
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# serverip10.100.100.2
    CODE


  3. Specify router IP address:

    BRCM.XLP316Lite Rev B0.u-boot# setenv ipaddr 10.100.100.2
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# ipaddr 10.100.100.2
    CODE
  4. Specify the name of the bootloader file on the TFTP server:

    BRCM.XLP316Lite Rev B0.u-boot# uboot_file u-boot.bin
    CODE

    For version 1.5 and newer:

    BRCM.XLP316Lite Rev B0.u-boot# uboot_file u-boot.bin
    CODE


  5. You may save the environment using 'saveenv' command for future updates.

  6. Launch firmware update procedure:

    BRCM.XLP316Lite Rev B0.u-boot# run upd_uboot
    CODE

    For version 1.5 and newer:

    BRCM.XLP316LiteRevB0.u-boot# run tftp_update_uboot
    Using nae-1 device
    TFTP from server 10.100.100.1; our IP address is 10.100.100.2
    Filename 'esr1000/u-boot.bin'.
    Load address: 0xa800000078020000
    Loading: ###########################################################
    done
    Bytes transferred = 852648 (d02a8 hex)
    SF: Detected MX25L12805D with page size 256, total 16777216 bytes
    16384 KiB MX25L12805D at 0:0 is now current device
    CODE
  7. Reboot the router:

    BRCM.XLP316Lite Rev B0.u-boot# reset
    CODE