I am making an application on Ubuntu 12.04 and ROS Fuerte (Robot Operating System) using the Microsoft Kinect sensor and a logitech webcam. Both work perfectly fine independently. For information I use the OpenNI driver for Kinect. The problem comes when using the Kinect and the Webcam at the same time, where only the webcam works in that case. Trying every possible configuration of usb ports didn't help.
Now I have couple more information about my problem. Here is the lsusb report.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 18e8:6229 Qcom RT2573
Bus 001 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 005: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 006: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 001 Device 007: ID 046d:c518 Logitech, Inc. MX610 Laser Cordless Mouse
Bus 001 Device 008: ID 05ac:1002 Apple, Inc. Extended Keyboard Hub [Mitsumi]
Bus 001 Device 009: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 010: ID 046d:082c Logitech, Inc.
Bus 001 Device 011: ID 0451:2077 Texas Instruments, Inc. TUSB2077 Hub
Bus 001 Device 012: ID 05ac:0204 Apple, Inc.
Bus 001 Device 013: ID 045e:02ad Microsoft Corp. Xbox NUI Audio
Bus 001 Device 014: ID 06c2:0033 Phidgets Inc. (formerly GLAB)
Bus 001 Device 015: ID 06c2:0059 Phidgets Inc. (formerly GLAB)
Bus 001 Device 016: ID 06c2:004f Phidgets Inc. (formerly GLAB)
Bus 001 Device 017: ID 06c2:0045 Phidgets Inc. (formerly GLAB) PhidgetInterface Kit 8-8-8
Bus 001 Device 018: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
I know that the simple way would be to change the hardware. But I know that the same set up works fine on Windows. Now I have a few questions:
It seems I have only one usb 2.0 bus and a few usb 1.1 buses, is that common? Or would it be a problem with the OS recognizing the other usb 2.0 buses?
I had the confirmation that the Microsoft Windows Kinect driver reserve 60% of the usb bandwidth for the Kinect, does the OpenNI driver do the same?
I tried to lower the webcam bandwidth by asking it to send a mjpeg stream instead of rgb images. This should greatly reduce the bandwidth of the webcam, but the result is the same, the Kinect doesn't work when the camera is on. Do you guys know how usb bandwidth gestion works on Ubuntu? Is it the usb driver, the webcam driver or Ubuntu that reserve the usb bandwidth?
How can I reduce the bandwidth reserved for the webcam? I already set up as an mjpeg stream, with resolution of 640x480 and 15 fps... which is already low!
Thank you so much for your help, and let me know if you need some other information.