# README for usbip-utils
#
# Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
#               2005-2008 Takahiro Hirofuchi

[Requirements]
    - USB/IP device drivers
    Found in the staging directory of the Linux kernel.

- sysfsutils >= 2.0.0
    sysfsutils library

- libwrap0-dev
    tcp wrapper library

- gcc >= 4.0

- libglib2.0-dev >= 2.6.0

- libtool, automake >= 1.9, autoconf >= 2.5.0, pkg-config

[Install]
    0. Generate configuration scripts.
    $ ./autogen.sh

1. Compile & install the userspace utilities.
    $ ./configure [--with-tcp-wrappers=no] [--with-usbids-dir=<dir>]
    $ make install

2. Compile & install USB/IP drivers.

[Usage]
    server:# (Physically attach your USB device.)

server:# insmod usbip-core.ko
    server:# insmod usbip-host.ko

server:# usbipd -D
    - Start usbip daemon.

server:# usbip list -l
    - List driver assignments for USB devices.

server:# usbip bind --busid 1-2
    - Bind usbip-host.ko to the device with busid 1-2.
    - The USB device 1-2 is now exportable to other hosts!
    - Use `usbip unbind --busid 1-2' to stop exporting the device.

client:# insmod usbip-core.ko
    client:# insmod vhci-hcd.ko

client:# usbip list --remote <host>
    - List exported USB devices on the <host>.

client:# usbip attach --host <host> --busid 1-2
    - Connect the remote USB device.

client:# usbip port
    - Show virtual port status.

client:# usbip detach --port <port>
    - Detach the USB device.

[Example]
---------------------------
    SERVER SIDE
---------------------------
Physically attach your USB devices to this host.

trois:# insmod path/to/usbip-core.ko
    trois:# insmod path/to/usbip-host.ko
    trois:# usbipd -D

In another terminal, let's look up what USB devices are physically
attached to this host.

trois:# usbip list -l
    Local USB devices
    =================
     - busid 1-1 (05a9:a511)
         1-1:1.0 -> ov511

- busid 3-2 (0711:0902)
         3-2:1.0 -> none

- busid 3-3.1 (08bb:2702)
         3-3.1:1.0 -> snd-usb-audio
         3-3.1:1.1 -> snd-usb-audio

- busid 3-3.2 (04bb:0206)
         3-3.2:1.0 -> usb-storage

- busid 3-3 (0409:0058)
         3-3:1.0 -> hub

- busid 4-1 (046d:08b2)
         4-1:1.0 -> none
         4-1:1.1 -> none
         4-1:1.2 -> none

- busid 5-2 (058f:9254)
         5-2:1.0 -> hub

A USB storage device of busid 3-3.2 is now bound to the usb-storage
driver. To export this device, we first mark the device as
"exportable"; the device is bound to the usbip-host driver. Please
remember you can not export a USB hub.

Mark the device of busid 3-3.2 as exportable:

trois:# usbip --debug bind --busid 3-3.2
    ...
    usbip debug: usbip_bind.c:162:[unbind_other] 3-3.2:1.0 -> usb-storage
    ...
    bind device on busid 3-3.2: complete

trois:# usbip list -l
    Local USB devices
    =================
    ...

- busid 3-3.2 (04bb:0206)
         3-3.2:1.0 -> usbip-host
    ...

---------------------------
    CLIENT SIDE
---------------------------
First, let's list available remote devices that are marked as
exportable on the host.

deux:# insmod path/to/usbip-core.ko
    deux:# insmod path/to/vhci-hcd.ko

deux:# usbip list --remote 10.0.0.3
    Exportable USB devices
    ======================
     - 10.0.0.3
        1-1: Prolific Technology, Inc. : unknown product (067b:3507)
           : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-1
           : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
           :  0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50)

1-2.2.1: Apple Computer, Inc. : unknown product (05ac:0203)
           : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.1
           : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
           :  0 - Human Interface Devices / Boot Interface Subclass / Keyboard (03/01/01)

1-2.2.3: OmniVision Technologies, Inc. : OV511+ WebCam (05a9:a511)
           : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.3
           : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
           :  0 - Vendor Specific Class / unknown subclass / unknown protocol (ff/00/00)

3-1: Logitech, Inc. : QuickCam Pro 4000 (046d:08b2)
           : /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0a.0/usb3/3-1
           : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
           :  0 - Data / unknown subclass / unknown protocol (0a/ff/00)
           :  1 - Audio / Control Device / unknown protocol (01/01/00)
           :  2 - Audio / Streaming / unknown protocol (01/02/00)

Attach a remote USB device:

deux:# usbip attach --host 10.0.0.3 --busid 1-1
    port 0 attached

Show the devices attached to this client:

deux:# usbip port
    Port 00: <Port in Use> at Full Speed(12Mbps)
       Prolific Technology, Inc. : unknown product (067b:3507)
       6-1 -> usbip://10.0.0.3:3240/1-1  (remote bus/dev 001/004)
       6-1:1.0 used by usb-storage
              /sys/class/scsi_device/0:0:0:0/device
              /sys/class/scsi_host/host0/device
              /sys/block/sda/device

Detach the imported device:

deux:# usbip detach --port 0
    port 0 detached

[Checklist]
    - See 'Debug Tips' on the project wiki.
    - http://usbip.wiki.sourceforge.net/how-to-debug-usbip
    - usbip-host.ko must be bound to the target device.
    - See /proc/bus/usb/devices and find "Driver=..." lines of the device.
    - Shutdown firewall.
    - usbip now uses TCP port 3240.
    - Disable SELinux.
    - If possible, compile your kernel with CONFIG_USB_DEBUG flag and try again.
    - Check the kernel and daemon messages.

[Contact]
    Mailing List: linux-usb@vger.kernel.org

usbip install的更多相关文章

  1. Linux usb 5. usbip (USB Over IP) 使用实例

    文章目录 0. 简介 1. Server 配置 2. Client 配置 参考资料 0. 简介 USB Over IP 是一种应用很多的场景,目前已经有现成的解决方案 usbip.linux 和 wi ...

  2. OEL上使用yum install oracle-validated 简化主机配置工作

    环境:OEL 5.7 + Oracle 10.2.0.5 RAC 如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle-vali ...

  3. org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=LocalTxCM,name=egmasDS

    17:34:37,235 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080 17:34:37,281 INFO [ ...

  4. 如何使用yum 下载 一个 package ?如何使用 yum install package 但是保留 rpm 格式的 package ? 或者又 如何通过yum 中已经安装的package 导出它,即yum导出rpm?

    注意 RHEL5 和 RHEL6 的不同 How to use yum to download a package without installing it Solution Verified - ...

  5. Install and Configure SharePoint 2013 Workflow

    这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...

  6. Basic Tutorials of Redis(1) - Install And Configure Redis

    Nowaday, Redis became more and more popular , many projects use it in the cache module and the store ...

  7. Hadoop学习日志- install hadoop

    资料来源 : http://www.tutorialspoint.com/hadoop/hadoop_enviornment_setup.htm Hadoop 安装 创建新用户 $ su passwo ...

  8. 关于bundle install 的一点补充

    在第一次运行bundle install之后,生成了Gemfile.lock文件,里面记录gem的具体版本号,按照官方文档说明,以后运行bundle install就不会再依据Gemfile,而是根据 ...

  9. Centos 7 minimal install 无网络无ifconfig的解决

    Centos7这个比较不厚道, minimal install下居然不带net-tools 先要连上网络 修改/etc/sysconfig/network-scripts/ifcfg-ens12312 ...

随机推荐

  1. Python3基础 print %d 输出整数

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. BZOJ 2333 【SCOI2011】 棘手的操作

    题目链接:棘手的操作 网上的题解大部分都是在线用可并堆艹……但是树高严格\(\log\)的可并堆我不会啊……还是离线大法好…… 我们可以先把所有的合并操作用并查集给处理好,把得到的森林记录下来.然后, ...

  3. spring boot: 热部署spring-boot-devtools

    spring boot: 热部署spring-boot-devtools 1引入spring-boot-devtools依赖包 <!-- spring boot devtools 热部署 --& ...

  4. 用Python操作Named pipe命名管道,实用做法——os.read 或 os.write

    https://blog.csdn.net/mayao11/article/details/50618598

  5. Rails 5 Test Prescriptions 第8章 Integration Testing with Capybara and Cucumber

    Capybara:  A complete reference is available atrubydoc.info. 集成测试就是把局部的程序组合起来测试. 端到端测试是一个特殊的集成测试,覆盖了 ...

  6. UVA-11082 Matrix Decompressing (网络流建模)

    题目大意:给出一个由1到20组成的整数矩阵的每一行和每一列的和,构造这个矩阵.输出任意一个构造方案. 题目分析:将每一行视作一个点x,将每一列视作一个点y.对于矩阵中的每一个格子,都对应一个二元关系& ...

  7. 个人知识管理系统Version1.0开发记录(04)

    demo model 我们采用mvc软件架构模式,方便以后用Struts2框架技术优化.重构.封装.这次主要设计一些常用的方法工具,即数据访问逻辑.工具:eclipse.oracle.sqldevel ...

  8. javascript中new Date()会存在偏差一小时的bug

    事件回顾: 因为我们的产品会有与时间转换这部分,并且流量主要集中在小程序. emmm~  获取用户出生的年/月/日/时  我们和后台协商的是换算用户选择后的时间为  年/月/日/时/分/秒  所以我们 ...

  9. StringUtils工具类的isBlank()方法使用说明

  10. 谈谈我对"闭包"的理解

    一.什么是闭包和闭包的几种写法和用法 1.什么是闭包闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. 作 ...