Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Report NC_DEVICE_NOT_FOUND with MyRiad plugin running demo

Jianlin_Q_Intel
Employee
571 Views

I was trying the CVSDK 2018.0.234 on Ubuntu16.04 LTS and I got issue running the security barrier camera sample with myriadPlugin.

I have Movidus SDK installed on my host and the Movidus NCS USB computing stick attached to my host, and I also verified it working by running the NCS samples.

However, when I modify the demo/demo_security_barrier_camera_sample.sh script to let the demo load myriadPlugin instead, I got below error. What could be the problem? I also attached my usb rule file and lsusb result as attachments.

###################################################
 
Run Inference Engine security_barrier_camera sample
 
Run ./security_barrier_camera_sample -d MYRIAD -d_va MYRIAD -d_lpr MYRIAD -i /opt/intel/computer_vision_sdk_2018.0.234/deployment_tools/demo/../demo/car_1.bmp -m /opt/intel/computer_vision_sdk_2018.0.234/deployment_tools/demo/../intel_models/vehicle-license-plate-detection-barrier-0007/FP16/vehicle-license-plate-detection-barrier-0007.xml -m_va /opt/intel/computer_vision_sdk_2018.0.234/deployment_tools/demo/../intel_models/vehicle-attributes-recognition-barrier-0010/FP16/vehicle-attributes-recognition-barrier-0010.xml -m_lpr /opt/intel/computer_vision_sdk_2018.0.234/deployment_tools/demo/../intel_models/license-plate-recognition-barrier-0001/FP16/license-plate-recognition-barrier-0001.xml
 
InferenceEngine: 
API version ............ 1.0
Build .................. 10073
[ INFO ] Parsing input parameters
[ INFO ] No extensions provided
[ INFO ] Reading input
[ INFO ] Loading plugin MYRIAD
 
API version ............ 0.1
Build .................. myriadPlugin
Description ....... myriadPlugin
 
[ INFO ] Loading network files for VehicleDetection
[ INFO ] Batch size is forced to  1
[ INFO ] Checking Vehicle Detection inputs
[ INFO ] Checking Vehicle Detection outputs
[ INFO ] Loading Vehicle Detection model to the MYRIAD plugin
[ INFO ] Loading network files for VehicleAttribs
[ INFO ] Batch size is forced to 1 for Vehicle Attribs
[ INFO ] Checking VehicleAttribs inputs
[ INFO ] Checking Vehicle Attribs outputs
[ INFO ] Loading Vehicle Attribs model to the MYRIAD plugin
[ INFO ] Loading network files for Licence Plate Recognition (LPR)
[ INFO ] Batch size is forced to  1 for LPR Network
[ INFO ] Checking LPR Network inputs
[ INFO ] Checking LPR Network outputs
[ INFO ] Loading LPR model to the MYRIAD plugin
[ ERROR ] Can not init USB device: NC_DEVICE_NOT_FOUND
Error on or near line 112; exiting with status 1
0 Kudos
4 Replies
Nikolay_L_Intel1
Employee
571 Views
Hello Jianlin!
 
The modification in demo/demo_security_barrier_camera_sample.sh script loads 3 networks to one Myriad stick. Current CVSDK release allows to load only 1 network to NCS device simultanuosly.
One possible solution to specify only one Myriad device in the script, like that: -d MYRIAD -d_va CPU -d_lpr CPU
Another option is to modify sample to load and infer networks consistently on single Myriad, but it wouldn't be optimal solution.
Let us know if you have additional questions!
 
Regards, Nikolay
0 Kudos
Seunghyuk_P_Intel
571 Views

Hi Jianlin Q,

You don't need to install Movidius SDK.

Please install USB rules with following steps. (https://software.intel.com/en-us/articles/CVSDK-InferEngine)

Installing USB Rules

To do inference on the Intel® Movidius™ Myriad 2™ Vision Processing Unit install USB rules by running the commands:

cat <<EOF > 97-usbboot.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
EOF
sudo cp 97-usbboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig
rm 97-usbboot.rules

You also can find "97-usbboot.rules" file in the CVSDK you installed.

Regards,

Peter.

0 Kudos
Jianlin_Q_Intel
Employee
571 Views

Thanks! This solves my problem.

0 Kudos
Yin_Guobing
Beginner
571 Views

Hi everybody,

I have encountered same issue today and appling the usb rule seems not working. 

OS: Ubuntu 16.04
OpenVINO: l_openvino_toolkit_p_2018.2.300_online

~$lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 03e7:2150  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I run interactive_face_detection_sample like this:

./interactive_face_detection_sample -i ~/Desktop/libvideo_processing/demo/2.mp4 -m ../../../assets/fd/face-detection-retail-0004.xml

and it works well. However when I try this:

./interactive_face_detection_sample -i ~/Desktop/libvideo_processing/demo/2.mp4 -m ../../../assets/fd16/face-detection-retail-0004.xml -d MYRIAD

it just outputs:

InferenceEngine: 
	API version ............ 1.1
	Build .................. 11653
[ INFO ] Parsing input parameters
[ INFO ] Reading input
[ INFO ] Loading plugin MYRIAD

	API version ............ 1.1
	Build .................. 11653
	Description ....... myriadPlugin
[ INFO ] Loading network files for Face Detection
[ INFO ] Batch size is set to  1
[ INFO ] Checking Face Detection inputs
[ INFO ] Checking Face Detection outputs
[ INFO ] Loading Face Detection model to the MYRIAD plugin
[ ERROR ] Can not init USB device: NC_DEVICE_NOT_FOUND

I have installed usb rules by following: https://software.intel.com/en-us/articles/OpenVINO-InferEngine. The only difference is that I used a exist 97-usbboot.rules file located in /opt/intel/computer_vision_sdk/deployment_tools/inference_engine/external. And the files' contents are:

SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="tty", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="tty", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"

The Modivius NCS works as I had tested it on another computer. 

Is there anything I can do or I might had do something wrong before?

Regards,
Robin

0 Kudos
Reply