Commit 89415218 authored by matt mooney's avatar matt mooney Committed by Greg Kroah-Hartman

staging: usbip: userspace: cleanup README

Update examples to correspond with the new usbip-utils; edit grammar;
and cleanup format for consistency.
Signed-off-by: default avatarmatt mooney <mfm@muteddisk.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent e8323b83
# vim:tw=78:ts=4:expandtab:ai:sw=4
# #
# README for usbip-utils # README for usbip-utils
# #
# Copyright (C) 2005-2008 Takahiro Hirofuchi # Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
# 2005-2008 Takahiro Hirofuchi
[Requirements] [Requirements]
- USB/IP device drivers - USB/IP device drivers
Its source code is included under $(top)/drivers/. Found in the staging directory of the Linux kernel.
- sysfsutils >= 2.0.0 - sysfsutils >= 2.0.0
sysfsutils library sysfsutils library
...@@ -21,86 +21,83 @@ ...@@ -21,86 +21,83 @@
- libtool, automake >= 1.9, autoconf >= 2.5.0, pkg-config - libtool, automake >= 1.9, autoconf >= 2.5.0, pkg-config
[Install] [Install]
0. Skip here if you see a configure script. 0. Generate configuration scripts.
$ ./autogen.sh $ ./autogen.sh
1. Compile & install. 1. Compile & install the userspace utilities.
$ ./configure $ ./configure [--with-tcp-wrappers=no] [--with-usbids-dir=<dir>]
$ make install $ make install
2. Compile & install USB/IP drivers if not yet. 2. Compile & install USB/IP drivers.
[Usage] [Usage]
server:# (Attach your USB device physically.) server:# (Physically attach your USB device.)
server:# insmod usbip-core.ko server:# insmod usbip-core.ko
server:# insmod usbip-host.ko server:# insmod usbip-host.ko
- It was formerly named as stub.ko.
server:# usbipd -D server:# usbipd -D
- Start usbip daemon. - Start usbip daemon.
server:# usbip_bind_driver --list server:# usbip list -l
- List driver assignments for usb devices. - List driver assignments for USB devices.
server:# usbip_bind_driver --usbip 1-2
- Bind usbip-host.ko to the device of busid 1-2.
- A usb device 1-2 is now exportable to other hosts!
- Use 'usbip_bind_driver --other 1-2' when you want to shutdown exporting
and use the device locally.
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 usbip-core.ko
client:# insmod vhci-hcd.ko client:# insmod vhci-hcd.ko
- It was formerly named as vhci.ko.
client:# usbip --list server client:# usbip list --remote <host>
- List exportable usb devices on the server. - List exported USB devices on the <host>.
client:# usbip --attach server 1-2 client:# usbip attach --host <host> --busid 1-2
- Connect the remote USB device. - Connect the remote USB device.
client:# usbip --port client:# usbip port
- Show virtual port status. - Show virtual port status.
client:# usbip --detach 0 client:# usbip detach --port <port>
- Detach the usb device. - Detach the USB device.
[Example]
---------------------------
SERVER SIDE
---------------------------
Physically attach your USB devices to this host.
[Output Example] trois:# insmod path/to/usbip-core.ko
-------------------------------------------------------------------------------------------------------- trois:# insmod path/to/usbip-host.ko
- SERVER SIDE (physically attach your USB devices to this host) ---------------------------------------- trois:# usbipd -D
--------------------------------------------------------------------------------------------------------
trois:# insmod (somewhere)/usbip-core.ko
trois:# insmod (somewhere)/usbip-host.ko
trois:# usbipd -D
-------------------------------------------------------------------------------------------------------- In another terminal, let's look up what USB devices are physically
In another terminal, let's look up what usb devices are physically attached to attached to this host.
this host. We can see a usb storage device of busid 3-3.2 is now bound to
usb-storage driver. To export this device, we first mark the device as
"exportable"; the device is bound to usbip driver. Please remember you can not
export a usb hub.
trois:# usbip_bind_driver --list trois:# usbip_bind_driver --list
List USB devices Local USB devices
- busid 3-3.2 (04bb:0206) =================
3-3.2:1.0 -> usb-storage - 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) - busid 3-3.1 (08bb:2702)
3-3.1:1.0 -> snd-usb-audio 3-3.1:1.0 -> snd-usb-audio
3-3.1:1.1 -> 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) - busid 3-3 (0409:0058)
3-3:1.0 -> hub 3-3:1.0 -> hub
- busid 3-2 (0711:0902)
3-2:1.0 -> none
- busid 1-1 (05a9:a511)
1-1:1.0 -> ov511
- busid 4-1 (046d:08b2) - busid 4-1 (046d:08b2)
4-1:1.0 -> none 4-1:1.0 -> none
4-1:1.1 -> none 4-1:1.1 -> none
...@@ -109,33 +106,37 @@ export a usb hub. ...@@ -109,33 +106,37 @@ export a usb hub.
- busid 5-2 (058f:9254) - busid 5-2 (058f:9254)
5-2:1.0 -> hub 5-2:1.0 -> hub
-------------------------------------------------------------------------------------------------------- A USB storage device of busid 3-3.2 is now bound to the usb-storage
Mark the device of busid 3-3.2 as exportable. 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.
trois:# usbip_bind_driver --usbip 3-3.2 Mark the device of busid 3-3.2 as exportable:
** (process:24621): DEBUG: 3-3.2:1.0 -> none
** (process:24621): DEBUG: write "add 3-3.2" to /sys/bus/usb/drivers/usbip/match_busid
** Message: bind 3-3.2 to usbip, complete!
trois:# usbip_bind_driver --list trois:# usbip --debug bind --busid 3-3.2
List USB devices ...
- busid 3-3.2 (04bb:0206) usbip dbg: utils.c: 52 (modify_match_busid) write "add 3-3.2" to...
3-3.2:1.0 -> usbip usbip dbg: usbip_bind.c: 231 (use_device_by_usbip) bind 3-3.2 complete!
(snip)
Iterate the above operation for other devices if you like. trois:# usbip list -l
Local USB devices
=================
...
- busid 3-3.2 (04bb:0206)
3-3.2:1.0 -> usbip-host
...
-------------------------------------------------------------------------------------------------------- ---------------------------
- CLIENT SIDE ------------------------------------------------------------------------------------------ CLIENT SIDE
-------------------------------------------------------------------------------------------------------- ---------------------------
First, let's list available remote devices which are marked as exportable in First, let's list available remote devices that are marked as
the server host. exportable on the host.
deux:# insmod (somewhere)/usbip-core.ko deux:# insmod path/to/usbip-core.ko
deux:# insmod (somewhere)/vhci_hcd.ko deux:# insmod path/to/vhci-hcd.ko
deux:# usbip --list 10.0.0.3 deux:# usbip list --remote 10.0.0.3
- 10.0.0.3 - 10.0.0.3
1-1: Prolific Technology, Inc. : unknown product (067b:3507) 1-1: Prolific Technology, Inc. : unknown product (067b:3507)
: /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-1 : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-1
...@@ -159,27 +160,14 @@ the server host. ...@@ -159,27 +160,14 @@ the server host.
: 1 - Audio / Control Device / unknown protocol (01/01/00) : 1 - Audio / Control Device / unknown protocol (01/01/00)
: 2 - Audio / Streaming / unknown protocol (01/02/00) : 2 - Audio / Streaming / unknown protocol (01/02/00)
4-1: Logitech, Inc. : QuickCam Express (046d:0870) Attach a remote USB device:
: /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0a.1/usb4/4-1
: Vendor Specific Class / Vendor Specific Subclass / Vendor Specific Protocol (ff/ff/ff)
: 0 - Vendor Specific Class / Vendor Specific Subclass / Vendor Specific Protocol (ff/ff/ff)
4-2: Texas Instruments Japan : unknown product (08bb:2702)
: /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0a.1/usb4/4-2
: (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
: 0 - Audio / Control Device / unknown protocol (01/01/00)
: 1 - Audio / Streaming / unknown protocol (01/02/00)
--------------------------------------------------------------------------------------------------------
Attach a remote usb device!
deux:# usbip --attach 10.0.0.3 1-1 deux:# usbip attach --host 10.0.0.3 --busid 1-1
port 0 attached port 0 attached
-------------------------------------------------------------------------------------------------------- Show the devices attached to this client:
Show what devices are attached to this client.
deux:# usbip --port deux:# usbip port
Port 00: <Port in Use> at Full Speed(12Mbps) Port 00: <Port in Use> at Full Speed(12Mbps)
Prolific Technology, Inc. : unknown product (067b:3507) Prolific Technology, Inc. : unknown product (067b:3507)
6-1 -> usbip://10.0.0.3:3240/1-1 (remote bus/dev 001/004) 6-1 -> usbip://10.0.0.3:3240/1-1 (remote bus/dev 001/004)
...@@ -188,28 +176,23 @@ Show what devices are attached to this client. ...@@ -188,28 +176,23 @@ Show what devices are attached to this client.
/sys/class/scsi_host/host0/device /sys/class/scsi_host/host0/device
/sys/block/sda/device /sys/block/sda/device
-------------------------------------------------------------------------------------------------------- Detach the imported device:
Detach the imported device.
deux:# usbip --detach 0 deux:# usbip detach --port 0
port 0 detached port 0 detached
--------------------------------------------------------------------------------------------------------
[Check List] [Checklist]
- See Debug Tips in the project wiki. - See 'Debug Tips' on the project wiki.
- http://usbip.wiki.sourceforge.net/how-to-debug-usbip - http://usbip.wiki.sourceforge.net/how-to-debug-usbip
- usbip-host.ko must be bound to the target device. - usbip-host.ko must be bound to the target device.
- See /proc/bus/usb/devices and find "Driver=..." lines of the device. - See /proc/bus/usb/devices and find "Driver=..." lines of the device.
- Shutdown firewall. - Shutdown firewall.
- usbip now uses TCP port 3240. - usbip now uses TCP port 3240.
- Disable SELinux. - Disable SELinux.
- If possible, compile your kernel with CONFIG_USB_DEBUG flag and try - If possible, compile your kernel with CONFIG_USB_DEBUG flag and try again.
again. - Check the kernel and daemon messages.
- Check your kernel and daemon messages.
ex. /var/log/{messages, kern.log, daemon.log, syslog}
[Contact] [Contact]
Mailing List: usbip-devel _at_ lists.sourceforge.net Mailing List: linux-usb@vger.kernel.org
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment