🛠 Console série sur USB-OTG : dépanner sans réseau ni câble UART

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · intermediaire · Schéma : IMG-bananapi-m2-zero-intermediaire-1-console-serie-otg-ttygs0.svg — BPI-M2 Zero reliée par un câble USB à un ordinateur portable via son port OTG ; sur l'écran du PC, un terminal picocom ouvert sur /dev/ttyACM0 ; la puce du gadget CDC-ACM est surlignée sur la carte.

Objectifs

Quand le Wi-Fi est mal configuré ou le réseau cassé, le BPI-M2 Zero garde un as de la manche : son port micro-USB OTG (dr_mode = "otg" dans le device tree) peut se faire passer pour un périphérique série. La configuration Armbian de la carte précharge le module g_serial et déclare ttyGS0 comme console (SERIALCON="ttyS0,ttyGS0") : branchée seule sur un PC, la carte énumère un port CDC-ACM — pas besoin de câble USB-série ni de réseau. C'est la méthode de sauvetage à connaître avant de casser sa configuration.

Matériel

Code complet

# Sur la carte (via SSH ou CON3) : charger le gadget et exposer un getty
sudo modprobe g_serial
sudo systemctl enable --now serial-getty@ttyGS0.service
# Rendre le module permanent pour les prochains sauvetages
echo g_serial | sudo tee /etc/modules-load.d/gserial.conf

# Sur le PC : un /dev/ttyACM0 apparaît dès que le câble OTG est branché
sudo apt install -y picocom
picocom -b 115200 /dev/ttyACM0      # invite de login du BPI-M2 Zero

# En cas de plantage réseau, vérifier côté carte quel rôle prend le port
dmesg | grep -i -e gadget -e ttyGS0

Vérification attendue

Dès insertion du câble sur le port OTG, le PC voit un périphérique série USB (lsusb le liste) ; picocom affiche l'invite de login ; après connexion, la commande who montre une session sur ttyGS0. La carte reste accessible même avec un wlan0 mal configuré.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels