Hello,
I purchased an EyeCloudAI CDK (that consists of an OpenNCC-NCB (usb), eMMC module and 8MP RS Sensor Module) from Mouser.co.uk:
and i cannot get any of the examples to recognise the board (whether OpenVINO or OpenNCC)
Environment:
Ubuntu 20.04 LTS (though i have also tried with Ubuntu 18.04 LTS and Raspbian)
When i plug in the board lsusb gives me:
Bus 004 Device 002: ID 03e7:f63d Intel Movidius camera(first thing i notice is all instructions and the 97-myriad-usbboot.rules file say the board should be either 03e7:2150, 03e7:2485 or 03e7:f63b, but i have 03e7:f63d)
dmesg gives me:
[ 2135.136369] usb 3-4: new high-speed USB device number 6 using xhci_hcd
[ 2135.286277] usb 3-4: New USB device found, idVendor=03e7, idProduct=f63d, bcdDevice= 1.10
[ 2135.286285] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2135.286287] usb 3-4: Product: Movidius camera
[ 2135.286290] usb 3-4: Manufacturer: Intel
[ 2135.286291] usb 3-4: SerialNumber: DUMMY
[ 2135.290230] usb 3-4: Found UVC 1.00 device Movidius camera (03e7:f63d)
[ 2135.293024] usb 3-4: Failed to initialize entity for entity 3
[ 2135.293027] usb 3-4: Failed to register entities (-22).
[ 2135.293838] cdc_acm 3-4:1.2: ttyACM0: USB ACM deviceInstallation steps:
According to: https://github.com/EyecloudAi/OpenNCC_NCB:
following instructions on Get Started with Intel® Neural Compute Stick 2
Which tells me to use Ubuntu 18.04 LTS.
According to https://www.crowdsupply.com/eyecloud/openncc-ncb
"(As of now, it supports OpenVINO 2020.3 and 2021.4.)"
The system requirements for OpanVINO 2021.4 say that it is compatible with Ubuntu 20.04 LTS so i use that.
So in install OpenVINO 2021.4 for Ubuntu 20.04:
#install openvino#
cd ~
mkdir openvino && cd openvino
wget "https://apt.repos.intel.com/openvino/2021/GPG-PUB-KEY-INTEL-OPENVINO-2021"
sudo apt-key add ./GPG-PUB-KEY-INTEL-OPENVINO-2021
echo "deb https://apt.repos.intel.com/openvino/2021 all main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2021.list
sudo apt update
sudo apt-get install intel-openvino-dev-ubuntu20-2021.4.752Then i configure the USB as per https://github.com/EyecloudAi/OpenNCC_NCB:
except one extra step required: after installing the OpenVINO, please download the usb-ma2x8x.mvcmd file for OpenNCC NCB from here and replace the original .mvcmd file under openvino/inference_engine/lib/intel64/usb-ma2x8x.mvcmd with it.
Swap out .mvcmd file:
#configure usb#
#backup old .mvcmd file#
sudo mv /opt/intel/openvino_2021/inference_engine/lib/intel64/usb-ma2x8x.mvcmd /opt/intel/openvino_2021/inference_engine/lib/intel64/usb-ma2x8x.mvcmd.old
#get new file#
wget "https://github.com/EyecloudAi/openncc/raw/R22.08.01/SDK/Source/Firmware/fw/usb-ma2x8x.mvcmd"
#move to correct location#
sudo cp ./usb-ma2x8x.mvcmd /opt/intel/openvino_2021/inference_engine/lib/intel64/usb-ma2x8x.mvcmdAdd my device's ID to the 97-myriad-usbboot.rules and run the install_NCS_udev_rules.sh script:
#add new rule to include "f63d" usb device#
sudo echo "SUBSYSTEM==\"usb\", ATTRS{idProduct}==\"f63d\", ATTRS{idVendor}==\"03e7\", GROUP=\"users\", MODE=\"0660\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"" >> /opt/intel/openvino_2021/inference_engine/external/97-myriad-usbboot.rules
source /opt/intel/openvino_2021/bin/setupvars.sh
/opt/intel/openvino_2021/install_dependencies/install_NCS_udev_rules.sh$ installing udev rules...
$ udev rules have been successfully installedAfter a reboot:
$ groups
adm cdrom sudo dip plugdev users lpadmin lxd sambashare
$cat /etc/udev/rules.d/97-myriad-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1" 
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1" 
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63d", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0660", ENV{ID_MM_DEVICE_IGNORE}="1"Test OpenVINO installation:
source /opt/intel/openvino_2021/bin/setupvars.sh
#install prerequisites#
/opt/intel/openvino_2021/deployment_tools/model_optimizer/install_prerequisites/install_prerequisites.sh
#plug in NCB#
/opt/intel/openvino_2021/deployment_tools/demo/demo_squeezenet_download_convert_run.sh -d MYRIADResult:
###################################################
Run Inference Engine classification sample
Run ./classification_sample_async -d MYRIAD -i /opt/intel/openvino_2021/deployment_tools/demo/car.png -m /home/pict/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml
[ INFO ] InferenceEngine: 
	IE version ......... 2021.4.2
	Build ........... 2021.4.2-3974-e2a469a3450-releases/2021/4
[ INFO ] Parsing input parameters
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino_2021/deployment_tools/demo/car.png
[ INFO ] Loading Inference Engine
[ INFO ] Device info: 
	MYRIAD
	myriadPlugin version ......... 2021.4.2
	Build ........... 2021.4.2-3974-e2a469a3450-releases/2021/4
[ INFO ] Loading network files:
[ INFO ] /home/pict/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml
[ INFO ] Preparing input blobs
[ WARNING ] Image is resized from (787, 259) to (227, 227)
[ INFO ] Batch size is 1
[ INFO ] Loading model to the device
[ ERROR ] Can not init Myriad device: NC_ERROR
Error on or near line 217; exiting with status 1Any help would be very much appreciated.
Many thanks,
Ben W.

1. If you do not have an update program, you can only run the following example
"Platform/Linux/Ubuntu/Example/How_to/OpenNCC-EMMC/UVC"
2.If you want to run "Platform/Linux/Ubuntu/Example/How_to/OpenNCC-EMMC/VSC", please refer to "README. md" in the VSC directory. You need to update the matching program.
rresults of running
~/openncc/Platform/Linux/Ubuntu/Example/How_to/OpenNCC-EMMC/VSC/How_to_use_sdk$ make runmake run ./script/clone.sh Please make sure you have backed up lib or bin(y or n)y copy lib/libOpenNCC.a .... mkdir bin.... copy blob.... TEST_SOURCES: cls_demo_show.cpp obj_detection_demo_show.cpp face_detection_demo_show.cpp vehicle_license_plate_detection_barrier.cpp main.cpp g++ -std=c++11 -o OpenNCC cls_demo_show.o obj_detection_demo_show.o face_detection_demo_show.o vehicle_license_plate_detection_barrier.o main.o lib/libOpenNCC.a -I./inc -I/usr/include/opencv4 -DUSE_WD -D__PC__ `pkg-config opencv4 --cflags --libs` -lrt -ldl -lusb-1.0 -lpthread mv OpenNCC bin/ sudo ./script/run.sh Please input number[0..3] example #0 support one ai net example [default] face blob #1 two ai net vehicle_license_plate_detection_barrier #2 one ai net and 2 input #3 used call back to get data from ncc device number:3 test example:use call back device opened 1D6B:0003 (usbver:30, bus 2, device 1) 8087:0A2A (usbver:20, bus 1, device 4) path: 7 outEndPoint:[2] inEndPoint:[82] 04F2:B56D (usbver:20, bus 1, device 3) path: 4 03E7:F63D (usbver:21, bus 1, device 9)get our self usb device ver:21 path: 2 inEndPoint:[81] inEndPoint:[82] outEndPoint:[1] 0781:5567 (usbver:21, bus 1, device 2) path: 1 inEndPoint:[81] outEndPoint:[2] 1D6B:0002 (usbver:20, bus 1, device 1) error code: -6 Cannot claim interface vsc_init err usb sersion:21 list num:0 12:02:28 : sdk/sdk.cpp(980) initstatus ret:-1 12:02:28 : sdk/sdk.cpp(984) init status error xlink_init -1 camera_video_out YUV420p 2then it just hangs.
The primary problem seems to be that the inference engine cannot find the device:
$ python3 /opt/intel/openvino_2021/inference_engine/samples/python/hello_query_device/hello_query_device.py [ INFO ] Creating Inference Engine [ INFO ] Available devices: [ INFO ] CPU : [ INFO ] SUPPORTED_METRICS: [ INFO ] AVAILABLE_DEVICES: [ INFO ] FULL_DEVICE_NAME: Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz [ INFO ] OPTIMIZATION_CAPABILITIES: FP32, FP16, INT8, BIN [ INFO ] RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 1, 1 [ INFO ] RANGE_FOR_STREAMS: 1, 4 [ INFO ] [ INFO ] SUPPORTED_CONFIG_KEYS (default values): [ INFO ] CPU_BIND_THREAD: YES [ INFO ] CPU_THREADS_NUM: 0 [ INFO ] CPU_THROUGHPUT_STREAMS: 1 [ INFO ] DUMP_EXEC_GRAPH_AS_DOT: [ INFO ] DYN_BATCH_ENABLED: NO [ INFO ] DYN_BATCH_LIMIT: 0 [ INFO ] ENFORCE_BF16: NO [ INFO ] EXCLUSIVE_ASYNC_REQUESTS: NO [ INFO ] PERF_COUNT: NO [ INFO ] [ INFO ] GNA : [ INFO ] SUPPORTED_METRICS: [ INFO ] GNA_LIBRARY_FULL_VERSION: 3.0.0.1377 [ INFO ] FULL_DEVICE_NAME: GNA_SW [ INFO ] IMPORT_EXPORT_SUPPORT: True [ INFO ] OPTIMAL_NUMBER_OF_INFER_REQUESTS: 1 [ INFO ] AVAILABLE_DEVICES: GNA_SW [ INFO ] [ INFO ] SUPPORTED_CONFIG_KEYS (default values): [ INFO ] EXCLUSIVE_ASYNC_REQUESTS: NO [ INFO ] GNA_COMPACT_MODE: NO [ INFO ] GNA_COMPILE_TARGET: [ INFO ] GNA_DEVICE_MODE: GNA_SW_EXACT [ INFO ] GNA_EXEC_TARGET: [ INFO ] GNA_FIRMWARE_MODEL_IMAGE: [ INFO ] GNA_FIRMWARE_MODEL_IMAGE_GENERATION: [ INFO ] GNA_LIB_N_THREADS: 1 [ INFO ] GNA_PRECISION: I16 [ INFO ] GNA_PWL_MAX_ERROR_PERCENT: 1.000000 [ INFO ] GNA_PWL_UNIFORM_DESIGN: NO [ INFO ] GNA_SCALE_FACTOR: 1.000000 [ INFO ] GNA_SCALE_FACTOR_0: 1.000000 [ INFO ] PERF_COUNT: NO [ INFO ] SINGLE_THREAD: YES [ INFO ] ~/inference_engine_cpp_samples_build/intel64/Release$ ./hello_query_device Loading Inference Engine Available devices: CPU SUPPORTED_METRICS: AVAILABLE_DEVICES : [ ] FULL_DEVICE_NAME : Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz OPTIMIZATION_CAPABILITIES : [ FP32 FP16 INT8 BIN ] RANGE_FOR_ASYNC_INFER_REQUESTS : { 1, 1, 1 } RANGE_FOR_STREAMS : { 1, 4 } SUPPORTED_CONFIG_KEYS (default values): CPU_BIND_THREAD : YES CPU_THREADS_NUM : 0 CPU_THROUGHPUT_STREAMS : 1 DUMP_EXEC_GRAPH_AS_DOT : "" DYN_BATCH_ENABLED : NO DYN_BATCH_LIMIT : 0 ENFORCE_BF16 : NO EXCLUSIVE_ASYNC_REQUESTS : NO PERF_COUNT : NO GNA SUPPORTED_METRICS: GNA_LIBRARY_FULL_VERSION : 3.0.0.1377 FULL_DEVICE_NAME : GNA_SW IMPORT_EXPORT_SUPPORT : true OPTIMAL_NUMBER_OF_INFER_REQUESTS : 1 AVAILABLE_DEVICES : [ GNA_SW ] SUPPORTED_CONFIG_KEYS (default values): EXCLUSIVE_ASYNC_REQUESTS : NO GNA_COMPACT_MODE : NO GNA_COMPILE_TARGET : "" GNA_DEVICE_MODE : GNA_SW_EXACT GNA_EXEC_TARGET : "" GNA_FIRMWARE_MODEL_IMAGE : "" GNA_FIRMWARE_MODEL_IMAGE_GENERATION : "" GNA_LIB_N_THREADS : 1 GNA_PRECISION : I16 GNA_PWL_MAX_ERROR_PERCENT : 1.000000 GNA_PWL_UNIFORM_DESIGN : NO GNA_SCALE_FACTOR : 1.000000 GNA_SCALE_FACTOR_0 : 1.000000 PERF_COUNT : NO SINGLE_THREAD : YES