Filter results by

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.

  • Execute ps at the Linux prompt to see if the ip-driver-app process is running; kill it if so.

  • Type systemctl status zigbee-daemon to see if the ZigBee daemon is running; type systemctl stop zigbee-daemon if so.

Otherwise, the update will fail with a 'port open' error.

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.

  1. 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 containing xxx.ebl (all options for module xxx)

  2. Determine the correct .ebl file to use for your intended ZigBee or Thread stack.

  3. On your ARTIK board, at the root directory:
    1. Copy over the correct xxx.ebl file.
    2. Copy over the flash_firmware file.
    3. Run
        chmod 777 flash_firmware
      to make the file executable.
  4. 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
    where ttyxxxx is shown in the table below and ncp-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 killing the ip-driver-app process, or running
    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.

Last updated on: