OpenKinect / libfreenect2

Open source drivers for the Kinect for Windows v2 device
2.07k stars 749 forks source link

Weird dmsg and libfreenect2 can't open device #1192

Closed BlackCatTB closed 4 months ago

BlackCatTB commented 5 months ago

Hello, so I wanna build a small rover with the kinectv2 but I can't figure out why libfreenect2 can't open the Kinectv2. It works on my windows machine but not this industrial lil pc. It has got usb-3, multiple ports which I all tested, but all give me a weird dmsg when executing ./bin/Protonect I get the error under "Actual results" and a dmsg:

[ 2423.489084] usb 3-2: New USB device found, idVendor=045e, idProduct=02c4, bcdDevice= 1.00
[ 2423.489091] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[ 2423.489095] usb 3-2: Product: Xbox NUI Sensor
[ 2423.489098] usb 3-2: Manufacturer: Microsoft
[ 2423.489101] usb 3-2: SerialNumber: 057120633647
[ 2440.049719] usb 3-2: reset high-speed USB device number 10 using xhci_hcd
[ 2440.198179] usb 3-2: unable to get BOS descriptor or descriptor too short

Which is really weird. I've already disabled that power management thing and followed the install guide. I just haven't installed that OpenCL thing but I don't think that's important right now. Has anyone got any idea how I can fix that?

Much appreciated!

  1. libfreenect2 v0.2.1
  2. Linux r00mba 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  3. lsusb -t
    lsusb -t
    /:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
    |__ Port 2: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 2: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 6: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 6: Dev 3, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 6: Dev 3, If 3, Class=Human Interface Device, Driver=usbhid, 12M
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
  4. lspci -nn:
    00:00.0 Host bridge [0600]: Intel Corporation 3rd Gen Core processor DRAM Controller [8086:0154] (rev 09)
    00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
    00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09)
    00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04)
    00:16.0 Communication controller [0780]: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 [8086:1e3a] (rev 04)
    00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection (Lewisville) [8086:1502] (rev 04)
    00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04)
    00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
    00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 8 [8086:1e1e] (rev c4)
    00:1c.1 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 [8086:1e12] (rev c4)
    00:1c.2 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 [8086:1e14] (rev c4)
    00:1c.3 PCI bridge [0604]: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 4 [8086:1e16] (rev c4)
    00:1c.4 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 5 [8086:1e18] (rev c4)
    00:1c.5 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 6 [8086:1e1a] (rev c4)
    00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04)
    00:1f.0 ISA bridge [0601]: Intel Corporation QM77 Express Chipset LPC Controller [8086:1e55] (rev 04)
    00:1f.2 IDE interface [0101]: Intel Corporation 7 Series Chipset Family 4-port SATA Controller [IDE mode] [8086:1e01] (rev 04)
    00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller [8086:1e22] (rev 04)
    00:1f.5 IDE interface [0101]: Intel Corporation 7 Series Chipset Family 2-port SATA Controller [IDE mode] [8086:1e09] (rev 04)
    00:1f.6 Signal processing controller [1180]: Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller [8086:1e24] (rev 04)
    01:00.0 PCI bridge [0604]: Integrated Technology Express, Inc. IT8892E PCIe to PCI Bridge [1283:8892] (rev 41)
    02:00.0 Network controller [0280]: PEAK-System Technik GmbH PCAN-PCI CAN-Bus controller [001c:0001] (rev 02)
    04:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
    05:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
    06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
    07:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
    08:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]

Steps to Reproduce:

  1. just installed

Actual Results:

r00mba@r00mba:~/libfreenect2/build$ ./bin/Protonect Version: 0.2.0 Environment variables: LOGFILE= Usage: ./bin/Protonect [-gpu=] [gl | cl | clkde | cuda | cudakde | cpu] [] [-noviewer] [-norgb | -nodepth] [-help] [-version] [-frames ] To pause and unpause: pkill -USR1 Protonect libusb: warning [libusb_init] installing new context as implicit default [Info] [Freenect2Impl] enumerating devices... [Info] [Freenect2Impl] 8 usb devices connected [Info] [Freenect2Impl] found valid Kinect v2 @3:3 with serial 057120633647 [Info] [Freenect2Impl] found 1 devices [Info] [Freenect2DeviceImpl] opening... [Error] [protocol::UsbControl] failed to claim interface with IrInterfaceId(=1)! LIBUSB_ERROR_BUSY Resource busy. Try debugging with environment variable: export LIBUSB_DEBUG=3 . [Info] [Freenect2DeviceImpl] closing... [Info] [Freenect2DeviceImpl] deallocating usb transfer pools... [Info] [Freenect2DeviceImpl] closing usb device... [Info] [Freenect2DeviceImpl] closed [Error] [Freenect2Impl] failed to open Kinect v2: @3:3 failure opening device! libusb: warning [libusb_exit] device 3.3 still referenced libusb: warning [libusb_exit] device 3.1 still referenced

Reproducibility: idk man

BlackCatTB commented 4 months ago

nah I plugged it into the port with 480M thing. That's on me lol

If anyone knows why I get usb usb4-port3: Cannot enable. Maybe the USB cable is bad? (port works with other devices & Kinect works on my PC) now I would much appreciate a response ♥