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.

NCS V2 : How to catch the disconnected event?

Carlyon__Shane
Beginner
1,200 Views

I have been using NCS V2 on Raspberry Pi with the latest OpenVINO toolkit.

It works well for a few hours, but sometimes the stick seems to be disconnected from the Pi. Seeing this error:

 

E: [global] [    263291] [Scheduler00Thr] dispatcherEventSend:1004      Write failed (header) (err -4) | event XLINK_WRITE_REQ

E: [xLink] [    263291] [Scheduler00Thr] eventSchedulerRun:626  Event sending failed
E: [xLink] [    264050] [EventRead00Thr] eventReader:218      eventReader thread stopped (err -4)
E: [xLink] [    264051] [Scheduler00Thr] eventSchedulerRun:576  Dispatcher received NULL event!
E: [ncAPI] [    264054] [python3] ncGraphQueueInference:3973    Can't send trigger request

Seems powering issue.. But how can I trigger this event in my python code?

My code is very similar to this one - https://github.com/decemberpei/openvino-ncs2-python-samples/blob/master/sync_api.py

 

Cheers.

 

 

0 Kudos
9 Replies
Sahira_Intel
Moderator
1,200 Views

Hi Shane,

You're right, this error is usually caused by a power issue. Are you plugging the NCS2 directly into the Raspberry Pi or are you using a powered hub? 

Let me run this model to see if I can reproduce. 

Best Regards,

Sahira 

0 Kudos
Carlyon__Shane
Beginner
1,200 Views

Hi, Sahira.

Yeah, I have plugged it directly..

Do I have to use it with wall-powered hub?

I just need to catch the issue to reboot my pi, but couldn't.

I even tried to unplug the NCS2, but my code didn't catch such exception.

Could you please try to unplug while the code running, and guide me where I have to add my exception handler code?

Cheers,

Shane.

0 Kudos
Sahira_Intel
Moderator
1,200 Views

Hi Shane,

Do you think you can attach your model please? The model you linked is not compatible with the Raspberry Pi. I can send you a PM if you don't want to share it publicly. 

If I run unplug the NCS2 while running, this is the error message: 

E: [xLink] [    814746] [EventRead00Thr] eventReader:218	eventReader thread stopped (err -1)
E: [xLink] [    814746] [Scheduler00Thr] eventSchedulerRun:576	Dispatcher received NULL event!
E: [watchdog] [    815718] [WatchdogThread] sendPingMessage:121	Failed send ping message: X_LINK_ERROR
E: [watchdog] [    816717] [WatchdogThread] sendPingMessage:121	Failed send ping message: X_LINK_ERROR
E: [ncAPI] [    816932] [object_detectio] ncGraphAllocate:1896	can't open stream for graphBuffer transmission due to unknown error
E: [ncAPI] [    826944] [object_detectio] ncDeviceClose:1737	Device didn't appear after reboot
[ ERROR ] Failed to allocate graph: NC_ERROR

Best Regards,

Sahira 

0 Kudos
Carlyon__Shane
Beginner
1,200 Views

Hi, Sahira.

I think you can test any model.. Please just unplug your NCS2 and see how to catch such that exception?

Anyway, here are model files: https://my.pcloud.com/publink/show?code=kZ0SwWkZHWKaYkNp8iY4MNyFdbWUk4Dcrb4X

 

Cheers.

0 Kudos
Sahira_Intel
Moderator
1,200 Views

Hi Shane,

Thanks for attaching your model. 

When you get this error, does the NCS2 still show up as a connected USB device? The reason I am asking this is because I think the most viable option would be to use a loop around your python script that checks if the NCS is still connected. If it is not, it will restart the script. I think this would be the best workaround.

I will also note that the NCS2 was not designed to run for extended periods of time. I have tested models that work for several hours then crash like this one. If you do need this to run for a more than a couple hours, then I would implement a sleep function. It rests after a few inferences. Here is a sample from the NCAPPZOO that implements this.

Best Regards,

Sahira 

0 Kudos
Carlyon__Shane
Beginner
1,200 Views

Hi, Sahira.

Hmm, okay, your approach seems to be the best option.... lol

Okay, will try sleep function tomorrow morning.

Thanks!

0 Kudos
Martinez__Jorge
Beginner
1,200 Views

Sahira R. (Intel) wrote:

Hi Shane,

Thanks for attaching your model. 

When you get this error, does the NCS2 still show up as a connected USB device? The reason I am asking this is because I think the most viable option would be to use a loop around your python script that checks if the NCS is still connected. If it is not, it will restart the script. I think this would be the best workaround.

I will also note that the NCS2 was not designed to run for extended periods of time. I have tested models that work for several hours then crash like this one. If you do need this to run for a more than a couple hours, then I would implement a sleep function. It rests after a few inferences. Here is a sample from the NCAPPZOO that implements this.

Best Regards,

Sahira 

 

Hi Sahira,

I'm having the same problem, but running the NCS2 on an Intel NUC... I liked the idea of checking in my python code whether the NCS2 is still connected. Do you know how can I verify this without using the mvnc library? I'm running on OpenVINO and OpenCV, so my code doesn't include this library at all; thus I would prefer to skip this library.

 

Thanks!!

Jorge

0 Kudos
N__Gautham
Beginner
1,200 Views

Hi All,

I have a similar issue with NCS-2 Connectivity, details:

Os- windows 10

model- ResNet-50

I was able to optimize it and got results when running through CPU and NCS-2.

But when NCS-2 is left connected to the system for while without inferencing and try to inference after few minutes it disconnects and throws the error as

"E: [ncAPI] [         0] [] ncDeviceOpen:859     Device doesn't appear after boot" 

And it takes a few minutes to reconnect and give the results.

So, Please suggest me some solution.

Thanks and Regards 

Gautham N

0 Kudos
Sahira_Intel
Moderator
1,200 Views

Hi Gautham N,

This error is likely due to a power issue - insufficient power is provided to the NCS by your system causing it to not show as a connected device. A couple questions:

  • When you run lsusb after the NCS2 is plugged into your system (or whenever you encounter this error), does it show up as a connected device?
  • To clarify, you get this error after successfully running inference for a few minutes?
  • Do you get this error if you plug in the NCS2 into your system right before running inference?
  • Are you using a powered USB hub or plugging directly into your system?

Best Regards,

Sahira 

0 Kudos
Reply