EdgeRouter - Manual TFTP Recovery


Overview


In this article we will provide the necessary steps to recover different EdgeRouter models. This process will completely restore the factory default settings and erases all custom configuration.

NOTES & REQUIREMENTS:
Applicable to the latest EdgeOS firmware on all EdgeRouter models. Please see the Related Articles below for more information.
 
Devices used in this article:
  • ER-X-SFP / ER-X / EP-R6 / ER-10X (e50)
  • ERLite-3 / ERPoE-5 (e100)
  • ERPro-8 / ER-8 / EP-R8 (e200)
  • ER-4 / ER-6P / ER-12 / ER-12P (e300)
  • ER-8-XG (e1000)

Table of Contents


  1. Introduction
  2. Connecting to Serial Console
  3. Setting up a TFTP Server
  4. ER-X-SFP / ER-X / EP-R6 / ER-10X (e50) TFTP Recovery Process
  5. ERLite-3 / ERPoE-5 (e100) TFTP Recovery Process
  6. ERPro-8 / ER-8 / EP-R8 (e200) TFTP Recovery Process
  7. ER-4 / ER-6P / ER-12 / ER-12P (e300) TFTP Recovery Process
  8. ER-8-XG (e1000) TFTP Recovery Process
  9. Related Articles

Introduction


Back to Top

In rare cases when an EdgeRouter becomes unresponsive, these instructions may be used to recover the EdgeRouter back to its default state. This is typically not the first step in troubleshooting issues, but rather a last resort recovery method.

The manual TFTP Recovery feature works by uploading a recovery image to the EdgeRouter using a TFTP server on a workstation. The console port connection is used to configure the relevant IP addresses for the TFTP session and defining the recovery image settings. The EdgeRouter recovery images for use with this feature are available below:


Connecting to Serial Console


Back to Top

The default serial port settings are listed below:

  • Baud rate: 115200
  • Data bits: 8
  • Parity: NONE
  • Stop bits: 1
  • Flow control: NONE 
NOTE: Not all EdgeRouters are equipped with a RJ45 console port. In cases like these, a USB-TTL cable is needed to connect to the console pins. There is an example post in the EdgeRouter Community Forums here.
 
See the How to Connect to Serial Console article for more information.

topology.png

A USB-to-Serial adapter will be used to connect to the console port of the EdgeRouter.

NOTE: In order to connect to the console we will need to use the following items/programs:
  • RJ45 to DB9 serial console cable (rollover cable)
  • USB to DB9 adapter
  • Terminal emulation program, such as PuTTY or the macOS/Linux terminal

1. Open the terminal emulator and specify the serial COM line and the baud rate/speed.


 Windows Client


Enter the following information in the PuTTY window.

putty.png


macos.png  macOS Client


Open Terminal Application and find the serial interface ID.

ls -ltr /dev/*usb*

The serial interface will display as tty. Example output below:

ls -ltr /dev/*usb*
crw-rw-rw-  1 root  wheel   21,   3 Feb  8 15:48 /dev/cu.usbserial-AI038TPF
crw-rw-rw-  1 root  wheel   21,   2 Feb  9 08:56 /dev/tty.usbserial-AI038TPF

Use the screen command to connect to console by pasting in the path to the serial interface.

screen /dev/tty.usbserial-AI038TPF 115200
ATTENTION: Replace /dev/tty.usbserial-AI038TPF with the value given when using the ls -ltr /dev/*usb* command.

Setting up a TFTP Server


Back to Top

The next step is to set up a TFTP server on the workstation to allow the recovery image to be uploaded to the EdgeRouter.

1. Download the relevant firmware recovery file from one of the EdgeMAX download links below:

2. Assign a static IP address to your computer's network interface, for example 192.168.1.10/24.

3. Install a TFTP server and place the firmware recovery file in the base TFTP directory.


 Windows Client


In this example we are using Tftpd32 as the TFTP server.


macos.png  macOS Client


Open a new Terminal window to load and start the TFTP service.

sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist 
sudo launchctl start com.apple.tftpd

Change the file permissions for the TFTP folder.

sudo chmod 777 /private/tftpboot
sudo chmod 777 /private/tftpboot/*

ER-X-SFP / ER-X / EP-R6 / ER-10X (e50) TFTP Recovery Process


Back to Top

CLI: Access the EdgeRouter Command Line using the console connection.

1. Connect the USB-TTL cable to the console pins and an Ethernet cable to the eth0 port.

NOTE: The baud rate for ER-X / ER-X-SFP / ER-10X and EP-R6 console connections is 57600 instead of 115200.

2. Plug in the power cable and boot up the device.

3. Hold down the 1 (number one) key as the router starts up to interrupt the boot process.

4. When holding the 1 key, the bootloader will be interrupted and bring you to a prompt similar to the one below.

Please choose the operation: 
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP.
default: 3

5. Select option 1 and enter the required IP address and filename recovery information.

  • Device IP This is the IP address that the EdgeRouter should use for the TFTP session.
  • Server IP This is the IP address of the TFTP server (computer).
  • Linux Kernel Filename Exact name of the recovery image in the base TFTP directory.

An example output is: 

1: System Load Linux to SDRAM via TFTP. 
Please Input new ones /or Ctrl-C to discard
Input device IP (172.16.3.211) ==: 192.168.1.20
Input server IP (172.16.3.210) ==: 192.168.1.10
Input Linux Kernel filename (vme600) ==: ER-e50.recovery.v1.10.9.5166958.190213.1952.d9c62d0a9.img

After completing the steps above, the # symbol will be shown many times as the file is uploaded to the device. This is the expected behavior.

6. A successful recovery will allow management access via the web UI or CLI using the default 192.168.1.1 IP address on the eth0 interface.


ERLite-3 / ERPoE-5 (e100) TFTP Recovery Process


Back to Top

CLI: Access the EdgeRouter Command Line using the console connection.

1. Connect the console cable to the console port and an Ethernet cable to the eth0 port.

NOTE: The e100 recovery image only works on ER-Lite and ERPoE-5 devices with an updated bootloader. See the How to Update the Bootloader article for more information.
 
There is another available recovery option posted in the community here for devices that are running an older bootloader with no ability to update.

2. Plug in the power cable and boot up the device.

3. Hold down the 1 (number one) key as the router starts up to interrupt the boot process.

4. When holding the 1 key, the bootloader will be interrupted and bring you to a prompt similar to the one below.

Octeon ubnt_e100#

5. Add the IP address and filename recovery information using the setenv and tftpboot commands.

  • setenv ipaddr This is the IP address that the EdgeRouter should use for the TFTP session.
  • setenv serverip This is the IP address of the TFTP server (computer).
  • setenv ethact This is the source interface on the EdgeRouter (eth0).
  • tftpboot Exact name of the recovery image in the base TFTP directory.

An example output is: 

setenv ipaddr 192.168.1.20
setenv serverip 192.168.1.10
setenv ethact octeth0
tftpboot 0 ER-e100.recovery.v1.10.9.5166937.190213.1810.d9c62d0a9.vmlinux.64

After completing the steps above, the # symbol will be shown many times as the file is uploaded to the device. This is the expected behavior.

6. Load the recovery image and reboot the device by running the following command:

bootoctlinux 0

7. A successful recovery will allow management access via the web UI or CLI using the default 192.168.1.1 IP address on the eth0 interface.


ERPro-8 / ER-8 / EP-R8 (e200) TFTP Recovery Process


Back to Top

CLI: Access the EdgeRouter Command Line using the console connection.

1. Connect the console cable to the console port and an Ethernet cable to the eth0 port.

2. Plug in the power cable and boot up the device.

3. Hold down the 1 (number one) key as the router starts up to interrupt the boot process.

4. When holding the 1 key, the bootloader will be interrupted and bring you to a prompt similar to the one below.

Octeon ubnt_e200#

5. Add the IP address and filename recovery information using the setenv and tftpboot commands.

  • setenv ipaddr This is the IP address that the EdgeRouter should use for the TFTP session.
  • setenv serverip This is the IP address of the TFTP server (computer).
  • setenv ethact This is the source interface on the EdgeRouter (eth0).
  • tftpboot Exact name of the recovery image in the base TFTP directory.

An example output is: 

setenv ipaddr 192.168.1.20
setenv serverip 192.168.1.10
setenv ethact octeth4
tftpboot 0 ER-e200.recovery.v1.10.9.5166938.190213.1811.d9c62d0a9.vmlinux.64
NOTE: On the ERPro-8 / ER-8 and EP-R8 devices, octeth4 refers to interface eth0

After completing the steps above, the # symbol will be shown many times as the file is uploaded to the device. This is the expected behavior.

6. Load the recovery image and reboot the device by running the following command:

bootoctlinux 0

7. A successful recovery will allow management access via the web UI or CLI using the default 192.168.1.1 IP address on the eth0 interface.


ER-4 / ER-6P / ER-12 / ER-12P (e300) TFTP Recovery Process


Back to Top

CLI: Access the EdgeRouter Command Line using the console connection.

1. Connect the console cable to the console port and an Ethernet cable to the eth0 port.

2. Plug in the power cable and boot up the device.

3. Hold down the 1 (number one) key as the router starts up to interrupt the boot process.

4. When holding the 1 key, the bootloader will be interrupted and bring you to a prompt similar to the one below.

Octeon ubnt_e300#

5. Add the IP address and filename recovery information using the setenv and tftpboot commands.

  • setenv ipaddr This is the IP address that the EdgeRouter should use for the TFTP session.
  • setenv serverip This is the IP address of the TFTP server (computer).
  • setenv ethact This is the source interface on the EdgeRouter (eth0).
  • tftpboot Exact name of the recovery image in the base TFTP directory.

An example output for the ER-4 and ER-6P models is: 

setenv ipaddr 192.168.1.20
setenv serverip 192.168.1.10
setenv ethact octeth1
tftpboot 0 ER-e300.recovery.v1.10.9.5167157.190214.1229.d9c62d0a9.vmlinux.64
NOTE: On the ER-4 and ER-6P devices, octeth1 refers to interface eth0

An example output for the ER-12 and ER-12P models is: 

setenv ipaddr 192.168.1.20
setenv serverip 192.168.1.10
setenv ethact octeth4
tftpboot 0 ER-e300.recovery.v1.10.9.5167157.190214.1229.d9c62d0a9.vmlinux.64
NOTE: On the ER-12 and ER-12P devices, octeth4 refers to interface eth0

After completing the steps above, the # symbol will be shown many times as the file is uploaded to the device. This is the expected behavior.

6. Load the recovery image and reboot the device by running the following command:

bootoctlinux 0

7. A successful recovery will allow management access via the web UI or CLI using the default 192.168.1.1 IP address on the eth0 interface.


ER-8-XG (e1000) TFTP Recovery Process


Back to Top

CLI: Access the EdgeRouter Command Line using the console connection.

1. Connect the console cable to the console port and an Ethernet cable to the eth0 port.

2. Plug in the power cable and boot up the device.

3. Hold down the 1 (number one) key as the router starts up to interrupt the boot process.

4. When holding the 1 key, the bootloader will be interrupted and bring you to a prompt similar to the one below.

Octeon ubnt_e1000#

5. Add the IP address and filename recovery information using the setenv and tftpboot commands.

  • setenv ipaddr This is the IP address that the EdgeRouter should use for the TFTP session.
  • setenv serverip This is the IP address of the TFTP server (computer).
  • setenv ethact This is the source interface on the EdgeRouter (eth0).
  • tftpboot Exact name of the recovery image in the base TFTP directory.

An example output is: 

setenv ipaddr 192.168.1.20
setenv serverip 192.168.1.10
setenv ethact octeth8
tftpboot 0 ER-e1000.recovery.v1.10.9.5166938.190213.1811.d9c62d0a9.vmlinux.64
NOTE: On the ER-8-XG, octeth8 refers to interface eth0

After completing the steps above, the # symbol will be shown many times as the file is uploaded to the device. This is the expected behavior.

6. Load the recovery image and reboot the device by running the following command:

bootoctlinux 0

7. A successful recovery will allow management access via the web UI or CLI using the default 192.168.1.1 IP address on the eth0 interface.


Related Articles


Back to Top

EdgeRouter - How to Connect to Serial Console

EdgeRouter - How to Update the Bootloader

We're sorry to hear that!