首页 > 其他分享 >WSL2连接USB设备(以USRP B210为例)

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

时间:2024-07-11 23:07:49浏览次数:15  
标签:usbipd USB 为例 WSL 附加 B210 WSL2 设备

使用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)

标签:usbipd,USB,为例,WSL,附加,B210,WSL2,设备
From: https://www.cnblogs.com/n0ne/p/18297345

相关文章

  • usbserver工程师手记(三)手工开通 OTP功能
    1、设定密钥,用户自行选择一个密钥,以下以密钥为EAZAYOKNGETBOPC5为例说明2、usbserver配置otp密钥,目前还没有UI界面开通,后续版本会支持从管理界面开通curl-XPOST-H'Content-Type:application/json'-H'Accept:application/json'-i'http://localhost/api7001/set_op......
  • 无法识别的usb设备怎么解决?分享6个小技巧,快速解决
    USB设备是我们日常生活和工作中经常使用的外设之一,如U盘、键盘、鼠标、打印机等。有时我们会遇到USB设备无法识别的问题。这不仅影响工作效率,还可能导致数据丢失。本文将详细探讨USB设备无法识别的原因及其解决方法。摘要USB设备无法识别的原因及解决方法如下:1、硬件故障:......
  • 回溯算法-以学生就业管理系统为例
    1.回溯算法介绍1.来源回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。用回溯算法解决问题的一般步骤:1、针对所给问题,定义问题的解空间,它至少包含问题的一个(最优)解。2、确定易于搜索的解空间结构,使得能用回溯法方便地搜索整个解空间。3、以深度优先的方式搜索......
  • 使用资源编排 ROS 轻松部署单点网站——以 WordPress 为例
    介绍WordPress是一款免费开源的网站内容管理系统(CMS),它可以帮助用户简单快捷地创建和管理自己的网站,包括博客、新闻网站、电子商务网站、社交网络等等。WordPress有丰富的主题和插件库,使得用户可以轻松地为网站定制外观和功能。WordPress的易用性和可扩展性使其成为世界上最受欢......
  • USB 速率识别过程(low speed、full speed 和high speed)
    设备速度识别1FS/LS设备识别USB采用在D+或D-线上增加上拉电阻的方法来识别低速和全速设备。当USB主机探测到D+/D-线的电压已经接*高电*,而其它的线保持接地时,它就知道全速/低速设备已经连了。2HS设备识别为识别出高速设备,需要在上拉电阻和D+线之间连接一个由软件控制的开关......
  • ESP32S3 N16R8, USB_STREAM UVC调试记录
    win10,vscode,idf-5.2.1,usb_stream开发板:酷世Audio800*480开发板,NT53310+GT911参考phripherals/lcd/i80-controller与usb/host/usb_camera_lcd_display编写程序出现报错:I(11034)USB_STREAM:ENUMStageSTART,SucceedI(11044)USB_STREAM:ENUMStageGET_SHORT_DE......
  • 手动配置软件源(以 openSUSE Leap 为例,添加科大、清华源,解决openSUSE Leap播放不了哔哩
    手动配置软件源(以openSUSELeap为例,添加科大、清华源)(参考http://mirrors.ustc.edu.cn/help/opensuse.html)注意以下配置方法适用于从未自行配置软件源的用户,其他用户请根据具体情况自行配置,以下仅供参考。确认当前配置的软件源:sudozypperlr-d禁用原有软件源:sudozyppe......
  • windows USB 设备驱动开发- 不同模型下的控制传输
    在不同的模型下,USB控制传输会有不同的特点,但是任何控制传输的目标都始终是默认端点。接收者是设备的实体,其信息(描述符、状态等)是主机感兴趣的。请求可进一步分为:配置请求、功能请求和状态请求。发送配置请求以从设备获取信息,以便主机可以对其进行配置,例如GET_DESCRIPTOR请求......
  • windows USB 设备驱动开发- USB管道的通讯(一)
    WindowsWDF框架提供一个名为连续读取器的专用对象。此对象使USB客户端驱动程序能够连续读取批量和中断终结点中的数据,只要有数据可用。若要使用读取器,客户端驱动程序必须具有与驱动程序从中读取数据的终结点关联的USB目标管道对象的句柄。终结点必须位于活动配置中。......
  • 动态规划算法-以中学排班管理系统为例
    1.动态规划算法介绍 1.算法思路动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问......