当前位置: 首页 > news >正文

ubuntu如何识别windows的USB设备(WSL2)

一、简介

        在wsl安装的文章中对比过WSL1和WSL2的区别,其中很重要一条就是WSL1可以直接识别到windows下的串口或USB设备,而WSL2是不行的,需要借助USB/IP工具。如果还没有搭建WSL环境的话,可以参考如下文章:win10下安装WSL_命令行安装wsl-CSDN博客

        所以,本篇文章,就来介绍一下要如何操作。

        前置条件:

        WSL版本:WSL2

        Windows版本:win11或者win10 21H2+

二、实操

        安装windows端USB/IP工具

        打开powerShell,执行如下命令安装usb/ip客户端。

winget install --interactive --exact dorssel.usbipd-win

        一般默认安装在C盘

        如果winget不可用,可以从usbipd-win官网 https://github.com/dorssel/usbipd-win/releases 下载安装,然后手动安装

        在ubuntu中安装usb/ip服务器工具

        启动Ubuntu,执行下列命令安装依赖

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

        列出共享USB设备

        在powerShell(管理员模式)中列出所有USB设备,找到目标设备的BUSID

usbipd list

        看到多了一条BUSID为5-1的设备。

        将目标USB设备共享给WSL

        使用如下指令,将usb设备共享给WSL。注:共享后,Windows 将无法使用该设备

usbipd bind --busid <busid>
usbipd attach --wsl --busid <busid>

        可以看到,共享后,5-1设备的状态已经变成了Attached。

        在Ubuntu中验证设备是否被识别

        在Ubuntu中执行如下命令,查看是否识别到USB设备。

lsusb

        断开设备与ubuntu的连接

        使用完设备,在powershell中使用如下指令断开USB设备与ubuntu的连接

usbipd detach --busid <busid>

三、FAQ

        如果在Ubuntu下lsusb可以看到设备,但是lsblk看不到设备,且powershell下也能看到设备,可以在Ubuntu执行如下操作:

sudo modprobe -r usb_storage  # 卸载驱动
sudo modprobe usb_storage    # 重新加载驱动sudo partprobe  # 刷新所有设备的分区表
lsblk  # 再次查看

http://www.dtcms.com/a/357581.html

相关文章:

  • Shell 编程基础(续):流程控制与实践
  • RustDesk(跨平台远程桌面软件) v1.4.1 中文绿色版
  • 单节锂电池,升压至12V/2.5A的芯片选型指南(附FP5207X 与 FP7208参数表)
  • 【大模型14】Fine-tuning与大模型优化1
  • 基于深度学习的文本情感分析系统:从理论到实践的全栈实现
  • UPDF for mac PDF编辑器
  • 表达式语言EL
  • 【0422】SMgrRelationData 中 md_num_open_segs 和 md_seg_fds 数组为什么是 4 个元素? 第四个元素表示什么?
  • 【观成科技】蔓灵花User下载者加密通信分析
  • 第二阶段WinForm-10:多线程
  • 亚马逊竞品分析新思路——从数据迷雾到精准截流
  • C++模板类的详细介绍和使用指南
  • 财务RPA机器人——解读 377页RPA财务机器人开发与应用—基于UiPath StudioX【前三章 附全文阅读】
  • [UVM]编写一个验证vld和rdy握手的断言
  • 第5篇 c++ 函数的多返回值实现-返回多个值
  • 工业智能体时代,制造业要不要建AI中台?
  • Day17 Docker学习
  • 【打包压缩】tar包和命令格式简介
  • 【完整源码+数据集+部署教程】植物病害检测系统源码和数据集:改进yolo11-EMSCP
  • 134-细粒度多尺度符号熵和鲸鱼优化算法的滚动轴承故障诊断技术MSVM
  • Parasoft C/C++test端到端透明可追溯的软件测试解决方案
  • 基于STM32单片机智能家居声音人体防盗GSM短信报警系统设计
  • 力扣452:用最少数量的箭射爆气球(排序+贪心)
  • 从“走过场”到“看得见”的成长:在线学习系统如何重塑企业培训价值
  • Unity DateTime 相关
  • 数据分析编程第六步:大数据运算
  • 【leetcode】114. 二叉树展开为链表
  • 死锁检测 及其测试用例
  • Linux的环境变量
  • 10迁移TiDB数据库数据到GaussDB