WSL2连接USB设备(以USRP B210为例)

wsl2,usb,usrp,b210 · 浏览次数 : 12

小编点评

在WSL2中使用USRP B210设备进行连接,可以按照以下步骤进行: 1. 下载USRP B210的.msi安装文件: - 访问USBIPD-WIN项目的最新发布页面。 - 选择合适的.msi文件进行下载。 2. 安装USRP B210: - 运行下载的安装程序文件。 - 接受许可协议和选项设置。 3. 在Windows中检查USBIPD服务的状态: - 打开“服务”应用程序。 - 搜索“usbipd”服务。 - 确保服务正在运行,并且状态为“自动”。 4. 创建USBIPD防火墙规则: - 使用Windows的“控制面板”->“系统和安全”->“Windows Defender防火墙”->“高级设置”。 - 创建一个新的入站规则,允许USBIPD服务接收数据。 5. 在WSL中附加USB设备: - 打开WSL的终端。 - 使用`lsusb`命令列出所有连接的USB设备。 - 选择要附加的设备,并获取其BUSID(总线ID)。 - 使用`usbipd bind --busid `命令共享设备。 - 使用`usbipd attach --wsl --busid `命令附加设备。 6. 在WSL中使用附加的USB设备: - 完成设备使用后,可以使用`lsusb`命令验证设备是否已附加。 - 如果需要断开设备,可以使用`usbipd detach --busid `命令。 7. 断开USB连接: - 在完成设备使用后,可以物理断开USB设备,或者从PowerShell运行`usbipd detach --busid `命令。 请注意,上述步骤是基于USRP B210设备的示例。实际操作中,可能需要根据具体的设备和WSL版本进行调整。如果遇到问题,建议查阅相关文档或寻求社区支持。

正文

使用WSL2时,发现其无法直接识别到宿主机上插入的USB设备。

可利用USPIPD-WIN项目进行连接。

以下以USRP B210设备连接为例,展示连接过程:

安装USBIPD-WIN 项目

参考连接 USB 设备 | Microsoft Learn,我选择通过.msi文件安装:

  1. 转到 usbipd-win 项目的最新发布页
  2. 选择 .msi 文件,该文件将下载安装程序。 (你可能会收到一条警告,要求你确认你信任此下载)。
  3. 运行下载的 usbipd-win_x.msi 安装程序文件。(选最新版就行)

最终获得:

  • 名为 usbipd 的服务(显示名称:USBIP 设备主机)。 可使用 Windows 中的“服务”应用检查此服务的状态。
  • 命令行工具 usbipd。 此工具的位置将添加到 PATH 环境变量。
  • 名为 usbipd 的防火墙规则,用于允许所有本地子网连接到服务。 可修改此防火墙规则以微调访问控制。

在安装完USBIPD-WIN项目后,基本已经可以直接进行附加USB设备的流程了,但如果WSL2版本较老,或需要特殊设备的驱动,则可能需要升级WSL2版本或编译内核。(详见WSL support · dorssel/usbipd-win Wiki (github.com))

运行 WSL 内核 5.10.60.1 或更高版本的最新 Windows 版本已经支持 USB 转串口适配器和闪存嵌入式开发板等常见应用。只有在需要特殊驱动程序时,才需要为 WSL 2 构建自己的内核。

附加 USB 设备

在附加 USB 设备之前,请确保 WSL 命令行已打开(确保WSL2保持活动状态)。

以下命令(除第4步外)在管理员模式下 的PowerShell中运行(实际上,只有第二步需要管理员权限,而第二步共享过一次后似乎会一直保持共享状态,之后可以跳过此步,也无需使用管理员模式):

  1. 先列出所有连接到 Windows 的 USB 设备。 列出设备后,选择并复制要附加到 WSL 的设备总线 ID(使用BUSID字段即可)。

    udbipd list
    

  1. 在附加 USB 设备之前,必须使用命令 usbipd bind 来共享设备,从而允许它附加到 WSL。 这需要管理员权限。 选择要在 WSL 中使用的设备总线 ID,然后运行以下命令。 运行命令后,请再次使用命令 usbipd list 验证设备是否已共享。

    由图可知,USRP B210设备的BUSID为2-1,故运行:

    usbipd bind --busid 2-1
    

    对于某台设备,似乎是执行过一次该命令后便持久有效,重新插入设备或重启主机之后依然为Shared状态

  2. 若要附加 USB 设备,请运行以下命令。 (此处无需管理员权限)请注意,只要 USB 设备连接到 WSL,Windows 将无法使用它。 附加到 WSL 后,任何作为 WSL 2 运行的分发版本都可以使用 USB 设备。 使用 usbipd list 验证设备是否已附加。

    usbipd attach --wsl --busid 2-1
    

    执行完后设备的状态转变为Attached

  3. WSL2下,运行以下命令列出附加的USB设备:

    lsusb
    

  4. 在 WSL 中完成设备使用后,可物理断开 USB 设备,或者从 PowerShell 运行此命令:

    usbipd detach --busid 2-1
    

参考资源

连接 USB 设备 | Microsoft Learn

WSL2连接USB存储设备(保姆级教程,真正做到你奶奶来了也能成功)_wsl2 usb-CSDN博客

WSL support · dorssel/usbipd-win Wiki (github.com)

与WSL2连接USB设备(以USRP B210为例)相似的内容:

WSL2连接USB设备(以USRP B210为例)

使用WSL2时,发现其无法直接识别到宿主机上插入的USB设备。 可利用USPIPD-WIN项目进行连接。 以下以USRP B210设备连接为例,展示连接过程: 安装USBIPD-WIN 项目 参考连接 USB 设备 | Microsoft Learn,我选择通过.msi文件安装: 转到 usbipd

穿透 wsl 和 ssh, 新版本 neovim 跨设备任意复制,copy anywhere!

最近一个星期,我入坑了 neovim, 然后开始配置各种插件。同一个时间点,我入手了一台 surface go2, 这是个 Windows 平板,我在上面也是装好了各种软件,配置了 wsl2, 并且配置了 ssh。然后我发现当我 ssh 连接到宿舍的高性能笔记本的时候,我打开 neovim 时候无法...

一个与 WSL2 建立远程的简单方法

前言 众所周知,windows 会通过虚拟交换机给本机和 wsl2(Linux 子系统)分别分配 ip。于是本机重启或重启 wsl 服务的时候会重新分配 ip。之前所作的端口转发,监听之类的都会失效。 而如果你搜索 “如何固定 wsl 的 ip”,又会得到一系列复杂的配置方法。 且不说是否有用,但这

解决WSL2无法启动提示“找不到元素”

最近一段时间没有看 docker desktop,忽然想起来打开看看,结果死活启动不了。以前卸载之后,重新安装就好了,同样的方法尝试了很多次还是不太行,重启也不行... 后来想想是不是 wsl 出了问题,运行 WSA ,WSAClient 启动后又自动退出了。在命令行下运行 wsl,等待了很久,出现

win11安装ubuntu(by wsl2)

记录windows上通过wsl2安装ubuntu的过程,并安装docker验证系统是否符合预期

Win11系统下的MindSpore环境搭建

本文介绍了一个在Win11系统下,通过WSL2+Docker+VSCode的方案搭建了一个mindspore-gpu的编程环境。这种方案既可以实现Linux系统编程以及部署的便捷性,又可以兼顾Windows系统强大的办公软件生态,甚至还可以借助Docker达到一定的软件可迁移性和可复制性。

Boost程序库完全开发指南:1-开发环境和构建工具

Boost官方于2019年12月发布的1.72版编写,共包含160余个库/组件,涵盖字符串与文本处理、容器、迭代器、算法、图像处理、模板元编程、并发编程等多个领域,使用Boost,将大大增强C++的功能和表现力。环境:Windows 10,WSL2,Ubuntu 20.04 LTS,Rider(WS

windows 10 家庭版安装Docker和portainer汉化版

前景提要 这个笔记本是华为的Matebook14,本着原装系统比较稳定的原则,没有对其进行个人安装操作系统,但是对系统进行了升级,升级成了企业版,但是,目前看来内核还是原来的家庭版,这个安装起windows十分的费劲. 安装最新版的Docker需要wsl 2 ,按照百度到的方式,每次都会显示操作成功