【WSL2】配置连接 USB 设备并使用主机的 USB 摄像头

  • 1 概述
  • 2 安装 USBIPD-WIN
  • 3 在 Linux 中安装 USBIP 工具和硬件数据库
  • 4 附加 USB 设备

1 概述

先说明清楚,WSL2 内核中暂时不包含 USB 摄像头驱动,所以如果不是刚需,建议直接开润。

如果真的要折腾一下,可以跟着官方的教程去编译一个带有额外 USB 驱动的内核

下面简单说一下,如何让 WSL2 连接主机的 USB 设备。

参考博客:WSL2连接调用USB设备

2 安装 USBIPD-WIN

参考文章:官方文档

WSL2 本身并不支持连接 USB 设备,所以需要安装 usbipd-win

  1. 如果已安装 winget,只需使用命令 winget install --interactive --exact dorssel.usbipd-win 安装。
  2. 如果 1 不可以,GitHub 下载 .msi 文件,双击安装。

3 在 Linux 中安装 USBIP 工具和硬件数据库

我安装的是 Ubuntu20.04

  • 运行下面的命令(适用于 Ubuntu
sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

其他发行版看官网,如下图:

完成上述步骤后,现在一个服务正在 Windows 上运行以共享 USB 设备,并且在 WSL2 中安装了必要的工具来连接到共享设备。

4 附加 USB 设备

  • 管理员模式打开 PowerShell 并输入以下命令
usbipd wsl list

可以看到现在状态都是 Not attached,左边的 BUSID 下一步会用到

  • 选择要附加到 WSL2 的设备总线 ID
usbipd wsl attach --busid <busid>

这一步可能会报错:

  1. usbipd: error: Access denied; this operation requires administrator privileges.
  2. usbipd: error: WSL kernel is not USBIP capable; update with 'wsl --update'

解决方法:
1: 一定要管理员模式打开 PowerShell
2:

  • wsl --update
  • wsl --shutdown
  • 重新以管理员模式打开 PowerShell
  • 打开 Ubuntu20.04
lsusb

可以看到刚刚附加的设备,后续可能需要配置 udev 规则以允许非 root 用户访问设备

  • 使用完后,可物理断开 USB 设备,或在管理员模式下 PowerShell 中执行 usbipd wsl detach --busid <busid>

【WSL2】配置连接 USB 设备并使用主机的 USB 摄像头相关推荐

  1. USB设备驱动开发之远程访问USB设备(一USB设备数据采集端)

    By Fanxiushu 2016 05-15  转载或引用本文,请注明原始作者. 使用过vmware的人都应该知道,vmware虚拟机有这样的一个功能, 当在宿主机上插入一个USB设备的时候,通过设 ...

  2. linux usb驱动 probe,linux USB设备驱动之2:usb设备的probe全过程

    本文将详细讲述2.6.22下的一个USB设备插上linux系统的PC后是如何一步一步调到我们的usb设备驱动的probe函数的,我们知道我们的USB驱动的probe函数中的一个参数是interface ...

  3. 华为matebook13笔记本 右侧type-c接口 没反应,失灵 ,失效,不通电,无法识别usb设备,设备管理器Unknown usb device

    今天起来一看,外接显示器识别不到,插拔没反应 U盘也识别不到,连接上手机也没反应,我猜是驱动问题,电压不够或者压根没通电 设备管理器显示 Unknown usb device port not loa ...

  4. linux 固定usb设备,linux下多个usb设备固定名称方法

    当我们接入两个或两个以上的同类型usb设备时,内核会在/dev目录下生成对应的设备文件例如/dev/ttyUSB0,/dev/ttyUSB1.这样就会导致我们在访问设备时不知道相应的设备文件对应的是哪 ...

  5. 无接任何usb设备却提示无法识别usb设备

    无接任何usb设备却提示"无法识别usb设备",证明了主板的某个usb端口已经坏了 这时你可以打开"设备管理器"打开"通用串行总线控制器" ...

  6. linux 弹出usb设备,linux安全移除USB设备

    使用图形界面时,一般只需要在相应的磁盘图标上点右键,选择"卸载"即可.如果卸载失败,请确保已没有程序访问该磁盘,再试一次. 只要卸载成功,这种方法就是安全的,因为缓冲内容会写入磁盘 ...

  7. usb设备检测linux,Linux下USB设备检测全教程(转)

    Linux下USB设备检测全教程(转)[@more@] USB设备检测也是通过/proc目录下的USB文件系统进行的.为了使一个USB设备能够正常工作,必须要现在系统中插入USB桥接器模块.在检测开始 ...

  8. linux查看usb设备文件,Linux下查看USB设备信息

    首先需要将usbfs挂载一下,然后才能查看. $ mount -t usbfs none /proc/bus/usb $ cat  /proc/bus/usb/devices 或者在文件(/etc/f ...

  9. 写入usb设备 linux 程序,模拟物理USB设备Linux

    最好的方法是使用Linux Gadget驱动程序和硬件,使您成为一个USB设备.小工具驱动程序允许计算机"假装"为任何类型的设备.然后,您的受测系统有一个USB OTG电缆连接到小 ...

最新文章

  1. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
  2. tensorflow 2
  3. Adobe宣布不再针对iPhone开发Flash工具
  4. 移动端像素概念,viewport,适配
  5. matlab 角域重采样,matlab滤波技术与区域处理---区域滤波
  6. SAP CRM呼叫中心里link按钮的技术实现
  7. 你的眼睛已经睁开了!(转)
  8. 线性表15|魔术师发牌问题和拉丁方阵 - 数据结构和算法20
  9. MyApplicationToast工具类
  10. IDEA java 运行程序 指定运行参数
  11. 蜂鸣器c51汇编语言,51单片机蜂鸣器奏乐实验汇编代码.doc
  12. .NET的RulesEngine(规则引擎)使用
  13. RuntimeWarning: divide by zero encountered in log错误解决
  14. 学习...笔记05:时间,空间,时空傅里叶变换的基本技巧、获取自旋波的频谱图和色散图
  15. 基于微信小程序的智能停车场管理系统的研究与设计
  16. LTU、TTU、DTU、FTU、RTU在电路中的安装位置,功能,区别
  17. 桌面 计算机 网络连接怎么办,电脑显示本地网络连接但是宽带没连上。怎么办?...
  18. 安卓电池校正_都说苹果寿命长,2年前的iPhoneXR,相当于目前什么安卓手机?
  19. 微机原理—可编程计数器/定时器8253概念详解
  20. 分答项目_知识点:如何获取jquery选择器生成的input元素数组中的每个input元素的值?

热门文章

  1. matlab 测量矩阵,压缩感知中的常见测量矩阵及其MATLAB实现代码
  2. 工行银企互联(NC模式)中间件开发模式
  3. 框架设计的局部与整体
  4. 胡萝卜周博客 软件下载
  5. Qt工具栏中设置小部件间隔的方法
  6. Photoshop文字之——制作斑驳铁锈文字
  7. Matlab编写S函数,实现y=ku+b
  8. 自适应网站和响应式网站
  9. FAILURE: Build failed with an exception. * Where: Build file ‘D:\ProgramData\AndroidStudioProjects\ѧ
  10. GG云更新 - 测试代码