Open KiwiHC16 opened 6 years ago
Un bon vieux usermod -a -G wireshark ben
sous root resoud le probleme dumpcap.
Maintenant quand je fais menu-lua-zb-start, le cat /dev/ttyUSB0 tombe et j'ai
a suivre ....
prwxrwxrwx 1 ben ben 0 janv. 30 15:08 sharkfifo -rw-r--r-- 1 ben ben 4 janv. 30 15:08 sharkfifoTx prwxrwxrwx 1 ben ben 0 janv. 30 14:58 sharkfifoTX -rwxrwxrwx 1 ben ben 5341 janv. 30 14:57 zb.lua
C est le bazar .... 2 sharkfifoTX, j ai oublié de dire que j ai change le nom du pipe dans lua pour avoir sharkfifoTX mais il crééé un fichier et pas un pipe...
Non, il ne faut pas faire ça! sharkfifoTx c'est une merde que j'ai du faire pour windows, sous Linux/Mac, il faut écrire directement dans le port série (d'où les paramètres en ligne de commande)
J ai code en dur dans zb.lua le port:
comport = '/dev/ttyUSB0',
Pour avoir la commande toute simple:
wireshark -k -i sharkfifo -X lua_script:zb.lua
Apres lancement, je ne touche a rien et le cat /dev/ttyUSB > sharkfifo tombe et je reçois :
Bon bein c est pas mon jour.... la suite plus tard...
Si ton micro contrôleur est en train d’envoyer des datas, Wireshark est pas content. Essaye de le reset et de lui redemander l’envoi des trames avec le menu start...
Le 30 janv. 2018 à 15:24, Ben notifications@github.com a écrit :
Bon bein c est pas mon jour.... la suite plus tard...
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
reset plus chmod 777 /dev/ttyUSB0 plus sous root echo /dev/ttyUSB0 > sharkfifo alors ca parle dans wireshark par contre cela ne reagit pas aux commandes lua.
reset du JN5168,
chmod 777 /dev/ttyUSB0; cat /dev/ttyUSB0 > /home/ben/sharkfifo
as root
puis wireshark -k -i sharkfifo -X lua_script:zb.lua
as user
puis lua->start
Wireshark indique ch20 alors que lua est sur ch 11 channel = 11
par défaut. Et apres aucune commande ne semble vouloir le faire réagir.
Si tu deviens membre du groupe dialout, t’as plus besoin de bricoler les droits de ttyUSB0 (en tout cas sous Ubuntu), sinon tu peux voir ce que ls -l /dev/ttyUSB0 te dit...
Sinon, le JN envoie le canal sur lequel il est lorsque tu fais start. Par contre j’ai pas encore fait l’envoi du canal par défaut du lua, donc il faut que je le fasse... Pour changer de canal (autre que celui compilé en dur dans le mcu, il faut passer par la boîte de dialogues ZB/Options.
Le 30 janv. 2018 à 15:58, Ben notifications@github.com a écrit :
reset du JN5168, chmod 777 /dev/ttyUSB0; cat /dev/ttyUSB0 > /home/ben/sharkfifo as root puis wireshark -k -i sharkfifo -X lua_script:zb.lua as user puis lua->start
Wireshark indique ch20 alors que lua est sur ch 11 channel = 11 par défaut. Et apres aucune commande ne semble vouloir le faire réagir.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
dialout sous debian aussi, il faut que je le fasse cela sera plus simple.
Peux tu me faire une capture d'écran du comportement wireshark quand tu fais un changement de canal car moi je ne vois rien et il continu a me montrer les échange sur le canal initial (en gros je ne parviens pas à le faire changer de canal).
Est ce que dans la version actuelle je peux changer le canal utilisé et si oui comment ?
Comme écrit dans la doc
sudo usermod -a -G dialout $USER
Alors il y avait un bug avec le changement de canal dans le script lua... Mais ça devrait être corrigé là.
Précision, tant que tu ne fais pas start, tu ne verras rien dans Wireshark...
Tests du jour: je suis www-data et j'ai les droits wireshark and dialout. restart JN5168 cat /dev/ttyUSB0 > /tmp/sharkfifo en place
dans zb.lua default_settings set to comport='/dev/ttyUSB0' et channel=11
wireshark -k -i /tmp/sharkfifo -X lua_script:zb.lua -X lua_script1:comport=/dev/ttyUSB0 -X lua_script1:channel=12
menu start:
Visiblement lua ne prend pas en compte les infos en ligne de commande. Je demande 12, il prend 11 et demarre en 20.
Rien ne se produit si je fais le menu test, rien non plus avec le menu Options.
Peux tu me faire une capture d ecran quand tu fais test ou option.
echo "STA\n" > /dev/ttyUSB0 demarre les traces echo "C:12\n" > /dev/ttyUSB0 ne fait rien echo "STO\n" > /dev/ttyUSB0 n'arrete pas la trace.
Hello, tu peux me mettre le texte que crache Wireshark sur la ligne de commande aussi?
Le 31 janv. 2018 à 14:24, Ben notifications@github.com a écrit :
Tests du jour: je suis www-data et j'ai les droits wireshark and dialout. restart JN5168 cat /dev/ttyUSB0 > /tmp/sharkfifo en place
dans zb.lua default_settings set to comport='/dev/ttyUSB0' et channel=11
wireshark -k -i /tmp/sharkfifo -X lua_script:zb.lua -X lua_script1:comport=/dev/ttyUSB0 -X lua_script1:channel=12
menu start:
Visiblement lua ne prend pas en compte les infos en ligne de commande. Je demande 12, il prend 11 et demarre en 25.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Est-ce que tu es sûr que ton \n est interprété et qu’il n’envoie pas '\' et 'n'?
Le 31 janv. 2018 à 14:40, Ben notifications@github.com a écrit :
echo "STA\n" > /dev/ttyUSB0 demarre les traces echo "C:12\n" > /dev/ttyUSB0 ne fait rien
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
zb.lua local default_settings = { -- comport = '\\.\pipe\wiresharkTx', -- channel = 20 comport = '/dev/ttyUSB0', channel = 11 }
wireshark -k -i /tmp/sharkfifo -X lua_script:zb.lua
www-data@Abeille:~$ echo "C:21\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STA\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "C:22\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STA\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "C:13\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STA\n" > /dev/ttyUSB0
www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
J’ai eu des pb de stty aussi, d’où la commande ‘’’ stty -f /dev/ttyUSB0 38400 raw & cat /dev/ttyUSB0 > /tmp/sharkfifo ‘’’
Le 31 janv. 2018 à 14:24, Ben notifications@github.com a écrit :
Tests du jour: je suis www-data et j'ai les droits wireshark and dialout. restart JN5168 cat /dev/ttyUSB0 > /tmp/sharkfifo en place
dans zb.lua default_settings set to comport='/dev/ttyUSB0' et channel=11
wireshark -k -i /tmp/sharkfifo -X lua_script:zb.lua -X lua_script1:comport=/dev/ttyUSB0 -X lua_script1:channel=12
menu start:
Visiblement lua ne prend pas en compte les infos en ligne de commande. Je demande 12, il prend 11 et demarre en 25.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Bizarre... tu utilises mon dernier commit ou tu as fait des modifs ?
Le 31 janv. 2018 à 14:46, Ben notifications@github.com a écrit :
www-data@Abeille:$ echo "C:21\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:22\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:13\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Quand-même, t’es certain de ton echo ? Parce qu’il pourrait prendre une commande sur 2 là...
Le 31 janv. 2018 à 14:46, Ben notifications@github.com a écrit :
www-data@Abeille:$ echo "C:21\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:22\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:13\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Enlève le \n du echo
Le 31 janv. 2018 à 14:46, Ben notifications@github.com a écrit :
www-data@Abeille:$ echo "C:21\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:22\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:13\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Si tu tapes echo "xxx\n" xxx\n
Le 31 janv. 2018 à 14:46, Ben notifications@github.com a écrit :
www-data@Abeille:$ echo "C:21\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:22\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STO\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "C:13\n" > /dev/ttyUSB0 www-data@Abeille:$ echo "STA\n" > /dev/ttyUSB0 www-data@Abeille:~$ echo "STO\n" > /dev/ttyUSB0
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Dernier commit, git clone d'il y a 44 min
Ok, si tu mets pas le \n dans ton echo ça devrait mieux marcher... Tu peux me donner ce que Wireshark envoie dans la console quand tu essayes de changer de canal ?
Le 31 janv. 2018 à 15:08, Ben notifications@github.com a écrit :
Dernier commit, git clone d'il y a 44 min
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Wireshark ne met rien dans la console. J ai lua du commit d aujourd'hui mais le firmaware est celui d hier, as tu fait des changements dans le firmware ?
Peux tu faire un changement dans le firmware pour qu il envoie un message vers wireshark pour indiquer qu il a bien recu la commande, car la je suis dans le noir, je ne sais pas si le firmware fait qq chose.
echo avec ou sans \n ne change pas grand chose
Je vois des commit sur le firmware, je recompile avec la derniere version Meme resultat. Bon je mets un mode trace sur UART1 sinon je ne vais pas avancer.
Pff, le passage de paramètres dans WS est buggé... Oui, je vais faire causer un peu plus ce soir...
Le 31 janv. 2018 à 15:29, Ben notifications@github.com a écrit :
Wireshark ne met rien dans la console. J ai lua du commit d aujourd'hui mais le firmaware est celui d hier, as tu fait des changements dans le firmware ?
Peux tu faire un changement dans le firmware pour qu il envoie un message vers wireshark pour indiquer qu il a bien recu la commande, car la je suis dans le noir, je ne sais pas si le firmware fait qq chose.
echo avec ou sans \n ne change pas grand chose
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Au fait, t’as pas un cat ou un Wireshark mal tué dans un coin? Ça m’est déjà arrivé de me faire piéger à cause de ça...
Le 31 janv. 2018 à 15:29, Ben notifications@github.com a écrit :
Wireshark ne met rien dans la console. J ai lua du commit d aujourd'hui mais le firmaware est celui d hier, as tu fait des changements dans le firmware ?
Peux tu faire un changement dans le firmware pour qu il envoie un message vers wireshark pour indiquer qu il a bien recu la commande, car la je suis dans le noir, je ne sais pas si le firmware fait qq chose.
echo avec ou sans \n ne change pas grand chose
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
Non (meme fait des reboot de machine)
J ai un JN5168 avec des logs sur le UART1, on va pouvoir avancer....
J'ai ajouté un message d'erreur quand il ne comprend pas ce qu'on lui demande... STA et C:xx renvoient le canal. STO ne peut rien renvoyer. Il y a aussi des traces dans lua. Il faut prendre le nouveau script lua, ainsi que recopier le firmware... Les paramètres marchent très bien sous macOS avec la version 2.4.4 de wireshark. Sous windows ça n'a pas l'air de marcher. Sous Unbuntu wireshark 2.2.6 ça ne marche pas non plus. Mais les paramètres (dans menu Edit/Preferences) devrait marcher et mémoriser tes choix.
Tu peux faire ça pour regarder ce que reçoit wireshark:
stty -F /dev/ttyUSB0 38400 raw & cat /dev/ttyUSB0 | tee /tmp/sf.bin > /tmp/sharkfifo
hexdump -C /tmp/sf.bin
Je pense qu'il y a des problèmes de réglage de baudrate du PC, au moins sous macOS et peut-être sous Linux aussi... (faudrait que je vérifie au scope et faudra que j'essaye éventuellement de régler le baudrate avec lua).
OK, je ne trouve pas le code qui gère les paramètres dans le script lua, donc j'ai du faire une connerie et me marcher sur les pieds en faisant un commit... Je vais voir à corriger ça si je retrouve mon code, sinon je vais le réécrire...
Ca y est j'ai une version qui marche sur linux !!!!
Premier point, il faut enlever echo sur ttyUSB0 sinon tout les octets de capture sont renvoyés sur le JN516x !!!!!
stty -F /dev/ttyUSB0 115200 raw; stty -F /dev/ttyUSB0 115200 -echo
Je suis aussi passé en 115200
J ai UART1 qui crache des logs a 115200 8N1
J'ai changé les caracteres de contrôles pour les commandes de "\n" à + et - et je filtre les caractères pour ne prendre que ceux dont j ai besoin (surtout quand echo est en place et que je prends des octets a ne plus finir).
Pour éviter le pipe non vide, je fais
rm /tmp/sharkfifo; mkfifo /tmp/sharkfifo; cat /dev/ttyUSB0 > /tmp/sharkfifo
J'ai fait une difference entre INIT et START. INIT permet d envoyer les premiers trames a wireshark pour qu il sache quel type de capture arrive (A faire une seule fois apres le lancement de Wireshark). START permet de reprendre la capture apres un STOP.
On peut tester en ligne de commande avec: echo "+INIT-" > /dev/ttyUSB0 echo "+START-" > /dev/ttyUSB0 echo "+STOP-" > /dev/ttyUSB0
Ce qui est bien c est que seules lres 3 premiers char de la commande sont testés mais on peut envoyer le mot complet, c est plus facile a lire. On envoyer +STA- ou +START-
Les retour a la ligne '\n' ne sont pas pris en compte.
Je vais mettre a jour mon git avec cette version.
Ok, c'est un peu la merde, parce que normalement stty raw, ça vire l'echo... Ca y est j'ai ajouté le code de gestion de la ligne de commande, ça marche sous Linux, sous macOS et sous Windows...
En tout cas beau boulot!
"Ok, c'est un peu la merde, parce que normalement stty raw, ça vire l'echo..." Visiblement pas sur une debian 9 en VM sur un mac....
La version que j ai est dans mon repo sous le nom Butineuse. J'ai fait un début de doc mais je vais laisser passer qq jours avant d'essayer de la faire plus propre.
Je n'ai pas encore regardé les derniers commit que tu as fait.
La je bloque sur un cat /dev/ttyUSB0 > fofi que je veux mettre en tache de fond avec un & mais le cat ne tiens pas et s'arrête alors quand sans le & pas de soucis.
Le 1 févr. 2018 à 17:32, Ben notifications@github.com a écrit :
"Ok, c'est un peu la merde, parce que normalement stty raw, ça vire l'echo..." Visiblement pas sur une debian 9 en VM sur un mac....
Ben sous mon Ubuntu non plus... Bon en fait raw c’est pourri, je vais mettre tous le flags qui m’intéressent moi-même, c’est plus sûr... La version que j ai est dans mon repo sous le nom Butineuse. J'ai fait un début de doc mais je vais laisser passer qq jours avant d'essayer de la faire plus propre.
Je n'ai pas encore regardé les derniers commit que tu as fait.
La je bloque sur un cat /dev/ttyUSB0 > fofi que je veux mettre en tache de fond avec un & mais le cat ne tiens pas et s'arrête alors quand sans le & pas de soucis.
Bizarre, là sous Ubuntu ça marche...
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
stty n'est pas mon amis, j'ai toujours galéré avec. Je fini toujours à avoir une ligne de commande avec tous les paramètres .... peut être avec sane au lieu de raw....
Oui, bizarre le truc du cat &, peut être la fatigue.
Est ce que Jerome-PS et Jerome H..... des échanges de mails est la meme personne ?
You can try switch echo
command with printf
. It works better.
Or use -n and -e flags with echo command.
command printf "STA\n" > /dev/ttyUSB0
works for me.
Je viens de faire un test rapide dans une VM debian 9 avec deport d'écran X11.
Le port pour moi est /dev/ttyUSB0
le stty ne veut pas un -f mais un -F (corriger la doc pour linux).
Si je me mets root, wireshark desactive lua ;-( Si je me mets user normal wireshark fonctionne bien mais quand je lance la commande complete:
wireshark -k -i sharkfifo -X lua_script:zb.lua -X lua_script1:comport=/dev/ttyUSB0 -X lua_script1:channel=25
apres avoir fait: as rootwireshark n est pas content et j ai:
Si j essaye de rouvrir depuis wireshark le pipe j'ai le meme message.
J ai bien le menu Lua:
La suite dans les jours à venir....