frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

USB disconnect while building the examples

In the bin directory of the mvnsdk I do:

make example01

echo "example01 - GoogleNet profiling"
example01 - GoogleNet profiling
python3 ./mvNCProfile.pyc data/googlenet.prototxt -s 12
mvNCProfile v02.00, Copyright @ Movidius Ltd 2016

[Error 7] Toolkit Error: USB Failure. Code: Error opening device

/var/log/syslog:

Sep 3 21:28:42 kitt kernel: [222633.788993] usb 1-5: USB disconnect, device number 12
Sep 3 21:28:42 kitt kernel: [222634.044296] usb 2-5: new SuperSpeed USB device number 5 using xhci_hcd
Sep 3 21:28:42 kitt kernel: [222634.071092] usb 2-5: New USB device found, idVendor=040e, idProduct=f63b
Sep 3 21:28:42 kitt kernel: [222634.071094] usb 2-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 3 21:28:42 kitt kernel: [222634.071095] usb 2-5: Product: USBVSC
Sep 3 21:28:42 kitt kernel: [222634.071096] usb 2-5: Manufacturer: Movidius
Sep 3 21:28:42 kitt kernel: [222634.071097] usb 2-5: SerialNumber: DATAC
Sep 3 21:28:42 kitt mtp-probe: checking bus 2, device 5: "/sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/usb2/2-5"
Sep 3 21:28:42 kitt mtp-probe: bus: 2, device: 5 was not an MTP device

Any ideas?

Comments

  • 22 Comments sorted by Votes Date Added
  • @pisymbol I apologize that the USB issue has been causing problems for many of our users. We understand the magnitude of this issue and you can rest assured that we are working hard on this issue and many others at the moment. We don't have an ETA for a patch fix at the moment, but as soon as we do, I will make an announcement and make a post with the fix. Thank you for the offer pisymbol. We really appreciate and value the feedback from all of our users!

  • @pisymbol We are aware that some systems may be experiencing a USB device open error when using the Movidius NCS. It is a known issue with some systems and one that we are working on. Some users have reported a work around for this error by using a USB 2.0 extension cable and plugging the NCS into the extension cable. When a solution is available, I will post the solution here in the forums..

  • Note that if I use a USB 2.0 port, the same thing happens for the most part.

    Please don't cry bloody murder, but this is on a x399 based system.

  • More debugging:

    ...
    [pid 2079] open("graph", O_RDONLY|O_CLOEXEC) = 14
    [pid 2079] fstat(14, {st_mode=S_IFREG|0644, st_size=14014864, ...}) = 0
    [pid 2079] ioctl(14, TCGETS, 0x7ffe7f930b50) = -1 ENOTTY (Inappropriate ioctl for device)
    [pid 2079] lseek(14, 0, SEEK_CUR) = 0
    [pid 2079] lseek(14, 0, SEEK_CUR) = 0
    [pid 2079] fstat(14, {st_mode=S_IFREG|0644, st_size=14014864, ...}) = 0
    [pid 2079] mmap(NULL, 14016512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd8c83f2000
    [pid 2079] read(14, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 14014865) = 14014864
    [pid 2079] read(14, "", 1) = 0
    [pid 2079] recvmsg(4, 0x7ffe7f92e7b0, 0) = -1 EAGAIN (Resource temporarily unavailable)
    [pid 2079] recvmsg(4, 0x7ffe7f92e790, 0) = -1 EAGAIN (Resource temporarily unavailable)
    [pid 2079] open("./mvnc/MvNCAPI.mvcmd", O_RDONLY) = 15
    [pid 2079] fstat(15, {st_mode=S_IFREG|0664, st_size=825136, ...}) = 0
    [pid 2079] fstat(15, {st_mode=S_IFREG|0664, st_size=825136, ...}) = 0
    [pid 2079] lseek(15, 823296, SEEK_SET) = 823296
    [pid 2079] read(15, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1840) = 1840
    [pid 2079] lseek(15, 0, SEEK_SET) = 0
    [pid 2079] read(15, "MA2x\250\33\0\0ddrInitHeaderForMvcmd.el"..., 823296) = 823296
    [pid 2079] read(15, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 1840
    [pid 2079] close(15) = 0
    [pid 2079] nanosleep({0, 100000000}, NULL) = 0
    [pid 2079] recvmsg(4, 0x7ffe7f92e510, 0) = -1 EAGAIN (Resource temporarily unavailable)
    [pid 2079] open("/dev/bus/usb/001/021", O_RDWR) = 15
    [pid 2079] ioctl(15, USBDEVFS_GET_CAPABILITIES, 0x279b5f0) = 0
    [pid 2079] ioctl(15, USBDEVFS_SETCONFIGURATION, 0x7ffe7f93071c) = 0
    [pid 2079] ioctl(15, USBDEVFS_CLAIMINTERFACE, 0x7ffe7f9306ec) = 0
    [pid 2079] timerfd_settime(9, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={256784, 641929000}}, NULL) = 0
    [pid 2079] ioctl(15, USBDEVFS_SUBMITURB, 0x27c2fb0) = 0
    [pid 2079] read(7, "\1", 1) = 1
    [pid 2079] poll([{fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=15, events=POLLOUT}], 3, 60000) = 1 ([{fd=15, revents=POLLOUT}])
    [pid 2079] ioctl(15, USBDEVFS_REAPURBNDELAY, 0x7ffe7f930550) = 0
    [pid 2079] timerfd_settime(9, 0, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0

    [pid 2079] ioctl(15, USBDEVFS_REAPURBNDELAY, 0x7ffe7f930550) = -1 EAGAIN (Resource temporarily unavailable)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ EAGAIN more than likely because the stick disconnected from the bus

    [pid 2079] ioctl(15, USBDEVFS_RELEASEINTERFACE, 0x7ffe7f9306cc) = -1 ENODEV (No such device)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Device no longer exists
    [pid 2079] write(8, "\1", 1) = 1
    [pid 2079] close(15) = 0
    [pid 2079] recvmsg(4, 0x7ffe7f92e610, 0) = -1 EAGAIN (Resource temporarily unavailable)
    [pid 2079] nanosleep({0, 10000000}, NULL) = 0
    [pid 2079] recvmsg(4, 0x7ffe7f92e610, 0) = -1 EAGAIN (Resource temporarily unavailable)
    ... This message occurs for a few seconds ...

    And then I see the "[Error 7] Toolkit Error: USB Failure. Code: Error opening device" etc. Note that a graph was written to the device (I did not copy/paste the binary strace output).

    Full disclosure: This is within a docker container under 'privileged' mode with '/dev/bus/usb' mounted in my container. I'm on Ubuntu 17.04 but I figured I could use the dongle under a 16.04 LTS run-time in a container (I don't see technically why not).

    I do need some Modivius assistance on what Error 7 means?

    I do see the device within the container:

    root@975b7c042831:/mvncsdk/bin# lsusb
    Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 009: ID 040e:f63b MCCI <----- LOOK AT ME
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 0b05:1868 ASUSTek Computer, Inc.
    Bus 001 Device 007: ID 0b05:1867 ASUSTek Computer, Inc.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    root@975b7c042831:/mvncsdk/bin# lsusb -v -s 2:9

    Bus 002 Device 009: ID 040e:f63b MCCI
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 3.00
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 9
    idVendor 0x040e MCCI
    idProduct 0xf63b
    bcdDevice 1.00
    iManufacturer 1 Movidius
    iProduct 2 USBVSC
    iSerial 3 DATAC
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    .... etc.

  • edited September 2017 Vote Up0Vote Down

    More reading.

    So it looks like other folks have reported this issue here as well:

    https://ncsforum.movidius.com/discussion/comment/312/

    It seems like the dongle is suppose to be enumerated in 2.0 mode until a graph is uploaded, and then it switches to 3.0 mode at some point - so a disconnect is somewhat expected here. But I assume the mvnc code polls waiting for the device to be re-enumerated by the kernel? I did notice moving it to a USB 2.0 slot the stick has a different idVendor/idProduct but the result is still the same (error 7 after EAGAIN'ing for a while).

    I have a question: Is the error 7 due to a time out of the mvnc code not waiting long enough until the kernel exports the dongle post disconnect? And can someone from Modivius comment if the above assumption is true? Are you really waiting for the device to disconnect and reinitialize itself as a 3.0 device during normal operation? (that seems btw an extremely dicey run-time).

    Note: I'm pretty sure I don't have a USB powered 2.0 hub to try. But I will look.

    My motherboard is an Asus Zenith Extreme x399 running 4.10.0-33-generic #37-Ubuntu SMP x86_64.

  • Anyone from Modivius/Intel would like to comment? I really hate to see my stick turn into a nice looking, blueish paper weight!

  • edited September 2017 Vote Up0Vote Down

    Thanks Tome. Do you have an ETA for a fix? It is sorta a show stopper for many of us.

    If you need any debug information or would like to try something on a system that is effected by this bug, please don't hesitate to reach out.

  • Thanks Tome for the update! I wait with baited breath as my dongle is as of now non-functional.

  • A little update. Found a powered USB 2.0 hub. No dice. What's interesting is it DOES take a longer time to fail, but with the same message. This is a real bummer.

  • Just want to chime in that I'm also having issues with connecting the NCS on USB3.0. "ncs-check -1" fails after a few seconds with error:
    OpenDevice 7 failed, rc=-2

    However, if I plug the NCS in through a USB2.0 extension cable into the same USB3.0 port, the "ncs-check -1" passes:
    OpenDevice 7 succeded
    Press q to quit without closing, otherwise just
    Device closed, rc=0

    If I try to run the "python3 stream-infer.py" from the examples, it looks like it wants to work :). It loads a camera window, but nothing is showing up:
    https://www.dropbox.com/s/eyavn3mht9k9t35/Screenshot%20from%202017-09-12%2008-30-10.png?dl=0

    My camera does show up properly when I check it with "cheese".

    I'm running on a Lenovo Yoga 910 with Ubuntu 16.04 native, so I only have one USB3.0 port to try.

    Does the stream-infer example require it to be working over USB3.0?

    Hope you guys get the USB issues fixed soon!

  • I'm also having trouble with this. Ubuntu 16.04 in a Parallels VM on a MacBook Pro running Sierra 10.12.6. Same behavior pisymbol started the post with.

  • I really wish there was more of a timeline on a fix for this. Can we at least get a patch release of 1.07.07 to address this specific issue?

    My dongle is useless to me right now. I have tried everything to get it to work to no avail.

  • Everytime I connect the device, if I list the USB connections using lsusb, I get the device listed. But as soon as the example is compiled, i.e. make example01, the device is disconnected from the list and the following error appears.
    [Error 7] Toolkit Error: USB Failure. Code: No devices found

  • @Sanjaybharadwaj Can you specify what type USB port you're using and also your lsusb cmd output as well as Ubuntu version. Thanks.

  • Can someone at Movidius/Intel at least explain why this is occurring? (a technical explanation)

  • @pisymbol Generally Movidius NC stick can behave as two different devices and most probably in your case there is an issue when switching between these two modes. Here you can see some dmesg logs and additional explanations about the issue. https://ncsforum.movidius.com/discussion/comment/281/#Comment_281

  • @georgievm_cms Thanks for the link. As a work around, why not have to the ability to just run it in USB3 mode all the time and avoid this switcharoo altogether?

  • Is there any update on this issue? I'm pretty much have a nice looking blue paper weight without any work around or fix.

  • Same here, how to solve ?

  • Hi,

    Similar issue here : SDK installed without troubles in VBox. When trying to build the Tensorflow inception_v1 example, the USB NC stick lost its USB connection, and the build fails with error "[Error 7] Toolkit Error: USB Failure. Code: Error opening device"

    Configuration : Windows Enterprise 7 Host, Virtual Box 5.2.0 with Extension Pack installed, Ubuntu 16.04 LTS (fully up-to-date, Kernel 4.10.0-28-generic #32~16.04.2-Ubuntu).

    Also, following the documentation https://movidius.github.io/ncsdk/VirtualMachineConfig.html : I can add a filter "USB2 filter with vendor ID 03e7 and product ID 2150" but VBox does not see "USB3 filter with vendor ID 040e and product ID f63b" (the laptop is a recent model and support USB3.0 devices. I can mount in the Ubuntu VM a flash disk in USB3.0 mode without any trouble)

    I have tried to plug the NC Stick in a USB3.0 hub but it does not help.

    (I will try to build on a Pi3 with Raspian Stretch : I missed to read the documentation https://movidius.github.io/ncsdk/install.html, and tried to install on a Ubuntu mate 16.04 .. .. which faills during SDK installation)

  • edited November 2017 Vote Up0Vote Down

    @georgievm_cms Thanks for the link !! That's very helpfull to know that we can/have to enable both USB 2 and USB3 suppor at the same time ! The VBox GUI is not clear at all on this possibility (bad UX) . After a couple of tries, I did noticed the change in my VM's [VM Name].vbox configuration file (-> OHCI and EHCI entries in the controllers section)

    <USB>
            <Controllers>
              <Controller name="OHCI" type="OHCI"/>
              <Controller name="EHCI" type="EHCI"/>
            </Controllers>
            <DeviceFilters>
              <DeviceFilter name="Movidius USB3" active="true" vendorId="040e" productId="f63b" remote="0"/>
              <DeviceFilter name="Movidius USB2" active="true" vendorId="03e7" productId="2150" remote="0"/>
            </DeviceFilters>
    </USB>

    (Note : if you want to edit this configuration file manually, make sure VBox is not started first, as it might overwrite your changes at any time)

    However, I also found yesterday evening that the host on which I was testing does not meet the minimum requirements for the NC stick -> Windows 10. (I was testing on a Windows 7 system...but actually it looks like there are issues with USB 3 / Windows 7 / VBox, at least for Win 7 guest as described here : http://www.virtualbox.org/manual/ch12.html#idm11250)... .... but maybe this might also affect Win 7 as host (??) ... anyway I'll have to find another way to test !

Sign In or Register to comment.