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 device
Installation 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.752
Then 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.mvcmd
Add 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 installed
After 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 MYRIAD
Result:
###################################################
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 1
Any 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 run
make 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 2
then 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