Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 1 | # |
| 2 | # README for usbip-utils |
| 3 | # |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 4 | # Copyright (C) 2011 matt mooney <mfm@muteddisk.com> |
| 5 | # 2005-2008 Takahiro Hirofuchi |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 6 | |
| 7 | |
| 8 | [Requirements] |
| 9 | - USB/IP device drivers |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 10 | Found in the staging directory of the Linux kernel. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 11 | |
Valentina Manea | 98ada08 | 2014-03-08 14:53:30 +0200 | [diff] [blame] | 12 | - libudev >= 2.0 |
| 13 | libudev library |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 14 | |
| 15 | - libwrap0-dev |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 16 | tcp wrapper library |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 17 | |
| 18 | - gcc >= 4.0 |
| 19 | |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 20 | - libtool, automake >= 1.9, autoconf >= 2.5.0, pkg-config |
| 21 | |
Valentina Manea | 04f7bb9 | 2014-03-08 14:53:36 +0200 | [diff] [blame] | 22 | [Optional] |
| 23 | - hwdata |
| 24 | Contains USB device identification data. |
| 25 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 26 | |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 27 | [Install] |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 28 | 0. Generate configuration scripts. |
| 29 | $ ./autogen.sh |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 30 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 31 | 1. Compile & install the userspace utilities. |
| 32 | $ ./configure [--with-tcp-wrappers=no] [--with-usbids-dir=<dir>] |
| 33 | $ make install |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 34 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 35 | 2. Compile & install USB/IP drivers. |
| 36 | |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 37 | |
| 38 | [Usage] |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 39 | server:# (Physically attach your USB device.) |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 40 | |
matt mooney | 220973d | 2011-05-14 03:55:12 -0700 | [diff] [blame] | 41 | server:# insmod usbip-core.ko |
| 42 | server:# insmod usbip-host.ko |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 43 | |
| 44 | server:# usbipd -D |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 45 | - Start usbip daemon. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 46 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 47 | server:# usbip list -l |
| 48 | - List driver assignments for USB devices. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 49 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 50 | server:# usbip bind --busid 1-2 |
| 51 | - Bind usbip-host.ko to the device with busid 1-2. |
| 52 | - The USB device 1-2 is now exportable to other hosts! |
| 53 | - Use `usbip unbind --busid 1-2' to stop exporting the device. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 54 | |
matt mooney | 220973d | 2011-05-14 03:55:12 -0700 | [diff] [blame] | 55 | client:# insmod usbip-core.ko |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 56 | client:# insmod vhci-hcd.ko |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 57 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 58 | client:# usbip list --remote <host> |
| 59 | - List exported USB devices on the <host>. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 60 | |
Kurt Kanzenbach | 80e4b94 | 2013-04-04 16:03:15 +0200 | [diff] [blame] | 61 | client:# usbip attach --remote <host> --busid 1-2 |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 62 | - Connect the remote USB device. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 63 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 64 | client:# usbip port |
| 65 | - Show virtual port status. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 66 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 67 | client:# usbip detach --port <port> |
| 68 | - Detach the USB device. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 69 | |
| 70 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 71 | [Example] |
| 72 | --------------------------- |
| 73 | SERVER SIDE |
| 74 | --------------------------- |
| 75 | Physically attach your USB devices to this host. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 76 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 77 | trois:# insmod path/to/usbip-core.ko |
| 78 | trois:# insmod path/to/usbip-host.ko |
| 79 | trois:# usbipd -D |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 80 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 81 | In another terminal, let's look up what USB devices are physically |
| 82 | attached to this host. |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 83 | |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 84 | trois:# usbip list -l |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 85 | Local USB devices |
| 86 | ================= |
| 87 | - busid 1-1 (05a9:a511) |
| 88 | 1-1:1.0 -> ov511 |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 89 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 90 | - busid 3-2 (0711:0902) |
| 91 | 3-2:1.0 -> none |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 92 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 93 | - busid 3-3.1 (08bb:2702) |
| 94 | 3-3.1:1.0 -> snd-usb-audio |
| 95 | 3-3.1:1.1 -> snd-usb-audio |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 96 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 97 | - busid 3-3.2 (04bb:0206) |
| 98 | 3-3.2:1.0 -> usb-storage |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 99 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 100 | - busid 3-3 (0409:0058) |
| 101 | 3-3:1.0 -> hub |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 102 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 103 | - busid 4-1 (046d:08b2) |
| 104 | 4-1:1.0 -> none |
| 105 | 4-1:1.1 -> none |
| 106 | 4-1:1.2 -> none |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 107 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 108 | - busid 5-2 (058f:9254) |
| 109 | 5-2:1.0 -> hub |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 110 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 111 | A USB storage device of busid 3-3.2 is now bound to the usb-storage |
| 112 | driver. To export this device, we first mark the device as |
| 113 | "exportable"; the device is bound to the usbip-host driver. Please |
| 114 | remember you can not export a USB hub. |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 115 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 116 | Mark the device of busid 3-3.2 as exportable: |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 117 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 118 | trois:# usbip --debug bind --busid 3-3.2 |
| 119 | ... |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 120 | usbip debug: usbip_bind.c:162:[unbind_other] 3-3.2:1.0 -> usb-storage |
| 121 | ... |
| 122 | bind device on busid 3-3.2: complete |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 123 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 124 | trois:# usbip list -l |
| 125 | Local USB devices |
| 126 | ================= |
| 127 | ... |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 128 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 129 | - busid 3-3.2 (04bb:0206) |
| 130 | 3-3.2:1.0 -> usbip-host |
| 131 | ... |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 132 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 133 | --------------------------- |
| 134 | CLIENT SIDE |
| 135 | --------------------------- |
| 136 | First, let's list available remote devices that are marked as |
| 137 | exportable on the host. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 138 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 139 | deux:# insmod path/to/usbip-core.ko |
| 140 | deux:# insmod path/to/vhci-hcd.ko |
| 141 | |
| 142 | deux:# usbip list --remote 10.0.0.3 |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 143 | Exportable USB devices |
| 144 | ====================== |
| 145 | - 10.0.0.3 |
| 146 | 1-1: Prolific Technology, Inc. : unknown product (067b:3507) |
| 147 | : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-1 |
| 148 | : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00) |
| 149 | : 0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50) |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 150 | |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 151 | 1-2.2.1: Apple Computer, Inc. : unknown product (05ac:0203) |
| 152 | : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.1 |
| 153 | : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00) |
| 154 | : 0 - Human Interface Devices / Boot Interface Subclass / Keyboard (03/01/01) |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 155 | |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 156 | 1-2.2.3: OmniVision Technologies, Inc. : OV511+ WebCam (05a9:a511) |
| 157 | : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.3 |
| 158 | : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00) |
| 159 | : 0 - Vendor Specific Class / unknown subclass / unknown protocol (ff/00/00) |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 160 | |
matt mooney | 45dd9a9 | 2011-07-07 00:31:55 -0700 | [diff] [blame] | 161 | 3-1: Logitech, Inc. : QuickCam Pro 4000 (046d:08b2) |
| 162 | : /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0a.0/usb3/3-1 |
| 163 | : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00) |
| 164 | : 0 - Data / unknown subclass / unknown protocol (0a/ff/00) |
| 165 | : 1 - Audio / Control Device / unknown protocol (01/01/00) |
| 166 | : 2 - Audio / Streaming / unknown protocol (01/02/00) |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 167 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 168 | Attach a remote USB device: |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 169 | |
Kurt Kanzenbach | 80e4b94 | 2013-04-04 16:03:15 +0200 | [diff] [blame] | 170 | deux:# usbip attach --remote 10.0.0.3 --busid 1-1 |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 171 | port 0 attached |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 172 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 173 | Show the devices attached to this client: |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 174 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 175 | deux:# usbip port |
| 176 | Port 00: <Port in Use> at Full Speed(12Mbps) |
| 177 | Prolific Technology, Inc. : unknown product (067b:3507) |
| 178 | 6-1 -> usbip://10.0.0.3:3240/1-1 (remote bus/dev 001/004) |
| 179 | 6-1:1.0 used by usb-storage |
| 180 | /sys/class/scsi_device/0:0:0:0/device |
| 181 | /sys/class/scsi_host/host0/device |
| 182 | /sys/block/sda/device |
matt mooney | 9abec45 | 2011-05-14 03:55:11 -0700 | [diff] [blame] | 183 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 184 | Detach the imported device: |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 185 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 186 | deux:# usbip detach --port 0 |
| 187 | port 0 detached |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 188 | |
| 189 | |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 190 | [Checklist] |
| 191 | - See 'Debug Tips' on the project wiki. |
| 192 | - http://usbip.wiki.sourceforge.net/how-to-debug-usbip |
matt mooney | 220973d | 2011-05-14 03:55:12 -0700 | [diff] [blame] | 193 | - usbip-host.ko must be bound to the target device. |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 194 | - See /proc/bus/usb/devices and find "Driver=..." lines of the device. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 195 | - Shutdown firewall. |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 196 | - usbip now uses TCP port 3240. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 197 | - Disable SELinux. |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 198 | - Check the kernel and daemon messages. |
Takahiro Hirofuchi | 0945b4f | 2011-05-14 03:55:07 -0700 | [diff] [blame] | 199 | |
| 200 | |
| 201 | [Contact] |
matt mooney | 8941521 | 2011-06-16 02:24:59 -0700 | [diff] [blame] | 202 | Mailing List: linux-usb@vger.kernel.org |