How to -- Upgrade LibreRouter firmware through serial (UART) port

There are several methods to upgrade the firmware of a LR1

Upgrade via UART

Warning! Use only a TTL voltage serial cable of 3.3V ! LibreRouter may damage if a rs232 serial cable is used!!

Warning! Only use serial upgrade if you can’t upgrade using the recommended safe-upgrade or sysupgrade instructions that are documented in each release.

In the LR1 board, there is 1x4 pin header close to the two LEDs, use can use it to upgrade the u-boot and firmware.

Step 1: Use USB to TTL (recommend base on FTDI) to connect to this header TXD/RXD/GND , set baudrate to 115200.

Step 2: Connect your PC to LR1 directly via LAN cable, set up your PC to have IP 192.168.255.2/255.255.255.0

Step 3: Download the firmware from https://gitlab.com/librerouter/librerouteros/-/tags, choose the Download section , file should be librerouteros-vXXX-librerouter-lr1-sysupgrade.bin. Set up a tftp server in your PCB. Put this file to your tftp server root directory. run the tftp server

Step 4: Power on LR1, the UART consold should show booting info. Press keys to stop the booting once see “stop autoboot:”. Then you will in the u-boot and will be able to press command to upgrade the firmware.

Step 5: Run below command to set up the network interface of LR1.

ath> setenv ipaddr 192.168.255.1
ath>setenv serverip 192.168.255.2

Step 6: Run below command to transfer the firmware to LR1 and update.

    ath> tftp 82000000 librerouteros-vXXX-librerouter-lr1-sysupgrade.bin  // need to change the firmware name to the actual name
    ath> erase 0x9f050000 +$filesize
    ath> cp.b 0x82000000 0x9f050000 $filesize
    ath> boot

Flashing the bootloader

Here are the instructions to flash the bootloader.

2 Likes

Welcome Edwin!!! It is great to have you here! :grinning:

All the articles in the HowTo category are Wikis so everyone can contribute improving your post! I added a warning about using TTL voltage only cables.