Recover Firmware
The following section goes into detail of the firmware recovery process for Carambola 2 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 Carambola'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 (LED should have blinked 4 times by now) and release the S1
button. The bootloader will begin flashing the firmware immediately. If no firmware can be detected on the USB drive then Carambola 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 Carambola 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 Carambola's RAM:
tftpboot 0x80060000 openwrt-8devices-v2.11-ar71xx-generic-carambola2-squashfs-sysupgrade.bin
7. Write firmware from RAM to FLASH memory. Warning: do not proceed with this step if step 6 failed !!!
erase 0x9f050000 +${filesize}; cp.b 0x80060000 0x9f050000 ${filesize}
8. Reset board:
reset