Update Network Co-Processor Firmware
The ZigBee/Thread radio on the ARTIK module works with the main processor on the module in what is called network co-processor (NCP) operation. The radio takes on its identity, as either a ZigBee device or a Thread device, depending on the firmware that has been flashed to it.
The factory default firmware gives the module a ZigBee identity. For Thread operation or to use a newer revision of ZigBee, different firmware must be flash-uploaded.
New network co-processor firmware must first be copied to the ARTIK processor module file system, and from there flashed to the radio chip on the module.
- ARTIK 520, 710, and 1020 modules use the EM3587 radio chip as NCP
- ARTIK 530 modules use the EFR32 radio chip as NCP.
Before you begin: You need to stop any currently running process that might be using the serial port linking the NCP to the main processor.
-
Type
systemctl stop artik-ip-driver
to stop the Thread daemon -
Type
systemctl stop zigbee-daemon
to stop the ZigBee daemon.
Otherwise, the update will fail with an error message.
Load the NCP firmware
The uploading procedure is short, but the file names are long! Review the instructions and table carefully before you start so that you copy only the needed files.
-
To your development PC, download the latest ncp_firmware_20yy_mm_dd.zip package and extract the files for your module.
flash_firmware
ARTIKxxxNCP.zip
containingxxx.ebl
(all options for modulexxx
) -
Determine the correct
.ebl
file to use for your intended ZigBee or Thread stack. - On your ARTIK board, at the root directory:
- Copy over the correct
xxx.ebl
file. - Copy over the
flash_firmware
file. - Run
chmod 777 flash_firmware
to make the file executable.
- Copy over the correct
- Run the following command to use the internal serial port to transfer the file to the EM3587 or EFR32 radio IC.
./flash_firmware -p /dev/ttyxxxx -f ncp-xxx.ebl
wherettyxxxx
is shown in the table below andncp-xxx.ebl
is the file you copied above.
ARTIK Type |
Serial port | Flow control | key words in .ebl file name |
---|---|---|---|
520 | <pre>ttySAC1</pre> | rts-cts (hardware) |
rts-cts-use-with-serial-uart-btl-xxx or HW_FC-use-with-serial-btl-xxx |
530 | <pre>ttyAMA1</pre> | rts-cts (hardware) |
rts-cts-use-with-serial-btl-xxx |
710 | <pre>ttySAC0</pre> | xon-xoff (software) |
xon-xoff-use-with-serial-uart-btl-xxx |
1020 | <pre>ttySAC0</pre> | rts-cts (hardware) |
rts-cts-use-with-serial-uart-btl-xxx |
The ZigBee or Thread NCP firmware is now flashed into the radio and will be retained until replaced.
Troubleshooting
If you see
-
'port open' error: There may be an NCP driver running. Try stopping:
the ip-driver process
systemctl stop artik-ip-driver
or the ZigBee daemon
systemctl stop zigbee-daemon
-
'open fail' error on ARTIK 520 or 1020:
open fail : /sys/devices/virtual/sec/artik_zb_power/recovery
then try adding-d artik520
or-d artik1020
to the command line.