🛠 Sauver une PINE A64 briquée : console série EXP et mode FEL

Pine64 PINE A64 / PINE A64+ (Allwinner A64) · avance · Schéma : IMG-pine64-avance-2-fel-recovery-console-serie.svg — PINE A64 sans microSD alimentee par son cable micro-USB OTG relie a un PC affichant sunxi-fel, adaptateur USB-TTL branche sur le connecteur EXP 2x5 (UART0 PB8/PB9, 115200), chaine de boot BROM -> U-Boot -> kernel DTB annotee, U-Boot ecrase a l'adresse 0x4a000000

Objectives

A PINE A64 that no longer boots is not dead: Allwinner's BROM exposes a FEL recovery mode on the micro-USB OTG port, a standard feature of the sunxi family. Combined with the serial console on the EXP 2×5 connector (UART0, pins PB8/PB9, 115200 8N1 — the stdout-path = "serial0:115200n8" from the mainline device tree), you can observe each step of the boot chain (BROM → U-Boot → kernel + DTB from the microSD), load a U-Boot into RAM via FEL without touching the SD card, and rebuild a rescue card. Note: the board has no SPI NOR nor default eMMC boot — everything is replayed from the microSD, which makes recovery simple but FEL indispensable when the SD bootloader is broken.

Hardware

Complete code

# 1) Observer le boot réel (la carte SD est-elle seulement lue ?)
sudo picocom -b 115200 /dev/ttyUSB0     # console EXP = UART0 PB8/PB9
#   rien du tout -> alim/SD en cause ; U-Boot qui boucle -> bootloader HS

# 2) Entrer en FEL : retirer la microSD, carte hors tension,
#    brancher le micro-USB OTG vers le PC (et alimenter).
#    Le BROM attend sur l'USB ; vérifier :
sudo sunxi-fel version                  # doit répondre (ID sun50iw1p1)

# 3) Charger un U-Boot mainline en RAM et démarrer dessus (sans SD) :
sudo sunxi-fel -p write 0x4a000000 u-boot-sunxi-with-spl.bin
sudo sunxi-fel exec 0x4a000000

# 4) Une fois la console série vivante, graver une SD saine ou
#    réécrire le bootloader sur la carte via un lecteur USB.

Expected verification

With the serial console connected, total silence means the board is not booting at all (power supply, microSD absent/unreadable) — already an answer. A U-Boot that displays its banner and then loops indicates a kernel/DTB not found on the SD. In FEL mode, sunxi-fel version responds with the SoC identifier, and after write + exec, the serial console sees the U-Boot loaded into RAM starting: the board is saved, all that remains is to reflash a healthy microSD. This is exactly the chain documented in mainline: Allwinner BROM → U-Boot (pine64_plus_defconfig) → kernel + DTB, all from the SD.

Common errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials