microsoft / Azure-Kinect-Sensor-SDK

A cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device.
https://Azure.com/Kinect
MIT License
1.49k stars 619 forks source link

On Linux the device doesn't enumerate if the power is connected second #375

Closed DerekMa-WP closed 5 years ago

DerekMa-WP commented 5 years ago

Describe the bug If the power is connected second, a Linux system won't recognize the attached device.

To Reproduce

  1. Connect a USB-A to C cable to the computer and plug it into the device.
  2. Connect the power cable to the device.
  3. Use the AzureKinectFirmwareTool to list the device.
  4. The tool says no devices are connected.

Expected behavior The order of the USB vs Power shouldn't matter and the device will enumerate if both cables are connected.

Desktop (please complete the following information):

DerekMa-WP commented 5 years ago

This appears to only affect one of my computers. The other computer everything works as expected. One other side effect is that instead of giving an error about not being able to open the device when running without the power connection, it just doesn't show up. In addition after the Firmware Update step where the device is rebooted, the device never enumerates.

DerekMa-WP commented 5 years ago

This is a computer with an Asus P8Z77-V PRO/THUNDERBOLT motherboard. The USB ports that are exhibiting this behavior are from the Intel Z77 chipset and they are USB 3.1 Gen 1 ports.

The motherboard also has an ASMedia host controller, however those ports do not work at all. Plugging a device into them appears to make the controller non-responsive.

For this bug we need to investigate what is happening during the power on cycle with the Intel Z77 chipset.

DerekMa-WP commented 5 years ago

USB View when the Kinect is working: Kinect in Good State

USB View when the Kinect is not working: Kinect in bad state

It looks like the USB hub in the device is enumerating, but that the devices downstream of that are not.

wes-b commented 5 years ago

I can't repro this. Lets treat this as a one off issue until we get a signal this is happening on more than 1 PC.

lianghongzhuo commented 3 years ago

I also have this problem. When Azure Kinect died (it died quite ofen), I have to unplug the power and USB, and first plug in the power adapter, second plug in the USB to the pc. The other way around will lead to unable to start the camera. The USB cable is a custom 3-meter usb-c to USB-A cable. (I'm using ubuntu 18.04 with ros)