Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sous Linux: Deuxieme experience #8

Open
KiwiHC16 opened this issue Apr 30, 2018 · 5 comments
Open

Sous Linux: Deuxieme experience #8

KiwiHC16 opened this issue Apr 30, 2018 · 5 comments

Comments

@KiwiHC16
Copy link

KiwiHC16 commented Apr 30, 2018

./Sniff.py /dev/ttyUSB0 ne demarre pas:

root@Abeille:/var/www/JN516xSniffer/JN516xSniffer/wireshark_plugin# ./Sniff.py /dev/ttyUSB0
Traceback (most recent call last):
  File "./Sniff.py", line 363, in <module>
    main(sys.argv)
  File "./Sniff.py", line 31, in main
    parser = argparse.ArgumentParser(description="interface between wireshark and a JN516x chip used as a ZigBee traffic sniffer", epilog=listcomports())
  File "./Sniff.py", line 16, in listcomports
    import serial.tools.list_ports
ImportError: No module named 'serial'

=> modifier la doc.

python Sniff.py /dev/ttyUSB0 plante sur del pipe:

root@Abeille:/var/www/JN516xSniffer/JN516xSniffer/wireshark_plugin# python Sniff.py /dev/ttyUSB0
WARNING this program has only been tested with Python 3!
Detected platform is Linux
~~~~~~~~~~~~~~~~~~
Warning, user not in group 'wireshark', you might not be able to use wireshark
	Try: sudo usermod -a -G wireshark $USER
~~~~~~~~~~~~~~~~~~
Using serial port '/dev/ttyUSB0' at 115200 Baud
Traceback (most recent call last):
  File "Sniff.py", line 363, in <module>
    main(sys.argv)
  File "Sniff.py", line 144, in main
    pipeRx = PyFIFO(pipeRxName, "w")
  File "Sniff.py", line 245, in __init__
    self.delfifo()
  File "Sniff.py", line 256, in delfifo
    except FileNotFoundError as e:
NameError: global name 'FileNotFoundError' is not defined

=> Faire un petit correctif.

Pour premier lancement j ai commenté la ligne 256
# os.remove(self.path)

Apres avoir quitté wireshark, le script ne me rend pas la main, je suis obligé de le tuer.
=> Une petite modif ?

Je passe sous un utilisateur autre que root, wireshark est ok maintenant pour lancer lua mais je vois pas de trace dans wireshark (J'ai utilisé le bin pour le JN5168).

Je vais tester avec ma vieille version...

@KiwiHC16
Copy link
Author

KiwiHC16 commented Apr 30, 2018

Ma vieille version marche toujours...
Je vais compiler la version JN5168 sous windows IDE NXP.

Dans la conf du projet ajouth de la variable PATH

Modif du makefile:

SDK_BASE_DIR ?= $(abspath ../../sdk/$(JENNIC_SDK)/)

TOOL_COMMON_BASE_DIR= c:\nxp\bstudio_nxp\sdk\Tools

JENNIC_CHIP ?= JN5168

Compile Ok,

Je lance Sniff et magie ca marche !!! Je vois des ACK.

MERCI JEROME !!!

@Jerome-PS
Copy link
Owner

Salut,

Merci d'avoir testé!
Quand tu lances "python Sniff.py /dev/ttyUSB0", c'est Python 2 qui est utilisé, et en fait c'est un peu galère d'avoir du code qui est compatible Python 2 et Python 3, d'où le message d'avertissement qui dit qu'il vaut mieux utiliser Python 3 (mais je crois que je vais forcer cette version...).

J'ai corrigé le Sniff.py, il devrait maintenant te dire ce qui ne va pas si tu le lances avec python3 ou avec ./Sniff.py... (je le sais d'après le message d'erreur, mais il devrait te le dire de manière plus explicite maintenant et même te proposer la commende pour corriger le problème...).

Pour les chemins du Makefile, c'est toujours chiant, parce que ça dépend de la machine, mais je pense qu'en fait ce que tu as fait en remettant le chemin d'origine est bien, parce que sous Eclipse il faut creuser pour changer les chemins, alors que chez moi je peux passer en ligne de commande facilement...

Bien content que les ACK marchent finalement, dommage qu'il ait fallu jouer du objdump pour en arriver jusque là, j'aurais préféré lire la doc...

PS.: ç'en est où du capteur de piscine?

A+,
Jérôme.

@KiwiHC16
Copy link
Author

KiwiHC16 commented Apr 30, 2018 via email

@Jerome-PS
Copy link
Owner

Ben avec objdump tu as des adresses et puis tu cherches à quels registres ça correspond, par exemple dans #include <xcv_pub.h> ... C'est un travail de fourmi et de script python qui fait l'arithmétique et qui essaye de deviner les noms de registres à ta place pour automatiser le processus.

Aïe, aïe, quand les ennuis s'entassent, ça peut devenir décourageant. Mais en même temps c'est sympa de profiter de la piscine!

J'ai réussis à faire marcher la stack NXP avec les capteurs Xiaomi, mais je n'arrive toujours pas à comprendre pourquoi le join codé à la main ne fonctionne pas... Faut que je fasse tourner mon capteur d'humidité et je me remettrais peut-être au code plus tard, à moins que je n'arrive à mettre la main sur du Tradfri en panne dont je pourrait récupérer les proc pour voir si la doc est meilleure de ce côté-là...

Jérôme.

@KiwiHC16
Copy link
Author

KiwiHC16 commented Apr 30, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants