🛠 Bouton Reset et console série du NanoPi R5S
Objectifs
Apprendre à dialoguer avec le NanoPi R5S quand le réseau ne fonctionne pas : utiliser le bouton Reset (enregistré comme gpio-keys, touche KEY_RESTART sur GPIO4_A0 dans le device tree mainline) et la console série. Vous découvrirez aussi le bouton MASK qui fait entrer la carte en mode Maskrom pour reflasher l'eMMC. À la fin, vous saurez lire les événements du bouton et dépanner un boot via UART.
Matériel
- NanoPi R5S avec alimentation USB-C PD
- Adaptateur USB-UART 3,3 V capable de 1 500 000 bps (CP2102N ou FT232H ; beaucoup d'adaptateurs bon marché plafonnent bien en dessous — cause d'échec fréquente)
- 3 fils Dupont, en-tête debug 3 pins 2,54 mm (3,3 V, ne pas connecter VCC)
- Câble USB-A (le port OTG pour RockUSB est le port USB-A le plus proche du bord, PAS l'USB-C qui est réservé à l'alimentation)
Code complet
# 1) Console série : adapter sur TX/RX/GND, puis
sudo picocom -b 1500000 /dev/ttyUSB0
# (ou: sudo minicom -b 1500000 -D /dev/ttyUSB0)
# Interrompre U-boot pendant les 2 s de délai au boot (image Armbian)
# 2) Lire les événements du bouton Reset (gpio-keys le revendique)
sudo apt install evtest
sudo evtest # choisir l'événement « NanoPi ... » KEY_RESTART
# 3) Vérifier le mapping du bouton
grep -A4 'gpio-keys' /proc/device-tree/../* 2>/dev/null
sudo dmesg | grep -i 'gpio-keys\|Restart'
# 4) Maskrom : maintenir MASK, alimenter, puis côté PC Linux :
sudo upgrade_tool LD # liste les appareils en mode RockUSB
Vérification attendue
Sur la console série à 1 500 000 bps, vous voyez défiler les messages U-boot puis le kernel ; evtest affiche EV_KEY / KEY_RESTART à chaque appui sur Reset. dmesg mentionne le clavier gpio-keys. En mode Maskrom, upgrade_tool LD liste l'appareil. Si rien ne s'affiche sur la série, vérifiez l'inversion TX/RX et la capacité de l'adaptateur à tenir 1,5 Mbaud.
Erreurs fréquentes
- Mauvais débit : la console UART du R5S est à 1 500 000 bps, pas 115200 ; un adaptateur limité produira du bruit.
- Utiliser l'USB-C pour le flashing : il est power-only ; l'OTG est sur le port USB-A du bord.
- Maintenir Reset au lieu de MASK pour Maskrom : c'est MASK qui force le mode recovery ; Reset envoie KEY_RESTART (reboot).
- Oublier GND entre adaptateur et carte : aucun signal lisible sans masse commune.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash