Skip to content

Ubuntu 14.04 libusb error LIBUSB_ERROR_NO_DEVICE (-4) #216

@rastaxe

Description

@rastaxe

I am trying to run Kinect v2 on Ubuntu 14.04 (kernel 3.16)
When I run Protonect I got the -4 libusb error (LIBUSB_ERROR_NO_DEVICE).
The output of the program is

[Freenect2Impl] enumerating devices...
[Freenect2Impl] 15 usb devices connected
[Freenect2Impl] found valid Kinect v2 @9:3 with serial 013375243747
[Freenect2Impl] found 1 devices
[Freenect2DeviceImpl] opening...
[Freenect2DeviceImpl] opened
[Freenect2DeviceImpl] starting...
[Freenect2DeviceImpl] ReadData0x14 response
92 bytes of raw data
0x0000:  00 00 12 00 00 00 00 00 01 00 00 00 43 c1 1f 41    2e2e2e2e2e2e2e2e2e2e2e2e432e2e41
0x0010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e
0x0020:  0a 21 33 55 c2 00 17 20 00 08 00 00 10 00 00 00    2e2133552e2e2e202e2e2e2e2e2e2e2e
0x0030:  00 01 00 00 00 10 00 00 00 00 80 00 01 00 00 00    2e2e2e2e2e2e2e2e2e2e802e2e2e2e2e
0x0040:  31 33 00 00 00 05 0b 14 47 4d 46 36 30 33 2e 31    31332e2e2e2e2e2e474d463630332e31
0x0050:  58 00 00 00 00 00 00 00 07 00 00 00                582e2e2e2e2e2e2e2e2e2e2e

[Freenect2DeviceImpl] ReadStatus0x090000 response
4 bytes of raw data
0x0000:  01 26 00 00                                        2e262e2e

[Freenect2DeviceImpl] ReadStatus0x090000 response
4 bytes of raw data
0x0000:  03 26 00 00                                        2e262e2e

[Freenect2DeviceImpl] enabling usb transfer submission...
[Freenect2DeviceImpl] submitting usb transfers...
[Freenect2DeviceImpl] started
device serial: 013375243747
device firmware: 4.3.3913.0.7
[RgbPacketStreamParser::handleNewData] skipping rgb packet!
[TransferPool::submit] failed to submit transfer
[TransferPool::submit] R is -4  ## I added this print on the code!
[TransferPool::submit] failed to submit transfer
[TransferPool::submit] R is -4
[TransferPool::submit] failed to submit transfer
[TransferPool::submit] R is -4
...

When I plug the kinect, I got from dmesg:

usb 8-2: new high-speed USB device number 3 using xhci_hcd
[  324.411131] usb 8-2: New USB device found, idVendor=045e, idProduct=02d9
[  324.411140] usb 8-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  324.411146] usb 8-2: Product: NuiSensor Adaptor      
[  324.411150] usb 8-2: Manufacturer: Microsoft Corporation  
[  324.412541] hub 8-2:1.0: USB hub found
[  324.412702] hub 8-2:1.0: 1 port detected
[  324.857621] usb 9-2: new SuperSpeed USB device number 4 using xhci_hcd
[  327.837733] usb 9-2: New USB device found, idVendor=045e, idProduct=02d9
[  327.837742] usb 9-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  327.837747] usb 9-2: Product: NuiSensor Adaptor      
[  327.837751] usb 9-2: Manufacturer: Microsoft Corporation  
[  327.839117] hub 9-2:1.0: USB hub found
[  327.839362] hub 9-2:1.0: 1 port detected
[  328.310234] usb 9-2.1: new SuperSpeed USB device number 5 using xhci_hcd
[  328.326682] usb 9-2.1: New USB device found, idVendor=045e, idProduct=02c4
[  328.326690] usb 9-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[  328.326696] usb 9-2.1: Product: Xbox NUI Sensor
[  328.326700] usb 9-2.1: Manufacturer: Microsoft
[  328.326704] usb 9-2.1: SerialNumber: 013375243747

As soon as I start Protonect I got:

[  502.613637] usb 9-2.1: reset SuperSpeed USB device number 5 using xhci_hcd
[  502.629167] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880036aa8e00
[  502.629175] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880036aa8e48
[  502.629180] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880036aa8ed8
[  502.629185] xhci_hcd 0000:03:00.0: xHCI xhci_drop_endpoint called with disabled ep ffff880036aa8e90
[  502.689949] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 3 ep 2 with no TDs queued?
[  502.976943] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 3 ep 2 with no TDs queued?
[  502.985108] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 3 ep 2 with no TDs queued?
[  502.985625] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 3 ep 2 with no TDs queued?
[  502.991287] xhci_hcd 0000:03:00.0: WARN Event TRB for slot 3 ep 2 with no TDs queued?
[  503.234346] xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD
[  503.234589] xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD
[  503.234842] xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD
...a lot of these lines...
[  509.238571] xhci_hcd 0000:03:00.0: xHCI host not responding to stop endpoint command.
[  509.238580] xhci_hcd 0000:03:00.0: Assuming host is dying, halting host.
[  509.238799] usb 9-2.1: usbfs: usb_submit_urb returned -22
[  509.238886] usb 9-2.1: usbfs: usb_submit_urb returned -22
[  509.238941] usb 9-2.1: usbfs: usb_submit_urb returned -22
[  509.238995] usb 9-2.1: usbfs: usb_submit_urb returned -22
[  509.239049] xhci_hcd 0000:03:00.0: HC died; cleaning up
[  509.239051] usb 9-2.1: usbfs: usb_submit_urb returned -22
[  509.239094] usb 8-2: USB disconnect, device number 3

Protonect is using the patched version of libusb:

 ldd Protonect | grep usb
    libusb-1.0.so.0 => /home/ale/libfreenect2/depends/libusb/lib/libusb-1.0.so.0 (0x00007f418b0c0000)

Listing the USB Controller gives:

lspci | grep USB
00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:12.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
00:13.1 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0 USB OHCI1 Controller
00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller

Any ideas to solve this problem?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions