# 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. [SpringBoot] - 配置文件的多种形式及优先级

              学习两个注解: @PropertySource   @ImportResource  ↓   @ConfigurationProperties  与 @Bean 结合为属性赋值 与 ...

  2. NOI导刊2009 提高一

    zzh大佬给我说导刊的题全是普及难度,然而我..觉得有两道题是提高的 LocalMaxima 题目解析 对于\(i\)这个数,它要想成为LocalMaxima,比它大的要全部放到最后去,比它小的想怎么 ...

  3. python之urllib2简单解析HTML页面之篇一

    一.urllib2简单获取html页面 #!/usr/bin/env python # -*- coding:utf-8 -*- import urllib2 response = urllib2.u ...

  4. 线程池ThreadPoolExecutor里面4种拒绝策略

    ThreadPoolExecutor类实现了ExecutorService接口和Executor接口,可以设置线程池corePoolSize,最大线程池大小,AliveTime,拒绝策略等.常用构造方 ...

  5. data.table 中的动态作用域

    data.table 中最常用的语法就是 data[i, j, by],其中 i.j 和 by 都是在动态作用域中被计算的.换句话说,我们不仅可以直接使用列,也可以提前定义诸如 .N ..I 和 .S ...

  6. GNU m4 教程[转]

    原文:http://blog.csdn.net/timekeeperl/article/details/50738164 作者:garfileo  作者主页 本文整理自:https://segment ...

  7. 雷林鹏分享:Ruby JSON

    Ruby JSON 本章节我们将为大家介绍如何使用 Ruby 语言来编码和解码 JSON 对象. 环境配置 在使用 Ruby 编码或解码 JSON 数据前,我们需要先安装 Ruby JSON 模块.在 ...

  8. ES5和ES6中的继承

    看到一篇写的非常好的关于js继承的文章,其中对构造函数.原型.实例之间的关系的描述十分透彻,故转载作者文章以随时学习,并供大家共同进步! ES5 ES5中的继承,看图: function Super( ...

  9. javascript 时间与时间戳的转换

    一:时间转时间戳:javascript获得时间戳的方法有五种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳 1.var timestamp1 = Date.parse(new ...

  10. 使用PMD进行代码审查(转)

    原文地址:使用PMD进行代码审查 很久没写博客了,自从上次写的设计模式的博客被不知名的鹳狸猿下架了一次之后兴趣大减,那时候就没什么兴致写博客了,但是这段时间还没有停下来,最近也在研究一些其他的东西,目 ...