Allocate two Kinects to each USB High-Speed Bus

    Feb 22 2013 | 4:13 pm
    I am connecting two Kinect sensors to my Mac Pro. Mac Pro has two USB High-Speed Bus. So I try to connect two Kinects to each different High-Speed Bus in order to both run on a same patch. I use jit.freenect to connect two Kinects at the same time. however, this is not easy to allocate buses for sensors for both working on the patch at the same time, because Kinect is usually be connected to a normal USB Bus. so I have to keep trying to power on/off , plug USB in/out to allocate sensors to each different USB High-Speed Bus.
    Is there a way to designate each Kinect to each different USB High-Speed Bus? on the patch, or setting a system setting? I was thinking to buy a USB 2.0 PCI-E card to have substitute USB High-Speed Buses. But will this really help my issue?

    • Feb 23 2013 | 10:32 am
      Not sure what the problem is exactly. USB ports on your MacPro are physically connected to a bus. That doesn't ever change. So if you have 2 USB ports that you know are connected to 2 different busses, that's all you need to know, right? Which ports are on which bus can be verified in System Profiler. Plug in some USB devices and check on which bus they show up.
    • Feb 23 2013 | 4:05 pm
      yes, I check on the System Profiler while I plug in two Kinects to see which busses are connected. Apparently, two kinects at the same time on jitter with jit.freenect only be turned on together when they both are connected to USB High-Speed Buses. I have to keep switching USB connector to make High-Speed Bus to Kinect, since Mac Pro appears to allocate USB High-Speed Bus with unknown order.. Sometimes the same USB port is being connected to normal USB Bus or High-Speed Bus. It is a tedious process to make the right connection at the beginning for running the patch. So I have been thinking if an extra USB 2.0 PCI-E card provides more High-Speed Buses to increase the chance to set a right connection for both Kinects. Maybe I am wrong?
    • Feb 23 2013 | 8:22 pm
      This MacPro behavior seems strange. I don't have 1 to verify though. Is it perhaps due to the Kinect driver you're using?
      If its a MacPro problem then getting a PCIe card could very well solve it. Make sure you get 1 where each USB port is on its own USB-bus. Cheaper cards will have 1 shared USB-bus for all the USB ports on the card.
      I have this firewire+usb card that has separate busses for each port. The usb ports never worked on my hackintosh though. You might have more luck with your genuine Mac.
    • Feb 23 2013 | 8:34 pm
      Out of curiosity, are you extending the Kinect's USB cable? If so, how?
    • Feb 24 2013 | 1:21 pm
      thank dtr. I need to try an extra USB2.0 PCI-e card.
      when I need to extend the length of Kinect's USB cable, I use a USB repeater cable. of course with the kinect power adapter.
    • Feb 24 2013 | 3:30 pm
      Slightly O/T I want two kinects as well but I haven't got a PCI-e card slot (2011 MBP).
      I'm not actually using the rgb feed, just the depth cam - if I disable the rgb (I'm not actually sure you can do this with jit.freenect?) would that mean I could use 2 kinects on one usb bus?
      Anyone know if jit.openni works with multiple kinects?
      I haven't actually got the 2nd kinect yet but it'd be good to know.
    • Feb 24 2013 | 10:38 pm
      The reason I asked is that you need to use an active repeater to support the high speed/power requirements. If you're not using an active repeater this could be the cause of your problems. Active repeaters are available up to 25m.
      For long extensions up to 100m I use a CAT5x converter - here's one that I've used that works perfectly.
    • Feb 24 2013 | 11:10 pm
      ^ Probably this.
      There should be no problems connecting to different busses on the MP, provided they are separate full-spec (inc power reqs) USB Hubs, and I would presume the MP has at least two if not more.
      Obviously, hubs (busses) != ports . . . which I'm sure the OP understands, just mentioning for completeness.
    • Feb 25 2013 | 4:12 am
      Yes, Jesse. That USB repeater is just like what I am using. I only need 20m, and it ables to connect kinnect to my Mac Pro. It is just sometimes difficult to be allocated with USB High-Speed Bus. It its usually be connected to a normal USB port. I don't understand why Kinect only works with High-Speed Bus though.
    • Feb 25 2013 | 8:40 am
      It's because of the data rate of the Kinect itself. It's very odd to me that the Mac Pro would not connect at USB 2.0 speeds to the Kinect at all times if the cabling is right. Have you seen this behavior with the Kinect directly attached to the computer?
      AFAIK all of the USB ports on a Mac Pro are USB 2.0 capable. If the system profiler is showing ports running at USB 1.1 speeds then that could be due to incorrect negotiation on the USB bus between the computer and the device itself.
    • Feb 25 2013 | 11:01 am
      this happens both Kinect with and without the repeater. I see all devices are running in USB 2.0 though.