use azure kinect in WSL2

LeeSeHun 0 Reputation points
2024-01-19T03:13:19.47+00:00

#I am attempting to use Azure Kinect with WSL 2, and although I connected it to WSL using usbpid list, I couldn't use it.

In order to use azure kinect, it seems that these 5 rules must be satisfied.

ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097a", MODE="0666", GROUP="plugdev" ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097b", MODE="0666", GROUP="plugdev" ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097c", MODE="0666", GROUP="plugdev" ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097d", MODE="0666", GROUP="plugdev" ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097e", MODE="0666", GROUP="plugdev"

However, Windows only recognizes three of them, so we can't satisfy them. in window

BUSID VID:PID DEVICE STATE 2-1 046d:c534 USB 입력 장치 Not shared

2-5 048d:c102 USB 입력 장치 Not shared

2-10 8087:0033 인텔(R) 무선 Bluetooth(R) Not shared

4-1 045e:097d Azure Kinect 4K Camera Attached

4-2 045e:097c Azure Kinect Depth Camera Attached

6-3 045e:097e Azure Kinect Microphone Array, USB 입력 장치 Attached

in WSL2

Bus 002 Device 003: ID 045e:097c Microsoft Corp. Azure Kinect Depth Camera

Bus 002 Device 002: ID 045e:097d Microsoft Corp. Azure Kinect 4K Camera

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 002: ID 045e:097e Microsoft Corp. Azure Kinect Microphone Array

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Azure Kinect DK
Azure Kinect DK
A Microsoft developer kit and peripheral device with advanced artificial intelligence sensors for sophisticated computer vision and speech models.
294 questions
{count} votes

1 answer

Sort by: Most helpful
  1. LeelaRajeshSayana-MSFT 15,966 Reputation points Microsoft Employee
    2024-01-22T14:45:19.85+00:00

    Hi @LeeSeHun Greetings! Welcome to Microsoft Q&A forum. Thank you for posting this question here.

    It seems that you are having trouble using Azure Kinect with WSL 2. The issue you are facing is that the required udev rules for Azure Kinect are not recognized by Windows, so you cannot satisfy them. Here is something you can try to create the udev rules manually in WSL 2

    • Open a terminal in WSL 2 and create a new file called 99-azure-kinect.rules in the /etc/udev/rules.d/ directory:
    sudo nano /etc/udev/rules.d/99-azure-kinect.rules
    
    • Add the following lines to the file:
    SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097a", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097b", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097c", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097d", MODE="0666", GROUP="plugdev"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="097e", MODE="0666", GROUP="plugdev"
    

    These lines are the same as the udev rules you mentioned earlier, but with the BUSID attribute removed.

    • Save the file and exit the editor.
    • Reload the udev rules by running the following command:
    sudo udevadm control --reload-rules && sudo udevadm trigger
    
    • Unplug and replug the Azure Kinect device.

    Let us know if this helps in the comments.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.