Upgrade AI Dongle to KDP2

Note: KneronDFUT supports 3 platforms - Windows 10 (x86_64 64-bit), Ubuntu 18.04 (x86_64 64-bit), and Raspberry Pi OS - Buster (armv7l 32-bit)

Note: Please use the latest version of KneronDFUT to avoid problems caused by incompatibility.

Note: We run the examples below under OS Ubuntu 18.04.5 LTS with cmake version 3.10.2.

Note: Downgrading Kneron AI dongle to previous KDP firmware is not allowed.


1. Introduction

KDP2 Firmware is the firmware designed for KP APIs in PLUS. Using KDP2 Firmware allows Kneron AI dongle performing corresponding operation requested by PLUS.

There are two modes to activate KDP2 firmware in Kneron AI dongle:


2. Download Kneron DFUT

Download the KneronDFUT_ubuntu.zip into Ubuntu from https://www.kneron.com/tw/support/developers/. It is located at Kneron PLUS section.

$ unzip KneronDFUT_ubuntu.zip
$ cd Kneron_DFUT/bin/

Commnand line usage

$ sudo ./KneronDFUT --help

[Display help message]
    --help                : [no argument]         help message

[Scan and list all information]
    --list                : [no argument]         list all dongles information

[Update dongles to usb boot] (Only works for KL520)
    --kl520-usb-boot      : [no argument]         choose update to Usb Boot
    --port                : [argument required]   port id set ("all" or specified multiple port ids "13,537")

[Update dongles to flash boot] (Only works for KL520)
    --kl520-flash-boot    : [no argument]         choose update to Flash Boot
    --port                : [argument required]   port id set ("all" or specified multiple port ids "13,537")
    --scpu                : [argument required]   self pointed scpu firmware file path (.bin)
    --ncpu                : [argument required]   self pointed ncpu firmware file path (.bin)

[Update firmware file to flash memory in dongles (Only works for KL720)
    --kl720-update        : [no argument]         choose write firmware to flash memory
    --port                : [argument required]   port id set ("all" or specified multiple port ids "13,537")
    --scpu                : [argument required]   self pointed scpu firmware file path (.bin)
    --ncpu                : [argument required]   self pointed ncpu firmware file path (.bin)

[Update model file to flash memory in dongles
    --model-to-flash      : [argument required]   self pointed model file path (.nef)
    --type                : [argument required]   type of device ("KL520" or "KL720")
    --port                : [argument required]   port id set ("all" or specified multiple port ids "13,537")

[Enable Graphic User Interface]
    --gui                 : [no argument]         display GUI

[Get Current Kneron DFUT Version]
    --version             : [no argument]         display the version of Kneron DFUT

3. [KL520] Update to USB Boot Mode

3.1 Use GUI to Update AI Dongle

$ sudo ./KneronDFUT
  1. Select KL520 Tab.

  2. Select the KL520 dongles to be update to USB Boot Mode.

  3. Select Update to USB Boot

  4. Push Run button.

3.2 Use Command Line to Update AI Dongle

  1. List all dongles

    $ sudo ./KneronDFUT --list
    
    ===========================================
    Index:          1
    Port Id:        133
    Kn Number:      0x270A265C
    Device Type:    KL520
    FW Type:        KDP
    Usb Speed:      High-Speed
    Connectable:    true
    ===========================================
    
  2. Upgrade the selected KL520 dongles using the port id

    $ sudo ./KneronDFUT --kl520-usb-boot --port 133
    
    Start Update Device with Port Id 133 to USB Boot
    
    ==== Update of Device with Port Id: 133 Succeeded ====
    

4. [KL520] Update to Flash Boot Mode

4.1 Use GUI to Update AI Dongle

$ sudo ./KneronDFUT
  1. Select KL520 Tab.

  2. Select the KL520 dongles to be update to Flash Boot Mode.

  3. Select Update to Flash Boot

  4. Manually choose SCPU firmware file and NCPU firmware file.

    SCPU and NCPU firmware file for KL520 can be found in ${PLUS_FOLDER}/res/firmware/KL520/

  5. Push Run button.

4.2 Use Command Line to Update AI Dongle

  1. List all dongles

    $ sudo ./KneronDFUT --list
    
    ===========================================
    Index:          1
    Port Id:        133
    Kn Number:      0x270A265C
    Device Type:    KL520
    FW Type:        KDP
    Usb Speed:      High-Speed
    Connectable:    true
    ===========================================
    
  2. Upgrade the selected KL520 dongles using the port id

    $ sudo ./KneronDFUT --kl520-flash-boot --port 133 --scpu ${SCPU_FILE_PATH} --ncpu ${NCPU_FILE_PATH}
    
    Start Update Device with Port Id 133 to Flash Boot
    
    ==== Update of Device with Port Id: 133 Succeeded ====
    

    SCPU and NCPU firmware file for KL520 can be found in ${PLUS_FOLDER}/res/firmware/KL520/


5. [KL720] Update Firmware to Flash Memory

Note: Update flash for KL720 is required under USB3.0(Super-Speed) model

5.1 Use GUI to Update AI Dongle

$ sudo ./KneronDFUT
  1. Select KL720 Tab.

  2. Select the KL720 dongles to be update to KDP2 firmware.

  3. Select Update Firmware to Flash

  4. Manually choose SCPU firmware file and NCPU firmware file.

    The firmware files can be found in ${PLUS_FOLDER}/res/firmware/KL720/

  5. Push Run button.

5.2 Use Command Line to Update AI Dongle

  1. List all dongles

    $ sudo ./KneronDFUT --list
    
    ===========================================
    Index:          1
    Port Id:        262
    Kn Number:      0x2004142C
    Device Type:    KL720
    FW Type:        KDP
    Usb Speed:      Super-Speed
    Connectable:    true
    ===========================================
    
  2. Upgrade the selected KL720 dongles using the port id

    $ sudo ./KneronDFUT --kl720-update --port 262 --scpu ${SCPU_FILE_PATH} --ncpu ${NCPU_FILE_PATH}
    
    Start Update Firmware to Device with Port Id 262
    
    ==== Update Firmware to Device with Port Id: 262 Succeeded ====
    

    SCPU and NCPU firmware file for KL720 can be found in ${PLUS_FOLDER}/res/firmware/KL720/