1

I have a Samsung NP350V5C laptop (with Core i5-3210M CPU) with two USB2.0 and two USB3.0 ports. The OS is:

$ uname -a
Linux pe 3.5.0-26-generic #42-Ubuntu SMP Fri Mar 8 23:18:20 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

I have an Asus Xtion Pro Live camera connected to a USB 2.0 port. This does not work. The problem seems to lie here (using xhci_hcd, "not enough bandwidth", see below):

$ dmesg
....
[ 3162.597428] usb 3-3: new high-speed USB device number 2 using xhci_hcd
[ 3162.617432] usb 3-3: New USB device found, idVendor=1d27, idProduct=0600
[ 3162.617440] usb 3-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 3162.617444] usb 3-3: Product: PrimeSense Device
[ 3162.617447] usb 3-3: Manufacturer: PrimeSense
[ 3162.617912] xhci_hcd 0000:00:14.0: Not enough bandwidth. Proposed: 1663, Max: 1607
[ 3162.617920] xhci_hcd 0000:00:14.0: Not enough bandwidth
[ 3162.617933] usb 3-3: can't set config #1, error -12

On another laptop (Lenovo, same CPU, also Ubuntu 12.10 but 32bit), ehci_hcd is used, and there the camera works fine.

So, the problem seems to be xhci_hcd. Is there any fix for that problem or the possibility to force using ehci_hcd?

1
1

Because I searched for hours, I want to contribute what worked for me (Intel USB 3.0):

I simply upgraded to the latest official Xtion firmware from Asus, version 5.8.22. It seems to maintain both OpenNI 1.x and 2.x compatibility while solving the "bandwith" errors/code 10 on Windows.

0

I had the same error message. And I solved it by simply plugging the Xtion into a USB 2.0 port... But it seems you already tried that.

I didn't attempt to update the Xtion firmware, I plugged it into a USB 2.0 port which worked for me, but the link may be helpful for you.

2
  • No, this is not about USB 3.0 or resetting the asus firmware. The camera is working (tested on USB 2.0 on another system with same OS), but on this system, the USB2.0 port uses xhci_hcd, which seems to allocate too little bandwidth. On the working system, the USB2.0 port uses ehci_hcd, and the camera works. – user145709 Apr 11 '13 at 10:00
  • Hum... 2 more cents then: how about this work around: To blacklist xhci, create the file: /etc/modprobe.d/blacklist-xhci_hcd.conf and add this line to it: blacklist xhci_hcd or in one command: echo blacklist xhci_hcd | sudo tee /etc/modprobe.d/blacklist-xhci_hcd.conf (taken from here: bugs.launchpad.net/ubuntu/+source/linux/+bug/522998) – user981733 Apr 11 '13 at 10:40
0

You can follow these instructions:

http://www.pcl-developers.org/xhci-hcd-I-hate-you-USB-3-0-and-Primesense-Asus-Xtion-td5707949.html

This should help, if you have an USB3.0 Controller which has an separate USB2.0 controller. If not you won't see your USB3.0 Bus anymore when typing lsusb, if you have removed xhci_hcd. If this is the case you should add it again (in your /etc/modules) and remove it from the blacklist. (This was the case for me. Then the only thing you can do is buying a newer one. It seems like the newer ones are working better (but also only with Linux 3.4 and above) but I am not a 100% sure if this would definitely would work for you)

0

The instructions at http://www.pcl-developers.org/xhci-hcd-I-hate-you-USB-3-0-and-Primesense-Asus-Xtion-td5707949.html (blacklisting xhci_hcd and using ehci_hcd instead) did not work for me. When trying that, the camera would just not show up at all in dmesg.

Upgrading the camera firmware worked for me.

Details: https://github.com/nh2/asus-xtion-fix


Note that after the firmware upgrade, I only got the NiViewer of OpenNI 2 to work with it so far; the one from OpenNI 1 does not work (yet?).

0

on my machine, I fixed the problem by disabling the xHCI support and the EHCI Hand-off in the motherboard bios

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy