WSL下使用USB/IP 连接 USB 设备

记录原因:想在WSL下使用HackRF,但是WSL并不具备连接USB设备的功能,查阅资料有一些教程提供的源码安装后使用USB的,但是过程都较为繁琐,我自己也没弄明白。最后在微软官网的WSL教程里找到了详细的USB设备连接方法在此做一下记录。
参考资料:
WSL官方文档–连接USB设备
CSDN-WSL2连接调用USB设备

系统配置

  • Windows 11
  • Ubuntu 20.04
  • WSL2内核版本5.15.90.1

步骤

Windows 下操作

安装usbipd

  1. 转到 usbipd-win 项目的最新发布页。
  2. 选择 .msi 文件,该文件将下载安装程序。
  3. 运行下载的 usbipd-win_x.msi 安装程序文件。

Linux 下操作

在 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设备

上述操作仅完成了软件的安装,还需要配置添加USB设备到Linux,注意在附加 USB 设备之前,请确保 WSL 命令行已打开。

  1. 通过以管理员模式打开 PowerShell 并输入以下命令usbipd wsl list,列出所有连接到 Windows 的 USB 设备:
    在这里插入图片描述
    图中的HackRF我已经成功连接到了Linux,它的状态就会改变否则就是显示Not attached。

  2. 选择要附加到 WSL 的设备总线 ID,然后运行usbipd wsl attach --busid <busid>命令。busid这里改为需要添加设备的BUSID。
    在这里插入图片描述

  3. 打开 Ubuntu(或首选的 WSL 命令行),使用lsusb命令列出附加的 USB 设备:
    在这里插入图片描述
    我再次使用hackrf命令就可以看到设备了。成功连接

注意事项:

每次关闭wsl或者与usb设备断开连接后,需要重新连接设备
有两种重新连接USB设备的方法:

  1. 运行管理员模式PowerShell,usbipd命令连接;
  2. Ubuntu的bash界面连接,输入以下指令:
usbip list -r $HOSTNAME.local     #查看已连接过的设备信息,如记得busid,该命令非必须执行命令
sudo usbip attach -r $HOSTNAME.local -b <busid>  #连接USB设备,注意替换<busid>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伊丽莎白鹅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值