NEWS
CC2538+CC2592 PA Zigbee Stick/Platine
-
@arteck sagte in CC2538+CC2592 PA Zigbee Stick/Platine:
Hallo, ist Dein Angebot noch aktuell?
mich würde das
Wohlfühlpaket all incl. gelötet, geflasht, mit Antenne
für 37 € im Briefversand.
gruß kwone -
@arteck sagte in CC2538+CC2592 PA Zigbee Stick/Platine:
@paul-honka entweder schickst du mir den ein oder.. du benötigst einen JLink flasher.. bedenke dass du alle neu pairen musst
sicher das man nicht neu pairen muss?
Vor einigen Monaten war die Situation wohl anders oder?Kann man den Stick eigentlich lediglich per JTag Flash bespielen?
edit:
kann man das Skript auf einem Linux Host direkt nutzen und den per USB angeschlossenen Stick updaten?
Das wäre definitiv die beste Methode seinen Stick immer aktuell halten zu können, da man durch den ioBroker ja idealerweise sowieso eine Linux Kiste am laufen hat.Skript...
https://github.com/JelmerT/cc2538-bsl -
Ich habe mit dem python skript von JelmerT einen CC2652R kürzlich geflasht.
-
@thomas-braun direkt per USB angeschlossen oder mit nem JTAG Programmer oder ähnliches?
Habe hier lediglich einen SmartRF04EB mit dem ich meinen alten ZigBee Stick geflasht hatte, keine Ahnung ob man den auch für diesen Stick nutzen kann. -
@tdcropower Ging direkt über USB. Da musste (bei meinem Stick jedenfalls) nicht mal der boot mode geändert werden. Skript aufrufen, fertig.
-
@thomas-braun top, teste ich direkt mal!
und zack das erste skript Fehler...
root@helios64:~/cc2538-bsl# python cc2538-bsl.py -h File "cc2538-bsl.py", line 82 print(message, end=attr, file=sys.stderr) ^ SyntaxError: invalid syntax
hast du irgendwas vorab installiert auf deinem Host?
Ich habe lediglich das git gecloned und wollte mir mit der -h Option eine Skript Infos anzeigen lassen!?gibt dazu sogar ein Issue...
https://github.com/JelmerT/cc2538-bsl/issues/111 -
Solche skripte NIE NIE NIE als root mit heruntergelassener Hose ausführen.
-
@thomas-braun kein Problem direkt auf einen User gewechselt...
helios@helios64:/root/cc2538-bsl$ python cc2538-bsl.py -h File "cc2538-bsl.py", line 82 print(message, end=attr, file=sys.stderr) ^ SyntaxError: invalid syntax
-
python -v python3 -v
-
@thomas-braun sagte in CC2538+CC2592 PA Zigbee Stick/Platine:
python3 -v
python -v
helios@helios64:/root/cc2538-bsl$ python -v # installing zipimport hook import zipimport # builtin # installed zipimport hook # /usr/lib/python2.7/site.pyc matches /usr/lib/python2.7/site.py import site # precompiled from /usr/lib/python2.7/site.pyc # /usr/lib/python2.7/os.pyc matches /usr/lib/python2.7/os.py import os # precompiled from /usr/lib/python2.7/os.pyc import errno # builtin import posix # builtin # /usr/lib/python2.7/posixpath.pyc matches /usr/lib/python2.7/posixpath.py import posixpath # precompiled from /usr/lib/python2.7/posixpath.pyc # /usr/lib/python2.7/stat.pyc matches /usr/lib/python2.7/stat.py import stat # precompiled from /usr/lib/python2.7/stat.pyc # /usr/lib/python2.7/genericpath.pyc matches /usr/lib/python2.7/genericpath.py import genericpath # precompiled from /usr/lib/python2.7/genericpath.pyc # /usr/lib/python2.7/warnings.pyc matches /usr/lib/python2.7/warnings.py import warnings # precompiled from /usr/lib/python2.7/warnings.pyc # /usr/lib/python2.7/linecache.pyc matches /usr/lib/python2.7/linecache.py import linecache # precompiled from /usr/lib/python2.7/linecache.pyc # /usr/lib/python2.7/types.pyc matches /usr/lib/python2.7/types.py import types # precompiled from /usr/lib/python2.7/types.pyc # /usr/lib/python2.7/UserDict.pyc matches /usr/lib/python2.7/UserDict.py import UserDict # precompiled from /usr/lib/python2.7/UserDict.pyc # /usr/lib/python2.7/_abcoll.pyc matches /usr/lib/python2.7/_abcoll.py import _abcoll # precompiled from /usr/lib/python2.7/_abcoll.pyc # /usr/lib/python2.7/abc.pyc matches /usr/lib/python2.7/abc.py import abc # precompiled from /usr/lib/python2.7/abc.pyc # /usr/lib/python2.7/_weakrefset.pyc matches /usr/lib/python2.7/_weakrefset.py import _weakrefset # precompiled from /usr/lib/python2.7/_weakrefset.pyc import _weakref # builtin # /usr/lib/python2.7/copy_reg.pyc matches /usr/lib/python2.7/copy_reg.py import copy_reg # precompiled from /usr/lib/python2.7/copy_reg.pyc # /usr/lib/python2.7/traceback.pyc matches /usr/lib/python2.7/traceback.py import traceback # precompiled from /usr/lib/python2.7/traceback.pyc # /usr/lib/python2.7/sysconfig.pyc matches /usr/lib/python2.7/sysconfig.py import sysconfig # precompiled from /usr/lib/python2.7/sysconfig.pyc # /usr/lib/python2.7/re.pyc matches /usr/lib/python2.7/re.py import re # precompiled from /usr/lib/python2.7/re.pyc # /usr/lib/python2.7/sre_compile.pyc matches /usr/lib/python2.7/sre_compile.py import sre_compile # precompiled from /usr/lib/python2.7/sre_compile.pyc import _sre # builtin # /usr/lib/python2.7/sre_parse.pyc matches /usr/lib/python2.7/sre_parse.py import sre_parse # precompiled from /usr/lib/python2.7/sre_parse.pyc # /usr/lib/python2.7/sre_constants.pyc matches /usr/lib/python2.7/sre_constants.py import sre_constants # precompiled from /usr/lib/python2.7/sre_constants.pyc import _locale # builtin # /usr/lib/python2.7/_sysconfigdata.pyc matches /usr/lib/python2.7/_sysconfigdata.py import _sysconfigdata # precompiled from /usr/lib/python2.7/_sysconfigdata.pyc # /usr/lib/python2.7/plat-aarch64-linux-gnu/_sysconfigdata_nd.pyc matches /usr/lib/python2.7/plat-aarch64-linux-gnu/_sysconfigdata_nd.py import _sysconfigdata_nd # precompiled from /usr/lib/python2.7/plat-aarch64-linux-gnu/_sysconfigdata_nd.pyc # /usr/lib/python2.7/sitecustomize.pyc matches /usr/lib/python2.7/sitecustomize.py import sitecustomize # precompiled from /usr/lib/python2.7/sitecustomize.pyc import encodings # directory /usr/lib/python2.7/encodings # /usr/lib/python2.7/encodings/__init__.pyc matches /usr/lib/python2.7/encodings/__init__.py import encodings # precompiled from /usr/lib/python2.7/encodings/__init__.pyc # /usr/lib/python2.7/codecs.pyc matches /usr/lib/python2.7/codecs.py import codecs # precompiled from /usr/lib/python2.7/codecs.pyc import _codecs # builtin # /usr/lib/python2.7/encodings/aliases.pyc matches /usr/lib/python2.7/encodings/aliases.py import encodings.aliases # precompiled from /usr/lib/python2.7/encodings/aliases.pyc # /usr/lib/python2.7/encodings/utf_8.pyc matches /usr/lib/python2.7/encodings/utf_8.py import encodings.utf_8 # precompiled from /usr/lib/python2.7/encodings/utf_8.pyc Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. dlopen("/usr/lib/python2.7/lib-dynload/readline.aarch64-linux-gnu.so", 2); import readline # dynamically loaded from /usr/lib/python2.7/lib-dynload/readline.aarch64-linux-gnu.so >>> exit() # clear __builtin__._ # clear sys.path # clear sys.argv # clear sys.ps1 # clear sys.ps2 # clear sys.exitfunc # clear sys.exc_type # clear sys.exc_value # clear sys.exc_traceback # clear sys.last_type # clear sys.last_value # clear sys.last_traceback # clear sys.path_hooks # clear sys.path_importer_cache # clear sys.meta_path # clear sys.flags # clear sys.float_info # restore sys.stdin # restore sys.stdout # restore sys.stderr # cleanup __main__ # cleanup[1] encodings # cleanup[1] site # cleanup[1] sysconfig # cleanup[1] abc # cleanup[1] _weakrefset # cleanup[1] sre_constants # cleanup[1] re # cleanup[1] _codecs # cleanup[1] _warnings # cleanup[1] zipimport # cleanup[1] _sysconfigdata # cleanup[1] encodings.utf_8 # cleanup[1] codecs # cleanup[1] readline # cleanup[1] _sysconfigdata_nd # cleanup[1] _locale # cleanup[1] sitecustomize # cleanup[1] signal # cleanup[1] traceback # cleanup[1] posix # cleanup[1] encodings.aliases # cleanup[1] exceptions # cleanup[1] _weakref # cleanup[1] sre_compile # cleanup[1] _sre # cleanup[1] sre_parse # cleanup[2] copy_reg # cleanup[2] posixpath # cleanup[2] errno # cleanup[2] _abcoll # cleanup[2] types # cleanup[2] genericpath # cleanup[2] stat # cleanup[2] warnings # cleanup[2] UserDict # cleanup[2] os.path # cleanup[2] linecache # cleanup[2] os # cleanup sys # cleanup __builtin__ # cleanup ints: 19 unfreed ints # cleanup floats
python3 -v
helios@helios64:/root/cc2538-bsl$ python3 -v import _frozen_importlib # frozen import _imp # builtin import '_thread' # <class '_frozen_importlib.BuiltinImporter'> import '_warnings' # <class '_frozen_importlib.BuiltinImporter'> import '_weakref' # <class '_frozen_importlib.BuiltinImporter'> # installing zipimport hook import 'zipimport' # <class '_frozen_importlib.BuiltinImporter'> # installed zipimport hook import '_frozen_importlib_external' # <class '_frozen_importlib.FrozenImporter'> import '_io' # <class '_frozen_importlib.BuiltinImporter'> import 'marshal' # <class '_frozen_importlib.BuiltinImporter'> import 'posix' # <class '_frozen_importlib.BuiltinImporter'> import _thread # previously loaded ('_thread') import '_thread' # <class '_frozen_importlib.BuiltinImporter'> import _weakref # previously loaded ('_weakref') import '_weakref' # <class '_frozen_importlib.BuiltinImporter'> # /usr/lib/python3.7/encodings/__pycache__/__init__.cpython-37.pyc matches /usr/lib/python3.7/encodings/__init__.py # code object from '/usr/lib/python3.7/encodings/__pycache__/__init__.cpython-37.pyc' # /usr/lib/python3.7/__pycache__/codecs.cpython-37.pyc matches /usr/lib/python3.7/codecs.py # code object from '/usr/lib/python3.7/__pycache__/codecs.cpython-37.pyc' import '_codecs' # <class '_frozen_importlib.BuiltinImporter'> import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd33eda0> # /usr/lib/python3.7/encodings/__pycache__/aliases.cpython-37.pyc matches /usr/lib/python3.7/encodings/aliases.py # code object from '/usr/lib/python3.7/encodings/__pycache__/aliases.cpython-37.pyc' import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd3537b8> import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd33e828> # /usr/lib/python3.7/encodings/__pycache__/utf_8.cpython-37.pyc matches /usr/lib/python3.7/encodings/utf_8.py # code object from '/usr/lib/python3.7/encodings/__pycache__/utf_8.cpython-37.pyc' import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd3624e0> import '_signal' # <class '_frozen_importlib.BuiltinImporter'> # /usr/lib/python3.7/encodings/__pycache__/latin_1.cpython-37.pyc matches /usr/lib/python3.7/encodings/latin_1.py # code object from '/usr/lib/python3.7/encodings/__pycache__/latin_1.cpython-37.pyc' import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd362f98> # /usr/lib/python3.7/__pycache__/io.cpython-37.pyc matches /usr/lib/python3.7/io.py # code object from '/usr/lib/python3.7/__pycache__/io.cpython-37.pyc' # /usr/lib/python3.7/__pycache__/abc.cpython-37.pyc matches /usr/lib/python3.7/abc.py # code object from '/usr/lib/python3.7/__pycache__/abc.cpython-37.pyc' import '_abc' # <class '_frozen_importlib.BuiltinImporter'> import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd3675c0> import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd367208> # /usr/lib/python3.7/__pycache__/site.cpython-37.pyc matches /usr/lib/python3.7/site.py # code object from '/usr/lib/python3.7/__pycache__/site.cpython-37.pyc' # /usr/lib/python3.7/__pycache__/os.cpython-37.pyc matches /usr/lib/python3.7/os.py # code object from '/usr/lib/python3.7/__pycache__/os.cpython-37.pyc' # /usr/lib/python3.7/__pycache__/stat.cpython-37.pyc matches /usr/lib/python3.7/stat.py # code object from '/usr/lib/python3.7/__pycache__/stat.cpython-37.pyc' import '_stat' # <class '_frozen_importlib.BuiltinImporter'> import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd3008d0> # /usr/lib/python3.7/__pycache__/posixpath.cpython-37.pyc matches /usr/lib/python3.7/posixpath.py # code object from '/usr/lib/python3.7/__pycache__/posixpath.cpython-37.pyc' # /usr/lib/python3.7/__pycache__/genericpath.cpython-37.pyc matches /usr/lib/python3.7/genericpath.py # code object from '/usr/lib/python3.7/__pycache__/genericpath.cpython-37.pyc' import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd3093c8> import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd306048> # /usr/lib/python3.7/__pycache__/_collections_abc.cpython-37.pyc matches /usr/lib/python3.7/_collections_abc.py # code object from '/usr/lib/python3.7/__pycache__/_collections_abc.cpython-37.pyc' import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd309a20> import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd374588> # /usr/lib/python3.7/__pycache__/_sitebuiltins.cpython-37.pyc matches /usr/lib/python3.7/_sitebuiltins.py # code object from '/usr/lib/python3.7/__pycache__/_sitebuiltins.cpython-37.pyc' import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd374940> # /usr/lib/python3.7/__pycache__/sitecustomize.cpython-37.pyc matches /usr/lib/python3.7/sitecustomize.py # code object from '/usr/lib/python3.7/__pycache__/sitecustomize.cpython-37.pyc' import 'sitecustomize' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd328ba8> import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd370198> Python 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. # extension module 'readline' loaded from '/usr/lib/python3.7/lib-dynload/readline.cpython-37m-aarch64-linux-gnu.so' # extension module 'readline' executed from '/usr/lib/python3.7/lib-dynload/readline.cpython-37m-aarch64-linux-gnu.so' import 'readline' # <_frozen_importlib_external.ExtensionFileLoader object at 0xffffbd328b00> import 'atexit' # <class '_frozen_importlib.BuiltinImporter'> # /usr/lib/python3.7/__pycache__/rlcompleter.cpython-37.pyc matches /usr/lib/python3.7/rlcompleter.py # code object from '/usr/lib/python3.7/__pycache__/rlcompleter.cpython-37.pyc' import 'rlcompleter' # <_frozen_importlib_external.SourceFileLoader object at 0xffffbd328c88> >>> exit() # clear builtins._ # clear sys.path # clear sys.argv # clear sys.ps1 # clear sys.ps2 # clear sys.last_type # clear sys.last_value # clear sys.last_traceback # clear sys.path_hooks # clear sys.path_importer_cache # clear sys.meta_path # clear sys.__interactivehook__ # clear sys.flags # clear sys.float_info # restore sys.stdin # restore sys.stdout # restore sys.stderr # cleanup[2] removing sys # cleanup[2] removing builtins # cleanup[2] removing _frozen_importlib # cleanup[2] removing _imp # cleanup[2] removing _thread # cleanup[2] removing _warnings # cleanup[2] removing _weakref # cleanup[2] removing zipimport # cleanup[2] removing _frozen_importlib_external # cleanup[2] removing _io # cleanup[2] removing marshal # cleanup[2] removing posix # cleanup[2] removing encodings # destroy encodings # cleanup[2] removing codecs # cleanup[2] removing _codecs # cleanup[2] removing encodings.aliases # cleanup[2] removing encodings.utf_8 # cleanup[2] removing _signal # cleanup[2] removing __main__ # cleanup[2] removing encodings.latin_1 # cleanup[2] removing io # destroy io # cleanup[2] removing abc # cleanup[2] removing _abc # cleanup[2] removing site # destroy site # cleanup[2] removing os # cleanup[2] removing stat # cleanup[2] removing _stat # cleanup[2] removing posixpath # cleanup[2] removing genericpath # cleanup[2] removing os.path # cleanup[2] removing _collections_abc # destroy _collections_abc # cleanup[2] removing _sitebuiltins # cleanup[2] removing sitecustomize # destroy sitecustomize # cleanup[2] removing readline # cleanup[2] removing atexit # cleanup[2] removing rlcompleter # destroy rlcompleter # destroy zipimport # destroy _signal # destroy _abc # destroy _sitebuiltins # destroy abc # destroy posixpath # destroy _stat # destroy genericpath # destroy os # destroy stat # destroy atexit # destroy __main__ # destroy readline # cleanup[3] wiping _frozen_importlib # destroy _frozen_importlib_external # cleanup[3] wiping _imp # cleanup[3] wiping _thread # cleanup[3] wiping _warnings # cleanup[3] wiping _weakref # cleanup[3] wiping _io # cleanup[3] wiping marshal # cleanup[3] wiping posix # cleanup[3] wiping codecs # cleanup[3] wiping _codecs # cleanup[3] wiping encodings.aliases # cleanup[3] wiping encodings.utf_8 # cleanup[3] wiping encodings.latin_1 # cleanup[3] wiping sys # cleanup[3] wiping builtins
-
Du hampelst da ja schon wieder als root rum.
Hab ich keinen Bock drauf. -
@thomas-braun sorry habe den User eben wieder geändert.
Der Host ist sowieso fast nackig, da alles im Docker läuftzu meiner Python Version...
helios@helios64:~/cc2538-bsl$ python --version Python 2.7.16 helios@helios64:~/cc2538-bsl$ python3 --version Python 3.7.3
anhand anderer Anleitung wird das Python Skript nicht mit python SKRIPTNAME aufgerufen, sondern per ./SKRIPTNAME
Dabei kommt folgendes bei mir...helios@helios64:~/cc2538-bsl$ sudo ./cc2538-bsl.py -p /dev/ttyACM1 -evw JH_2538_2592_ZNP_USB_20201010.hex Opening port /dev/ttyACM1, baud 500000 Reading data from JH_2538_2592_ZNP_USB_20201010.hex Firmware file: Intel Hex Connecting to target... ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'
-
Das skript setzt python 3.7 oder höher voraus.
Dein 'python' ruft aber python 2.7.16 auf.
Es muss alsopython3 blahblubb
lauten.
-
@thomas-braun ja das klappt...
helios@helios64:~/cc2538-bsl$ python3 cc2538-bsl.py -h Usage: cc2538-bsl.py [-DhqVfewvr] [-l length] [-p port] [-b baud] [-a addr] [-i addr] [--bootloader-active-high] [--bootloader-invert-lines] [file.bin] -h, --help This help -q Quiet -V Verbose -f Force operation(s) without asking any questions -e Mass erase -E, --erase-page p/a,range Receives an address(a) range or page(p) range, default is address(a) eg: -E a,0x00000000,0x00001000, -E p,1,4 -w Write -v Verify (CRC32 check) -r Read -l length Length of read -p port Serial port (default: first USB-like port in /dev) -b baud Baud speed (default: 500000) -a addr Target address -i, --ieee-address addr Set the secondary 64 bit IEEE address --bootloader-active-high Use active high signals to enter bootloader --bootloader-invert-lines Inverts the use of RTS and DTR to enter bootloader -D, --disable-bootloader After finishing, disable the bootloader --version Print script version Examples: ./cc2538-bsl.py -e -w -v example/main.bin ./cc2538-bsl.py -e -w -v --ieee-address 00:12:4b:aa:bb:cc:dd:ee example/main.bin helios@helios64:~/cc2538-bsl$
bleibt nur noch das Problem das der Stick wohl nicht angesprochen wird.
Habe ihn vom Host getrennt, den Button auf dem Board gehalten und wieder verbunden.
Bleibt beim Timeout !?helios@helios64:~/cc2538-bsl$ ll /dev/serial/by-id/ insgesamt 0 lrwxrwxrwx 1 root root 13 Okt 12 20:35 usb-Texas_Instruments_CC2538_USB_CDC-if00 -> ../../ttyACM0
helios@helios64:~/cc2538-bsl$ python3 cc2538-bsl.py -p /dev/ttyACM0 -evw JH_2538_2592_ZNP_USB_20201010.hex Opening port /dev/ttyACM0, baud 500000 Reading data from JH_2538_2592_ZNP_USB_20201010.hex Firmware file: Intel Hex Connecting to target... ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)'
Habe ich wohl eine Firmware drauf die nur per JTag geflasht werden kann?
-
@tdcropower
Möglich. Evtl. muss der Stick aber auch noch in einen bestimmten Boot-Mode versetzt werden.
Bei meinem ist das nicht erforderlich, der lauscht immer. -
@thomas-braun vielleicht weiß das @arteck genauer?
Von wann hast du denn deinen Stick erhalten bzw. mit welche Firmware drauf? -
Das ist meiner:
https://slae.sh/projects/cc2652/
Firmware ist (Stand heute) die letzte: 20210708
Die hab ich da halt mit dem besagten python-Skript drauf gebügelt. -
@thomas-braun sagte in CC2538+CC2592 PA Zigbee Stick/Platine:
der Hinweis könnte der Knackpunkt sein...
... Deadly easy programming, thanks to the automatic-bootloader thing! ;) ...
-
Möglich. Das war auch einer der Gründe, warum ich mir den zugelegt habe. Hatte keine Lust da großartig Klimmzüge machen zu müssen.
-
@thomas-braun dann hol ich mir wohl mal einen JTag Programmer und flashe nicht die aktuelle, sondern eine davor und teste erneut, ob das Skript dann funktioniert.