Hi
Trying to implement Full modem firmware update over serial port (USB) on nrf9160 in accordance with nrf\samples\nrf9160\fmfu_smp_svr in ncs version 1.5.1.
It seems the PC side does not recognize the zip file as parameter but tries to interpret it as a digest. Output from PC is:
python scripts/update_modem.py scripts/mfw_nrf9160_1.3.1.zip COM20 1337 # modem firmware upgrade over serial port started. [HighLevel] Creating new probe [HighLevel] Initialize new probe. [Probes.COM20] [ModemUARTDFUProbe] Dll directory is C:\workspace\ncs2\toolchain\opt\bin\Lib\site-packages\pynrfjprog\lib_x64. [Probes.COM20] [ModemUARTDFUProbe] Find and connect to dfu dll [Probes.COM20] [ModemUARTDFUProbe] Using DFU dll at C:\workspace\ncs2\toolchain\opt\bin\Lib\site-packages\pynrfjprog\lib_x64\NRFDFU.dll. [Probes.COM20] [ModemUARTDFUProbe] Load library at C:\workspace\ncs2\toolchain\opt\bin\Lib\site-packages\pynrfjprog\lib_x64\NRFDFU.dll. [Probes.COM20] [ModemUARTDFUProbe] Library loaded, loading member functions. [Probes.COM20] [ModemUARTDFUProbe] Member functions succesfully loaded. [Probes.COM20] [ModemUARTDFU-COM20] Initialize new probe. [Probes.COM20] [ModemUARTDFU-COM20] Successfully opened port: COM20@1337,flow_control:none,parity:none. [Probes.COM20] [ModemUARTDFU-COM20] { "duration": 866, "error_code": "Ok", "operation": "open_uart", "outcome": "success", "progress_percentage": 100 } [HighLevel] Probe initialization complete! [Probes.COM20] [ModemUARTDFU-COM20] Check if provided file exists [Probes.COM20] [ModemUARTDFU-COM20] Check if provided file can be read [Probes.COM20] [ModemUARTDFU-COM20] Evaluating file scripts/mfw_nrf9160_1.3.1.zip. [Probes.COM20] [ModemUARTDFU-COM20] File must be a hex file. [Probes.COM20] [ModemUARTDFU-COM20] Skipping file scripts/mfw_nrf9160_1.3.1.zip. [Probes.COM20] [ModemUARTDFU-COM20] Verifying flash contents against digest file scripts/mfw_nrf9160_1.3.1.zip. [Probes.COM20] [ModemUARTDFU-COM20] Check if provided file exists [Probes.COM20] [ModemUARTDFU-COM20] Check if provided file can be read [Probes.COM20] [ModemUARTDFU-COM20] Open provided file [Probes.COM20] [ModemUARTDFU-COM20] Could not parse segment line 0 in digest file. Line will be ignored. [Probes.COM20] [ModemUARTDFU-COM20] Expected "Range: 0x%08X--0x%08X SHA256: %64s" [Probes.COM20] [ModemUARTDFU-COM20] Got "PK [Probes.COM20] [ModemUARTDFU-COM20] Could not parse segment line 1 in digest file. Line will be ignored. [Probes.COM20] [ModemUARTDFU-COM20] Expected "Range: 0x%08X--0x%08X SHA256: %64s" [Probes.COM20] [ModemUARTDFU-COM20] Got "\ufffdT*%\ufffd\ufffd\U000dffa2\ufffd7\u06ff\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd}y\ufffdk\ufffd\u059e{\ufffd4\ufffd\ufffd\ufffd\ufffd\u03f2L\ufffd\ufffd\ufffdn\ufffd7\ufffdz\u06fb\ufffd\ufffd\ufffdH}\ufffd4|l\ufffd\ufffd\ufffd\ufffd{\ufffdk\ufffd\ufffd\ufffd\ufffdWs{\u0395/.\ufffd\ufffd9t\ufffd\ufffd\ufffd|\ufffd8`\\ufffdn{\ufffd\ufffd\ufffdR\ufffd\ufffd\ufffd\ufffd\ufffdU\ufffd.\ufffdR\u02fa\ufffdQO.s\ufffd\ufffdk" [Probes.COM20] [ModemUARTDFU-COM20] Verification success. [Probes.COM20] [ModemUARTDFUProbe] Uninitializing ModemUARTDFU probe at serial port COM20. [Probes.COM20] [ModemUARTDFU-COM20] Sending device reset request [Probes.COM20] [ModemUARTDFU-COM20] Sending reset request to device. [Probes.COM20] [ModemUARTDFU-COM20] Closing connection to mcuboot device [Probes.COM20] [ModemUARTDFU-COM20] serial port COM20 closed. [Probes.COM20] [ModemUARTDFU-COM20] { "duration": 0, "error_code": "Ok", "operation": "close_uart", "outcome": "success", "progress_percentage": 100 } [HighLevel] Done. ------------------------------------------------------- The operation took 0.92 seconds [HighLevel] Closing and freeing sub dlls. python scripts/blam.py -p COM20 --boot91 1 Boot91: Application
I suspect that this is only some component that is outdated or similar. I have toolchain for ncs-v1.5.1 incl. Python then
$ nrfjprog --version nrfjprog version: 10.14.0 external JLinkARM.dll version: 6.88a $ pip list Package Version ------------------------------ ---------- aenum 3.0.0 alabaster 0.7.12 anytree 2.8.0 appdirs 1.4.4 arrow 0.17.0 astroid 2.4.2 atomicwrites 1.4.0 attrs 20.3.0 autopep8 1.5.7 Babel 2.9.0 bcrypt 3.1.7 breathe 4.26.1 canopen 1.2.0 cbor 1.0.0 certifi 2020.12.5 cffi 1.14.0 chardet 4.0.0 click 7.1.2 cmsis-pack-manager 0.2.10 colorama 0.4.4 commonmark 0.9.1 coverage 5.4 cryptography 3.2 decorator 5.1.0 distlib 0.3.1 docopt 0.6.2 docutils 0.16 ecdsa 0.16.1 enum34 1.1.10 filelock 3.0.12 future 0.18.2 gcovr 4.2 gitlint 0.15.0 idna 2.10 imagesize 1.2.0 imgtool 1.7.0 importlib-metadata 3.4.0 iniconfig 1.1.1 intelhex 2.3.0 intervaltree 3.1.0 isort 5.7.0 Jinja2 2.11.2 jsonpath-rw 1.4.0 jsonpath-rw-ext 1.2.2 junit2html 30.0.4 junitparser 1.6.3 lazy-object-proxy 1.4.3 lpc-checksum 2.2.0 lxml 4.6.2 MarkupSafe 1.1.1 mccabe 0.6.1 milksnake 0.1.5 mock 4.0.3 mypy 0.800 mypy-extensions 0.4.3 naturalsort 1.5.1 packaging 20.8 paho-mqtt 1.5.1 paramiko 2.7.1 pbr 5.6.0 Pillow 8.1.0 pip 21.0.1 pluggy 0.13.1 ply 3.11 prettytable 2.0.0 progress 1.5 psutil 5.8.0 py 1.10.0 pycodestyle 2.7.0 pycparser 2.20 pyelftools 0.27 Pygments 2.7.4 pykwalify 1.8.0 pylink-square 0.8.1 pylint 2.6.0 PyNaCl 1.3.0 pynrfjprog 10.14.0 pyocd 0.29.0 pyparsing 2.4.7 pyserial 3.4 pytest 6.2.2 python-can 3.3.4 python-dateutil 2.8.1 python-magic 0.4.18 pytz 2020.5 pyusb 1.1.1 pywinusb 0.4.2 PyYAML 5.4.1 recommonmark 0.6.0 regex 2020.11.13 requests 2.25.1 robotframework 3.2.1 robotframework-seriallibrary 0.3.1 ruamel.yaml 0.16.12 ruamel.yaml.clib 0.2.2 scp 0.13.2 setuptools 56.0.0 sh 1.14.1 six 1.14.0 snowballstemmer 2.1.0 sortedcontainers 2.3.0 Sphinx 3.4.3 sphinx-rtd-theme 0.5.1 sphinx-tabs 2.0.0 sphinxcontrib-applehelp 1.0.2 sphinxcontrib-devhelp 1.0.2 sphinxcontrib-htmlhelp 1.0.3 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-mscgen 0.5 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.4 sphinxcontrib-svg2pdfconverter 1.1.1 tabulate 0.8.7 toml 0.10.2 typed-ast 1.4.2 typing-extensions 3.7.4.3 urllib3 1.26.3 virtualenv 20.0.31 wcwidth 0.2.5 west 0.9.0 wheel 0.36.2 windows-curses 2.2.0 wrapt 1.12.1 zipp 3.4.0
Any idea what is wrong?