Recover Firmware

The following section goes into detail of the firmware recovery process for Lima when it does not boot any further than U-Boot. This can happen during an accidental shutdown during the firmware upgrade process or any corrupted system files. Some recovery methods will require LAN and serial access. Note: any configuration changes made previously will be cleared!


Recover via USB

If your device has the new Caraboot bootloader (starting from version 2.0) then you may utilize the USB firmware recovery option.
Note: Your bootloader version is being printed upon power-on and visible via serial connection.

1. Format your USB drive as ​FAT32​ and copy the firmware. Make sure to rename your image to ​8dev_recovery.bin

2. Plug the USB drive into your Lima's USB port.

3. Keep holding the ​S1​ (reset-to-defaults) button and slightly press ​S2​ (hardware-reset) button, the bootloader will begin to search your USB drive for firmware. Wait for about 10 seconds and release the ​S1​ button. The bootloader will begin flashing the firmware immediately. If no firmware can be detected on the USB drive then Lima will attempt booting with default boot options.


Recover via U-Boot

ATENTION! It is possible to brick your board while making changes inside the bootloader so make sure you are entering correct commands. If you make a mistake while typing use CTRL+C instead of backspace!

1. Install tftp server.

2. Copy firmware to your tftp directory.

3. Set 192.168.1.254 IP address on your tftp server's ethernet interface.

4. Reboot Lima and press ESC when prompted to enter bootloader then press <Ctrl+C> a few times to clear console buffer.

5. Set local and server IP addresses:

setenv ipaddr 192.168.1.1
setenv serverip 192.168.1.254

6. Copy firmware from tftp server to Lima's RAM:

tftpboot 0x80060000 openwrt-8devices-v2.10-ar71xx-generic-lima-squashfs-sysupgrade.bin

7. Write firmware from RAM to FLASH memory. Warning: do not proceed with this step if step 6 failed !!!

sf erase 0xC0000 +${filesize}; sf write 0x80060000 0xC0000 ${filesize}

8. Reset board:

reset