USBIP配置方法及其部分理论的理解

1、USBIP工具简介

USBIP是用于将Linux系统上所识别到的USB设备通过以太网共享出来的一个工具,它可以使得USB外接设备可以跨电脑或跨服务器进行访问。在USBIP基本架构中,分服务端(Server)和客户端(Client)两种,其中服务端是指插入USB设备并将其共享出来的一端,而客户端则是连接共享USB的一端,目前USBIP已经是Linux内核的一个分支,Windows平台下也有相应的工具。
服务端的USB设备被USBIP共享出来后,如果有客户端连接这个共享USB设备成功,在网络层面上建立一个TCP连接,以满足对信令和数据的传输。

2、debian系Linux下USBIP的安装以及USBIP的四个内核模块的描述

2.1、USBIP在debian系Linux中的安装

USBIP工具的相关安装包目前是已经集成在debian的软件仓库中的,并且没有其他的Linux依赖,因此我们可以直接通过“apt install usbip”命令进行安装,倘若网络环境与互联网隔离,且没有部署相应的离线仓库,也可以将外网拉取的USBIP安装包直接通过dpkg的方式进行离线安装,相关安装如下图所示:
在这里插入图片描述

2.2、USBIP的四个基本模块

将USBIP安装完成后,进入/lib/modules/5.10.101-amd64-desktop/kernel/drivers/usb/usbip(具体路径视具体的Linux内核版本为准),可以看到此时USBIP生成了四个内核模块,分别为usbip-core.ko、usbip-host.ko、usbip-vudc.ko和vhci-hcd.ko,如下图所示:
在这里插入图片描述

个人针对于这四个模块的分工,如下表所示:
在这里插入图片描述

2.3、USBIP与普通USB通信的大体对比

普通USB设备被操作系统识别到后,通信架构如下图所示:
在这里插入图片描述

结合上图来看,我们可以大体上有这样的理解——设备侧指的是运行Linux系统的USB设备,主机侧指的是运行Linux电脑或者服务器主机,其中在设备侧中Gadget Function驱动及其API接口决定USB是以何种形态展现(例如手机USB插入电脑后,在电脑中被展现为U盘),此时设备侧的USB设备控制器通过UDC驱动控制USB设备,而设备侧的USB设备控制器在USB设备插入电脑后,将与电脑的USB主机控制器建立通信连接,这个连接处在USB总线上。
将以上结构对比在USBIP上后,Gadget+UDC驱动+USB设备控制器部分主要由usbip-vudc.ko承担,并交由usbip-host.ko在以太网上进行通信,而不再在USB总线上通信,而主机侧的USB主机控制器+USB主机控制器驱动部分则主要由vhci-hcd.ko承担。

3、配置USBIP实现USB设备共享

上述第二章已经描述了USBIP的安装以及相关模块的大体作用,在USBIP安装完成后,接下来就需要在服务端插入USB设备(如U盘),然后进行相关的配置,相应的步骤如下:

3.1、服务端

(1)输入命令“sudo modprobe usbip-host”与“usbipd -D”加载usbip-host内核模块:
在这里插入图片描述

(2)输入命令“usbip list -l”命令,查看服务端已经插入的USB设备,在下图中,“busid 4-2”是需要共享出去的USB设备:
在这里插入图片描述

(3)输入命令“usbip bind -b 4-2”(id值视实际而定),绑定需要共享出去的USB设备,如果提示complete,则表示共享成功,此时服务端配置完成:
在这里插入图片描述

3.2、客户端

(1)输入命令“sudo modprobe vhci-hcd”加载vhci-hcd内核模块:
在这里插入图片描述

(2)输入命令“sudo usbip list -r 192.168.100.43”查看服务端共享出来的USB设备列表:
在这里插入图片描述

(3)输入命令“usbip attach -r 192.168.100.191 -b 4-2”,连接服务端共享出来的USB设备:
在这里插入图片描述

以上USBIP共享配置完成后,客户端便可以对该USB设备进行操作了,而对于部分带GUI的Linux发行版(例如deepin/UOS)而言,如果服务端共享出来的USB设备是U盘,此时等待片刻,文件管理器便会自动将来自服务端U盘挂载上。
在这里插入图片描述

3.3、补充说明

针对目前主流的版本USBIP中,usbip-core、usbip-vudc是不需要手动加载(modprobe)的,但在较老版本的USBIP中,所有的模块都需要手动加载。

4、知识扩充:USBIP通信时,各个指令含义

下表中的指令是USBIP客户端和服务端之间在通信过程中所互相发送的指令,可以作为理论了解,实际运维配置时不涉及:
在这里插入图片描述

5、参考来源

https://blog.csdn.net/litao31415/article/details/107074146

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: USBIP-Win是一款用于在Windows系统上配置USBIP的工具。USBIP是一种用于共享和传输USB设备的协议,它允许将USB设备通过网络连接到另一台计算机。 要配置USBIP-Win,首先需要下载和安装USBIP-Win工具。可以从官方网站或可信的软件下载平台上获取该工具。 安装完成后,打开USBIP-Win工具。在工具界面上,可以看到设备列表,其中包含与计算机相连接的USB设备。 选择要共享的USB设备,然后点击“共享”按钮。这将使USB设备在网络上可用。 在另一台计算机上,也需要安装USBIP-Win工具。然后,打开USBIP-Win工具并在界面上点击“搜索”。此时,应该能够看到已经共享的USB设备。 在设备列表中选择要连接的USB设备,然后点击“连接”按钮。这将建立与共享USB设备的连接。 一旦连接建立成功,另一台计算机就可以像使用本地连接的USB设备一样使用共享USB设备。 配置完成后,可以通过USBIP-Win工具随时添加、删除或共享USB设备。 需要注意的是,USBIP-Win只能在Windows系统上配置USBIP。对于其他操作系统,可能需要使用不同的工具或方法配置USBIP。 ### 回答2: usbip-win是一个在Windows操作系统上实现USB/IP功能的工具。以下是配置usbip-win的步骤: 1. 首先,在Windows操作系统上下载和安装usbip-win工具。可以在usbip-win的官方网站或开源软件库中找到可用的安装包。 2. 安装完成后,打开命令提示符或PowerShell窗口,并切换到usbip-win工具的安装目录。 3. 确保usbip驱动程序已加载。在命令提示符或PowerShell中输入以下命令: `sc query usbip` 如果usbip驱动程序状态为“运行中”,则表示已成功加载。 4. 接下来,需要查找要共享的USB设备。在命令提示符或PowerShell中输入以下命令: `usbip list -l` 这将列出所有已连接的USB设备,包括它们的ID和描述。 5. 选择要共享的USB设备,并记录其ID。 6. 输入以下命令将USB设备共享: `usbip bind -b <设备ID>` 其中,`<设备ID>`是要共享的USB设备的ID。 7. 输入以下命令以检查已共享的USB设备: `usbip list -r <IP地址>` 其中,`<IP地址>`是当前计算机的IP地址,注意使用正确的IP地址。 如果显示已共享的USB设备信息,则表示配置成功。 8. 在远程计算机上,下载和安装usbip-win工具,并重复上述步骤1-6。 9. 在远程计算机上,在命令提示符或PowerShell中输入以下命令以连接到共享的USB设备: `usbip attach -r <IP地址> -b <设备ID>` 其中,`<IP地址>`是共享USB设备的计算机的IP地址,`<设备ID>`是要连接的USB设备的ID。 10. 连接成功后,在远程计算机上可以像使用本地USB设备一样使用共享的USB设备。 通过以上步骤配置usbip-win,您可以在Windows操作系统上实现USB/IP功能。请注意,确保计算机有足够的权限和网络连接以成功设置和连接USB设备。 ### 回答3: USB/IP是一种通过网络共享USB设备的协议,USB/IP-Win是在Windows操作系统上实现USB/IP协议的工具。下面是一个关于如何配置USB/IP-Win的简要说明。 首先,您需要从官方网站上下载并安装USB/IP-Win的软件包。安装完成后,打开USB/IP-Win控制台。 在控制台界面上,您可以看到设备列表和主机列表。设备列表显示可用的USB设备,主机列表显示已连接到网络的主机。 要连接一个USB设备,首先需要将它添加到设备列表中。选择“设备”选项卡,然后点击“添加”按钮。在弹出的设备添加对话框中,选择要共享的USB设备并点击“确定”按钮。 接下来,您需要将USB设备连接到网络的某一主机上。选择“主机”选项卡,在主机列表中点击“添加”按钮。在弹出的主机添加对话框中,输入主机的IP地址或主机名,并点击“确定”按钮。 配置完成后,您可以在主机列表中看到已连接的主机。双击主机列表中的主机,将USB设备分配给该主机。主机将能够使用分配的USB设备。 除了使用USB/IP-Win控制台,您还可以使用命令行工具进行USB/IP-Win的配置。打开命令提示符,进入USB/IP-Win的安装目录,并使用命令行工具提供的命令进行设备和主机的添加配置。 总之,通过USB/IP-Win工具,您可以通过网络轻松共享USB设备。只需添加设备到设备列表,将设备连接到网络上的主机,然后主机就可以访问共享的USB设备了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值