极智开发 | 让wsl2读取宿主机usb设备

news2024/11/25 22:36:56

欢迎关注我的公众号 [极智视界],获取我的更多经验分享

大家好,我是极智视界,本文介绍一下 让wsl2读取宿主机usb设备的方法。

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq

默认安装的 wsl2 是不支持读取宿主机的 usb 设备的,这里就是要解决这个问题

前提条件

  • win11 的版本需要 >= Build 22000,win10 也有可能支持; ==> 查看版本的方法:win键 + R,输入 winver;

  • 需要是 x64/x86 处理器的机器,目前 usbipd-win 是不支持 Arm64 的,至于 usbipd-win 是什么,咱们后面再说;
  • 已经安装了 wsl2,注意版本是 2;

  • linux 内核 >= 5.10.60.1; ==> uname -a

安装 USBIPD-WIN

wsl2 本身是不支持连接 usb 设备的,因此需要安装一下 usbipd-win 这个项目来帮助在 wsl2 中共享到宿主机的 usb 设备。

安装 usbipd-win 的方法如下:

  • 下载 usbipd-win 的安装镜像,获取:链接
  • 下载好后,直接双击进行安装就行

安装的过程很简单,但是也需要说明一下到底安装了些什么东西,主要做了下面几个事情:

  • 安装了 "USBIP 设备主机" 的服务 usbipd; ==> 可以通过 win + S,输入服务来找到;
  • 可执行程序 usbipd,并自动添加到了系统环境变量中;
  • 调用了防火墙规则 usbipd 来允许所有的本地子网络能够连接到服务;

wsl2 中安装 USBIP 工具

如果你的 wsl2 是 ubuntu 的,可以使用如下命令:

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

wsl2 连接宿主机 USB 设备

首先打开 wsl2,比如我的 ubuntu20.04,点击打开让它保持活跃状态。

然后回到 windows,按 win +X,选择管理员权限打开终端,用如下命令查看所有连接到 windows 的 USB 设备:

usbipd wsl list

这个时候会列出连接在 windows 机器上所有的 USB 设备, 比如我的:

这里需要关注的就是两列,分别是 BUSID 和 STATE,BUSID 就是每个 USB 设备的唯一 ID,STATE 就是 USB 设备的状态,如果是 Not attached,那就是还没有挂载到 wsl2 中。

接下来要做的就是把自己想要的 USB 设备挂载到 wsl2,那么如何确定哪个 BUSID 的 USB 设备是自己想要挂载的那个呢,其实做法很简单,插拔看一下就行。比如我这里插拔后确认 BUSID 为 3-1 的 USB 设备是我想要挂载的,那么就可以使用如下命令进行挂载到 wsl2:

usbipd wsl attach --busid 3-1

需要注意的是,这里可能会提示你要升级一下 wsl,那么直接 wsl --update 就行了。

然后可以先在宿主机上还是使用刚才的命令 usbipd wsl list 查看一下 STATE,比如我的:

然后转到 wsl2 中,使用如下命令可以查看已经链接的 USB 设备:

lsusb

这样就大功告成了。

好了,以上分享了 让wsl2读取宿主机usb设备的方法,希望我的分享能对你的学习有一点帮助。


【极智视界】

《极智开发 | 让wsl2读取宿主机usb设备》

畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球,星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq

​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高效处理消息:使用Spring Boot实现消息重试机制

当涉及到消息发送和接收的可靠性,Spring Boot提供了一些机制来确保消息的可靠传递。其中包括消息确认机制和重试机制。下面是一个示例代码,演示如何在Spring Boot中实现可靠的消息发送和接收。 首先,我们需要配置RabbitMQ的连接信息和相关属性…

58 KVM工具使用指南-应用 LibcarePlus 热补丁

文章目录 58 KVM工具使用指南-应用 LibcarePlus 热补丁58.1 前期准备58.2 加载热补丁58.3 查询补丁58.4 卸载热补丁 58 KVM工具使用指南-应用 LibcarePlus 热补丁 本节以原文件 foo.c 和补丁文件 bar.c 为例,介绍 LibcarePlus 热补丁的应用指导。 58.1 前期准备 …

小小面试题之赛马问题

各家大厂面试时都喜欢出一些逻辑题,简单的考验一下应试者的逻辑思维能力。 题目是:现在有64匹赛马和8条赛道,最少需要多少轮比赛才能选出最快的4匹马。 依据现实情况来说,这个问题很好回答。需要经过小组赛,16强赛&am…

王道操作系统学习笔记(2)——进程管理

前言 本文介绍了操作系统中的进程管理,文章中的内容来自B站王道考研操作系统课程,想要完整学习的可以到B站官方看完整版。 二:进程管理 2.1.1:进程的概念、组成、特征 程序:是静态的,就是存放在磁盘里的…

【好书精读】网络是怎样连接的 —— UDP 协议的收发操作

( 该图由我使用 AI 绘制 ) 目录 不需要重发的数据用 UDP 发送更高效 控制用的短数据 音频和视频数据 不需要重发的数据用 UDP 发送更高效 DNS 服务器查询 IP 地址的时候我们用的是 UDP 协议 简单的说就是,TCP之所以复杂,是…

3-css高级特效-1

01-平面转换 简介 作用:为元素添加动态效果,一般与过渡配合使用 概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜) 平面转换也叫 2D 转换,属性是 transform 平移 transform: translate(X轴移动距…

Jetpack Compose 入门难点解疑

作者:晴天小庭 近些年声明式布局开发方式逐渐从网页端延展到了手机端,说到底还是声明式太香了,其代码更加清晰、简洁,并且更接近于自然语言的表达方式。这使得代码易于理解和维护,降低了开发人员的心智负担。 谷歌和苹…

【c语言12】字符串函数(strlen,strcmp,strcpy,strcat,strstr,strtok,strerror)

文章目录 一、字符串函数1.1strlen(求字符串长度)1.2strcmp(比较字符串)1.3strcpy(拷贝字符串)1.4strcat(追加字符串)1.5strstr(判断子串)1.6sttok&#xff0…

【C/C++】使用类和对象 封装链表

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

SpringMVC全套详解

1、SpringMVC是什么1.1、MVC定义1.2、MVC和 SpringMVC的关系2.创建SpringMVC项目 2.1、SpringMVC 链接2.2、RequestMapping 注解说明2.3 、 GetMapping 和 PostMapping 3、获取参数3.1、传递单个参数3.2、传递多个参数/表单参数传递3.3、传递对象3.4、后端参数重命名(后端参数映…

C语言笔记-1

文章目录 C 基础语法注意 C 其他知识点编译过程编译器数据模型区别32/64位机器中&#xff0c;各数据类型所占位数assert() 断言&#xff08;宏&#xff09;用法总结与注意事项 C 基础语法 注意 if(a表达式) 判断的就是a的值&#xff0c;而不是判断这个赋值操作的成功与否。 查…

老天如果给我一次重来的机会,我还会选测试

在我们选择测试这行前&#xff0c;想象总是美好&#xff0c;然而现实无比扎心。 在办公环境上 想象中&#xff1a;美女&#xff08;帅哥&#xff09;环绕&#xff0c;前卫时尚&#xff0c;拥有独立办公间&#xff0c;没事转转座椅&#xff0c;偶尔来点咖啡和音乐。 现实中&…

【数据结构与算法C++实现】2、二分查找

原视频为左程云的B站教学 1 在有序数组中查找特定元素 基本思想是通过比较中间元素与目标元素的大小关系&#xff0c;将查找范围缩小一半&#xff0c;直到找到目标元素或查找范围为空为止。 时间复杂度O(logN) 因为比如说数组个数为N16, 最差的情况要分 4 次 ( [ 8 ∣ 8 ] →…

变化太快的Roop项目(版本1.0.1)

文章目录 &#xff08;一&#xff09;版本1.0.1的变化&#xff08;1.1&#xff09;项目依赖&#xff08;1.2&#xff09;模型位置&#xff08;1.3&#xff09;命令行&#xff08;1.4&#xff09;界面UI&#xff08;1.5&#xff09;处理与结果 最早的&#x1f517;接触和介绍&am…

带三维重建和还原功能的医学影像管理系统(pacs)源码

一、概述 它集影像存储服务器、影像诊断工作站及RIS报告系统于一体,主要由图像处理模块、影像数据管理模块、RIS报告模块、光盘存档模块、DICOM通讯模块、胶片打印输出等模块组成&#xff0c; 具有完善的影像数据库管理功能&#xff0c;强大的图像后处理功能&#xff08;三维重…

2-css-3

一 选择器 1 结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素。 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素&#xff08;第一个元素N值为1&#xff09; li:first-child {background-color: green; }2 :…

AgilePLM应用周期性崩溃-问题解决

​ 问题现象 每周六2点左右&#xff0c;AgilePLM应用进程都会崩溃&#xff0c;具体表现为登录Agile应用服务器之后&#xff0c;找不到weblogic应用进程&#xff08;ps -ef | grep java&#xff09;。从服务器所有相关日志中没有找到任何可疑的异常日志。 当天Agile应用重启之…

UDS通信服务解析

InputOutputControlByIdentifier (0x2F)----通过ID对输入输出进行控制 2F的03子功能是"暂时接管控制权" ReadDataByIdentifier(0x2A)—通过ID读取数据或特定器件状态 ClearDiagnosticInformation(0x14)—清除故障诊断信息 UDS规定用FF FF FF表示所有种类的DTC Rou…

技术干货 | 开始使用 Redis

Redis 是一个使用 C 语言编写的开源、BSD 许可、高级的键值存储&#xff0c;。它也被称为数据结构服务器&#xff0c;因为键可以包含字符串、哈希、列表、集合和有序集合。本教程将介绍使用 Redis 所需的基本概念。Navicat Premium 和 Navicat for Redis 现已支持 Redis, 如果你…

【AUTOSAR】AUTOSAR开发工具链(十一)----基于BTC的back to back测试操作说明(3)

四、PowerWindow demon BTB测试 1、对于MBD生成代码&#xff0c;可以通过上文中使用Embeded-Coder的方式添加工程文件&#xff0c;然后切换到back to back 测试模式 2、点击Generate Stimuli Vectors &#xff0c;进入自动生成测试用例 选择测试用例的生成引擎 设置信号的使用…