Software & AppsOperating SystemLinux

How To Fix “usbipd not found for kernel” Error in WSL2

Ubuntu 20

In this guide, we will explore how to fix the “usbipd not found for kernel” error in Windows Subsystem for Linux 2 (WSL2). This error typically occurs when attempting to use USB/IP with WSL2, and the system is unable to locate the appropriate linux-tools package for the kernel version. Let’s dive into the possible solutions to this issue.

Quick Answer

To fix the "usbipd not found for kernel" error in WSL2, you can try updating the WSL2 kernel, building your own kernel (advanced), using alternative packages like linux-tools-generic or linux-cloud-tools-generic, or checking package availability in the repository.

Understanding the Issue

The error message “usbipd not found for kernel” is a clear indication that the system is unable to locate the usbipd executable for the current kernel version. This executable is usually provided by the linux-tools package corresponding to the kernel version. However, in this specific case, the package linux-tools-5.10.16.3-microsoft-standard-WSL2 is not available in the package repository.

Possible Solutions

1. Update WSL2 Kernel

The first step to resolving this issue is to ensure you are running the latest WSL2 kernel version. This can be done by running the following command in an Administrator PowerShell:

wsl --update

This command updates the WSL2 kernel to the latest version. Once the update is completed, restart WSL with the following command:

wsl --shutdown

This command shuts down all running WSL2 instances, effectively restarting WSL2.

2. Build Your Own Kernel

If you are comfortable with building your own kernel, this could be a viable solution. This involves building the WSL2 kernel from the sources and specifying the WSL2 kernel config options. However, this is a more advanced option and may not be necessary for most users. For more information on building your own kernel, you can refer to the WSL2 Kernel Source Code on GitHub.

3. Use Alternative Packages

Instead of the specific package mentioned (linux-tools-5.10.16.3-microsoft-standard-WSL2), you can try installing the more general packages linux-tools-generic or linux-cloud-tools-generic. These packages provide a set of tools for working with the kernel and may include the necessary components for USB/IP support.

To install these packages, you can use the following commands:

sudo apt-get update
sudo apt-get install linux-tools-generic
sudo apt-get install linux-cloud-tools-generic

4. Check Package Availability

Lastly, it’s always a good idea to double-check the package availability in the package repository. This can be done by running the following commands:

apt search linux-tools
apt search linux-cloud-tools

These commands will show you the available packages for your kernel version, and you can choose the appropriate one to install.

Conclusion

The “usbipd not found for kernel” error in WSL2 can be a bit tricky to resolve, as the specific linux-tools package for the kernel version may not be available in the repository. However, by updating the WSL2 kernel, building your own kernel, using alternative packages, or checking package availability, you should be able to resolve this issue and continue using USB/IP with WSL2.

What is WSL2?

WSL2 stands for Windows Subsystem for Linux 2. It is a compatibility layer provided by Microsoft that allows running a Linux environment directly on Windows 10 or Windows Server 2019.

How do I check my WSL2 kernel version?

You can check your WSL2 kernel version by opening a WSL2 terminal and running the command uname -r. This will display the kernel version currently running in your WSL2 environment.

Can I update the WSL2 kernel manually?

No, you cannot update the WSL2 kernel manually. The WSL2 kernel is managed and updated by Windows Update. You can update the WSL2 kernel by running the command wsl --update in an Administrator PowerShell.

Can I use USB/IP with WSL2?

Yes, USB/IP can be used with WSL2. However, the specific linux-tools package required for USB/IP may not be available in the package repository. In such cases, alternative packages or building your own kernel may be necessary.

How do I install packages in WSL2?

Packages can be installed in WSL2 using the package manager of your Linux distribution. For example, in Ubuntu, you can use the apt-get or apt command to install packages. Remember to run sudo apt-get update before installing packages to ensure you have the latest package information.

Where can I find more information on building my own WSL2 kernel?

More information on building your own WSL2 kernel can be found in the WSL2 Kernel Source Code repository on GitHub. This repository provides detailed instructions and resources for building the WSL2 kernel from the sources.

Leave a Comment

Your email address will not be published. Required fields are marked *