手把手教WSL如何访问宿主机USB设备


自从windows推出的WSL功能,对广大的Linux和嵌入式开发者来说是巨大福利,基本可以媲美日常vmware虚拟机的替换。但WSL还是存在一些不足,其中两点比较重要:

  1. WSL环境如何访问宿主机的USB设备?
  2. WSL如何通过宿主机网卡访问外部设备?
    做到这两点,基本可以跟vmware说Byebye,当然完全替代可能差点意思,毕竟WSL不是桌面系统,但进行大部分日常工作基本没问题。
    本文主要介绍第一点“WSL环境如何访问宿主机的USB设备?”

笔者使用环境为WSL2,版本参考如下:

wsl --version
WSL 版本: 2.0.9.0
内核版本: 5.15.133.1-1
WSLg 版本: 1.0.59
MSRDC 版本: 1.2.4677
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22621.2428

工具安装

window安装usbipd工具

  1. usbipd下载安装:
    这款工具从4.0.0从版本之后,使用的命令有所变化,这里需要看你下载哪个版本,
    目前网上大部分教程都是旧版本的使用方法,大家这里要注意避坑,笔者因这个地方被折腾许久,本文会对两个版本的使用方法都进行讲解。
    点击到[官网下载]并执行安装。
    或者powershell下执行,会默认会安装最新版本。

    winget install --interactive --exact dorssel.usbipd-win
    
  2. 安装完成后,可以查看版本:

    usbipd --version
    

WSL usbip安装

sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20         # *为版本号

Setup

使用usbipd工具分>=4.0.0和<4.0.0版本,这里分开说明。

window(Version>=4.0.0)

  1. 管理员启动powershell(注意要**管理员权限**)

  2. 输入命令,查看usb列表,这里我使用的busid为6-1, 可以看到对应的usb设备状态为not shared。

usbipd list

在这里插入图片描述

  1. 将对应的usb设备共享,执行如下,可以看到状态变为shared
usbipd bind --busid 6-1
usbipd list

在这里插入图片描述

  1. 将usb设备附加到wsl中,可以看到状态变为attached,表示挂接成功。
usbipd attach --wsl --busid  6-1
usbipd list

在这里插入图片描述

window(Version<4.0.0)

如果usbipd版本小于4.0.0,需要增加wsl参数, 过程与上述类似,按如下方式:

  1. 管理员启动powershell(注意要管理员权限
  2. 查看usb列表的busid
    usbipd wsl list
    
  3. 将对应的usb busid挂接到wsl,执行后记得看下state状态是否正常。
    usbipd wsl attach --busid <busid>
    

WSL

如果挂接上,wsl就可以正常使用usb了,执行lsusb 可以看到新增的设备以及新增的tty,这里的tty是我的usb串口设备。

至此,大功告成,愉快的玩耍起来吧 _
在这里插入图片描述


卸载

如果需要卸载改usb设备连接,在window执行。

```
usbipd detach --busid 6-1
usbipd  unbind --busid 6-1
```
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值