WSL2链接USB设备

前段时间由于经常需要在win环境下工作,同时需要使用服务器,再使用双系统ubuntu多多少少有些不方便,所以接触到了wsl这个轻量级虚拟机,感觉非常好用。但是wsl本身是不支持USB设备的,所以需要操作一下来使用接入win的USB设备。

本文大部分内容来自微软官方文档:连接 USB 设备 | Microsoft Learn

首先实现这个的先决条件是:

  • 运行 Windows 11 (内部版本 22000 或更高版本) 。 (可提供 Windows 10 支持)
  • 需要具有 x64/x86 处理器的计算机。 (arm64 目前不支持 usbipd-win) 。
  • Linux 发行版已安装并设置为 WSL 2
  • 运行 Linux 内核 5.10.60.1 或更高版本

win10版本可以参考官网相关部分,我这里是win11、wsl2、ubuntu18.04都满足上述要求。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定” 。 可通过选择“开始”>“设置”>“Windows 更新”>“检查更新”来更新到最新的 Windows 版本。 若要检查 Linux 内核版本,请打开 Linux 发行版并输入命令:uname -a。 若要手动更新到最新内核,请打开 PowerShell 并输入命令:“wsl --update”。

一、安装 USBIPD-WIN 项目

需要安装开源 usbipd-win 项目。

        下载软件 usbipd-win 项目的最新发布页。 

        或者,使用命令 安装 usbipd-win(win命令行运行)

winget install --interactive --exact dorssel.usbipd-win 

二、在 Linux 中安装 USBIP 工具和硬件数据库

在wsl中的ubuntu运行:

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20

三、添加USB设备到ubuntu

在添加之前,首先保证wsl中的ubuntu系统在运行中

通过以管理员模式打开 PowerShell 并输入以下命令(win系统命令行):

usbipd wsl list

这里我一开始没有用管理员权限的Powershell运行的的代码(主要觉得管理员模式下窗口UI太丑)直接打开PowerShelll用的,报错usbipd:无法将“usbipd”项识别为cmdlet、函数、脚本文件或可运行程序的名称........

这个报错让我怀疑是不是之前没有装好usbipd,重装来重装去还是没有解决,最后发现只要是进入管理员权限就好了。

后来试了一下,win+R输入cmd出来的命令行没问题也可以使用。

最后一步就是用这个命令将设备添加到wsl中(win命令行):

usbipd wsl attach --busid <busid>

这个busid就是之前使用list那行指令查询出来的USB设备列表里的首列数据,比如我的三个USB设备对应1-5  1-7  1-8.

最后命令输入就类似于usbipd wsl attach --busid 1-5  这样。

最后可以在ubuntu里面使用lsusb查看一下设备是否添加进来了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值