🛠 Débriquage FEL/xfel et boot SPI NOR sur le Lichee RV Dock

Sipeed Lichee RV Dock (Allwinner D1 / T-Head XuanTie C906) · avance · Schéma : IMG-sipeed-lichee-rv-dock-avance-3-licheerv-fel-xfel-spi-recovery.svg — chaîne de récupération du Lichee RV Dock : bouton FEL du Dock forçant le BROM Allwinner en mode FEL sur le port USB-C, outil xfel côté PC lisant la DRAM/exécutant un SPL en RAM, et pastille SPI NOR SOP8 soudée sur le Dock pour un boot autonome sans microSD

Objetivos

Cuando la microSD está muerta o el bootloader está corrupto, el D1 sigue siendo recuperable gracias al BROM de Allwinner: manteniendo pulsado el botón FEL del Dock y alimentando a través del USB-C del módulo, el chip espera una herramienta FEL. La utilidad de código abierto xfel (xboot/xfel) habla este protocolo: leer el identificador del chip, enviar un SPL+OpenSBI+U-Boot a la DRAM y arrancar sin tocar el almacenamiento — la puerta de emergencia para reprogramar la tarjeta, pero también la vía de producción: el Dock incorpora una pastilla SPI NOR (huella SOP8) y el módulo tiene pastillas SD-NAND, para un arranque autónomo sin tarjeta. Este tutorial cubre ambos casos.

Material

Código completo

# 1) Entrer en FEL : maintenir FEL, brancher l'USB-C, relâcher
lsusb | grep -i '1f3a:efe'          # Allwinner FEL (1f3a = sunxi)
sudo xfel version                    # version du BROM détectée
sudo xfel sid                        # ID unique de la puce

# 2) Démarrer un SPL en RAM sans toucher au stockage (ex. image Buildroot) :
sudo xfel write 0x200000 u-boot-sunxi-with-spl.bin   # adresse SPL D1
sudo xfel exec 0x200000                              # saute dedans
# -> U-Boot démarre sur la série, peut booter un kernel depuis l'USB/TFTP

# 3) Reprogrammer le SPI NOR (puce soudée sur l'empreinte SOP8 du Dock) :
sudo xfel spiflash id                # la NOR répond ?
sudo xfel spiflash erase 0 -l $((16*1024*1024))
sudo xfel spiflash write 0 u-boot-sunxi-with-spl.bin
#   puis retirer le mode FEL : le BROM boote le SPL SPI quand la microSD est absente

# 4) Dépannage bas niveau :
sudo xfel read 0x4100000 64 -o dram.bin   # lire la DRAM (test)
sudo xfel help spiflash

Verificación esperada

Manteniendo FEL al encender, lsusb muestra un dispositivo 1f3a:efe8 (BROM FEL) y sudo xfel version muestra la versión del BROM — prueba de que el enlace USB está vivo incluso con la tarjeta «brickada». xfel write + xfel exec hacen arrancar U-Boot, visible en la consola serie. Tras la programación SPI y la retirada de la microSD, la tarjeta reinicia sola en el SPL del NOR: el arranque continúa sin tarjeta, validando un montaje sin ranura accesible.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales