Archive 07/10/2020.

Etape 6 : réponse incohérente du terminal

eh_ham

Bonjour,

Après avoir lancé une expérimentation sur le site de grenoble, à l’étape 6 : après avoir lancé
make BOARD=iotlab-m3 IOTLAB_NODE=auto-ssh -C riot/basics/shell term dans la fenêtre terminal, le terminal envoi sans interruption le caractère > et ne me donne pas accès au shell.

Merci de m’aider à résoudre ce problème.

aabadie2

Bonjour,

Il peut s’agir d’un bug provoqué côté RIOT au moment de l’ouverture du terminal.

Pouvez vous flasher le firmware (make flash) puis ouvrir le terminal sur le port série (avec make term), dans cet ordre ?

eh_ham

L’étape 5: “Make flash” se déroule bien.

A l’étape 6, l’ouverture d’une fenêtre terminal se déroule normalement puis au lancement de la commande “make term " une ligne indiquant l’accès au répertoire " riot/basics/shell term” s’affiche puis une suite ininterrompue de caractères “>” s’affiche.

Après avoir fait Ctrl C à plusieurs reprises pour l’interrompre, j’obtient l’affichage suivant :
" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ^CConnection to grenoble.iot-lab.info closed.
/home/jovyan/work/iot-lab-training/riot/basics/shell/…/…/RIOT/Makefile.include:683: recipe for target ‘term’ failed
make: *** [term] Error 130
make: Leaving directory ‘/home/jovyan/work/iot-lab-training/riot/basics/shell’ "

Merci pour votre aide.

aabadie2

En gardant la console série ouverte et en reflashant le firmware, tout devrait rentrer dans l’ordre.

Pouvez vous essayer ?

eh_ham

J’ai essayé de reflasher en gardant la console ouverte, mais le problème persiste, même en essayant sur les trois sites (lille, strasbourg et grenoble).

Merci.

eh_ham

Après m’être complètement déconnecté de la plateforme FUN pendant une heure, je me suis reconnecté et obtenu le même résultat.

J"ai tenté d’exécuter le flash et l’ouverture du shell à partir de la fenêtre de terminal comme suit :
[ make BOARD=iotlab-m3 IOTLAB_NODE=auto-ssh -C riot/basics/shell flash term ]
et obtenu ce qui suit :
{ make: Entering directory ‘/home/jovyan/work/iot-lab-training/riot/basics/shell’
Building application “basic-shell” for “iotlab-m3” with MCU “stm32f1”.
“make” -C /home/jovyan/work/iot-lab-training/riot/RIOT/boards/iotlab-m3

“make” -C /home/jovyan/work/iot-lab-training/riot/RIOT/sys/stdio_uart
text data bss dec hex filename
8592 120 2556 11268 2c04 /home/jovyan/work/iot-lab-training/riot/basics/shell/bin/iotlab-m3/basic-shell.elf
iotlab-node --jmespath=‘keys(@)[0]’ --format=‘int’ --list grenoble,m3,96 --flash /home/jovyan/work/iot-lab-training/riot/basics/shell/bin/iotlab-m3/basic-shell.bin | grep 0
0
ssh -t funa93389033c@grenoble.iot-lab.info ‘socat - tcp:m3-96.grenoble.iot-lab.info:20000’
.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> …etc"
Toujours ce flux ininterrompu de caractère “>” à l’ouverture de la connexion terminal.

aabadie2

Je n’arrive pas à reproduire votre problème. Est-il possible que le bug soit dans votre code ? Pouvez-vous me montrer le contenu des fichiers Makefile et main.c de l’application ?

lebardix

Hopla, j’ai eu le meme probleme,
et la solution a été de corriger le fichier Makefile
j’avais ajouté
USEMODULE += shell à la fin du Makefile au lieu de sa place prévue

APPLICATION ?= basic-shell

BOARD ?= native

# Add module for the shell here
USEMODULE += shell

RIOTBASE ?= $(CURDIR)/../../RIOT

include $(RIOTBASE)/Makefile.include
eh_ham

BINGO !!!

C’est effectivement ça, l’erreur provient bien de la position de l’instruction USEMODULE += shell dans le fichier Makefile.

Merci à tous.

aabadie2

Merci @lebardix pour ton aide.

@eh_ham, l’organisation du Makefile d’une application est expliqué dans le paragraphe 3.2.3c du cours.