"usbipd not found for kernel" when using USB/IP with WSL

All we need is an easy explanation of the problem, so here it is.

I am trying to attach a USB device to my Ubuntu 20.04 distribution running under WSL2.

The problem is that when I run the usbip command, it gives the following message:

WARNING: usbipd not found for kernel 5.10.16.3-microsoft

  You may need to install the following packages for this specific kernel:
    linux-tools-5.10.16.3-microsoft-standard-WSL2
    linux-cloud-tools-5.10.16.3-microsoft-standard-WSL2

  You may also want to install one of the following packages to keep up to date:
    linux-tools-standard-WSL2
    linux-cloud-tools-standard-WSL2

I tried doing:

$ sudo apt install linux-tools-5.10.16.3-microsoft-standard-WSL2

… but that doesn’t work. It returns the following:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-tools-5.10.16.3-microsoft-standard-WSL2
E: Couldn't find any package by glob 'linux-tools-5.10.16.3-microsoft-standard-WSL2'

I have been Googling how to install them, but I can’t find anything about this.

NOTES:

  • Ubuntu installation has been installed around 2 months ago.
  • I am using WSL2
  • uspip is called by usbipd wsl attach -b 2-2 from PowerShell because I am trying to attach a USB device to Ubuntu
  • Kernel version 5.10.16.3-microsoft-standard-WSL2

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

From the WSL2 USB/IP Prerequisites, you’ll need the WSL2 5.10.60.1 kernel or higher. That’s the first release that added USB/IP support.

Assuming that you are running Windows 11, you can simply wsl --update from an Administrator PowerShell in order to pull in the latest. Then wsl --shutdown and restart.

You could also build your own from the WSL2 kernel sources (making sure to specify the WSL2 kernel config options), but most people won’t need to go this route.

Note that if you are running Windows 10, different directions will apply.

Continue following the directions on the previously linked doc, and you’ll see that the packages you need installed are:

sudo apt install linux-tools-5.4.0-77-generic hwdata

Finally, sudo visudo per the instructions to add the correct /usr/lib/linux-tools/5.4.0-77-generic directory to the beginning of the sudo secure_path.

At that point, the PowerShell usbipd wsl attach should work.

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply