🛠 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

Objectifs

Une PINE A64 qui ne démarre plus n'est pas morte : le BROM d'Allwinner expose un mode de récupération FEL sur le port micro-USB OTG, standard de la famille sunxi. Combiné à la console série sur le connecteur EXP 2×5 (UART0, broches PB8/PB9, 115200 8N1 — le stdout-path = "serial0:115200n8" du device tree mainline), tu peux observer chaque étape de la chaîne de boot (BROM → U-Boot → noyau + DTB depuis la microSD), charger un U-Boot en RAM par FEL sans toucher à la carte SD, et reconstruire une carte de secours. À noter : la carte n'a pas de SPI NOR ni de boot eMMC par défaut — tout se rejoue depuis la microSD, ce qui rend la récupération simple mais le FEL indispensable quand le bootloader de la SD est cassé.

Matériel

Code complet

# 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.

Vérification attendue

Avec la console série branchée, le silence total signifie que la carte n'amorce pas du tout (alimentation, microSD absente/illisible) — déjà une réponse. Un U-Boot qui affiche son banner puis boucle indique un kernel/DTB introuvable sur la SD. En mode FEL, sunxi-fel version répond avec l'identifiant du SoC, et après write + exec, la console série voit démarrer le U-Boot chargé en RAM : la carte est sauvée, il ne reste qu'à regraver une microSD saine. C'est exactement la chaîne documentée en mainline : BROM Allwinner → U-Boot (pine64_plus_defconfig) → noyau + DTB, tout depuis la SD.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels