~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/usb/usbip/README

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/usb/usbip/README (Architecture alpha) and /tools/usb/usbip/README (Architecture m68k)


  1 #                                                   1 #
  2 # README for usbip-utils                            2 # README for usbip-utils
  3 #                                                   3 #
  4 # Copyright (C) 2011 matt mooney <mfm@muteddisk      4 # Copyright (C) 2011 matt mooney <mfm@muteddisk.com>
  5 #               2005-2008 Takahiro Hirofuchi        5 #               2005-2008 Takahiro Hirofuchi
  6                                                     6 
  7 [Overview]                                          7 [Overview]
  8 USB/IP protocol allows to pass USB device from      8 USB/IP protocol allows to pass USB device from server to client over the
  9 network. Server is a machine which provides (s      9 network. Server is a machine which provides (shares) a USB device. Client is
 10 a machine which uses USB device provided by se     10 a machine which uses USB device provided by server over the network.
 11 The USB device may be either physical device c     11 The USB device may be either physical device connected to a server or
 12 software entity created on a server using USB      12 software entity created on a server using USB gadget subsystem.
 13 Whole project consists of four parts:              13 Whole project consists of four parts:
 14                                                    14 
 15     - usbip-vhci                                   15     - usbip-vhci
 16         A client side kernel module which prov     16         A client side kernel module which provides a virtual USB Host Controller
 17         and allows to import a USB device from     17         and allows to import a USB device from a remote machine.
 18                                                    18 
 19     - usbip-host (stub driver)                     19     - usbip-host (stub driver)
 20         A server side module which provides a      20         A server side module which provides a USB device driver which can be
 21         bound to a physical USB device to make     21         bound to a physical USB device to make it exportable.
 22                                                    22 
 23     - usbip-vudc                                   23     - usbip-vudc
 24         A server side module which provides a      24         A server side module which provides a virtual USB Device Controller and allows
 25         to export a USB device created using U     25         to export a USB device created using USB Gadget Subsystem.
 26                                                    26 
 27     - usbip-utils                                  27     - usbip-utils
 28         A set of userspace tools used to handl     28         A set of userspace tools used to handle connection and management.
 29         Used on both sides.                        29         Used on both sides.
 30                                                    30 
 31 [Requirements]                                     31 [Requirements]
 32     - USB/IP device drivers                        32     - USB/IP device drivers
 33         Found in the drivers/usb/usbip/ direct     33         Found in the drivers/usb/usbip/ directory of the Linux kernel tree.
 34                                                    34 
 35     - libudev >= 2.0                               35     - libudev >= 2.0
 36         libudev library                            36         libudev library
 37                                                    37 
 38     - libwrap0-dev                                 38     - libwrap0-dev
 39         tcp wrapper library                        39         tcp wrapper library
 40                                                    40 
 41     - gcc >= 4.0                                   41     - gcc >= 4.0
 42                                                    42 
 43     - libtool, automake >= 1.9, autoconf >= 2.     43     - libtool, automake >= 1.9, autoconf >= 2.5.0, pkg-config
 44                                                    44 
 45 [Optional]                                         45 [Optional]
 46     - hwdata                                       46     - hwdata
 47         Contains USB device identification dat     47         Contains USB device identification data.
 48                                                    48 
 49                                                    49 
 50 [Install]                                          50 [Install]
 51     0. Generate configuration scripts.             51     0. Generate configuration scripts.
 52         $ ./autogen.sh                             52         $ ./autogen.sh
 53                                                    53 
 54     1. Compile & install the userspace utiliti     54     1. Compile & install the userspace utilities.
 55         $ ./configure [--with-tcp-wrappers=no]     55         $ ./configure [--with-tcp-wrappers=no] [--with-usbids-dir=<dir>]
 56         $ make install                             56         $ make install
 57                                                    57 
 58     2. Compile & install USB/IP drivers.           58     2. Compile & install USB/IP drivers.
 59                                                    59 
 60                                                    60 
 61 [Usage]                                            61 [Usage]
 62 On a server side there are two entities which      62 On a server side there are two entities which can be shared.
 63 First of them is physical usb device connected     63 First of them is physical usb device connected to the machine.
 64 To make it available below steps should be exe     64 To make it available below steps should be executed:
 65                                                    65 
 66     server:# (Physically attach your USB devic     66     server:# (Physically attach your USB device.)
 67                                                    67 
 68     server:# insmod usbip-core.ko                  68     server:# insmod usbip-core.ko
 69     server:# insmod usbip-host.ko                  69     server:# insmod usbip-host.ko
 70                                                    70 
 71     server:# usbipd -D                             71     server:# usbipd -D
 72         - Start usbip daemon.                      72         - Start usbip daemon.
 73                                                    73 
 74     server:# usbip list -l                         74     server:# usbip list -l
 75         - List driver assignments for USB devi     75         - List driver assignments for USB devices.
 76                                                    76 
 77     server:# usbip bind --busid 1-2                77     server:# usbip bind --busid 1-2
 78         - Bind usbip-host.ko to the device wit     78         - Bind usbip-host.ko to the device with busid 1-2.
 79         - The USB device 1-2 is now exportable     79         - The USB device 1-2 is now exportable to other hosts!
 80         - Use `usbip unbind --busid 1-2' to st     80         - Use `usbip unbind --busid 1-2' to stop exporting the device.
 81                                                    81 
 82 Second of shareable entities is USB Gadget cre     82 Second of shareable entities is USB Gadget created using USB Gadget Subsystem
 83 on a server machine. To make it available belo     83 on a server machine. To make it available below steps should be executed:
 84                                                    84 
 85     server:# (Create your USB gadget)              85     server:# (Create your USB gadget)
 86         - Currently the most preferable way of     86         - Currently the most preferable way of creating a new USB gadget
 87           is ConfigFS Composite Gadget. Please     87           is ConfigFS Composite Gadget. Please refer to its documentation
 88           for details.                             88           for details.
 89         - See vudc_server_example.sh for a sho     89         - See vudc_server_example.sh for a short example of USB gadget creation
 90                                                    90 
 91     server:# insmod usbip-core.ko                  91     server:# insmod usbip-core.ko
 92     server:# insmod usbip-vudc.ko                  92     server:# insmod usbip-vudc.ko
 93         - To create more than one instance of      93         - To create more than one instance of vudc use num module param
 94                                                    94 
 95     server:# (Bind gadget to one of available      95     server:# (Bind gadget to one of available vudc)
 96         - Assign your new gadget to USB/IP UDC     96         - Assign your new gadget to USB/IP UDC
 97         - Using ConfigFS interface you may do      97         - Using ConfigFS interface you may do this simply by:
 98             server:# cd /sys/kernel/config/usb     98             server:# cd /sys/kernel/config/usb_gadget/<gadget_name>
 99             server:# echo "usbip-vudc.0" > UDC     99             server:# echo "usbip-vudc.0" > UDC
100                                                   100 
101     server:# usbipd -D --device                   101     server:# usbipd -D --device
102         - Start usbip daemon.                     102         - Start usbip daemon.
103                                                   103 
104 To attach new device to client machine below c    104 To attach new device to client machine below commands should be used:
105                                                   105 
106     client:# insmod usbip-core.ko                 106     client:# insmod usbip-core.ko
107     client:# insmod vhci-hcd.ko                   107     client:# insmod vhci-hcd.ko
108                                                   108 
109     client:# usbip list --remote <host>           109     client:# usbip list --remote <host>
110         - List exported USB devices on the <ho    110         - List exported USB devices on the <host>.
111                                                   111 
112     client:# usbip attach --remote <host> --bu    112     client:# usbip attach --remote <host> --busid 1-2
113         - Connect the remote USB device.          113         - Connect the remote USB device.
114         - When using vudc on a server side bus    114         - When using vudc on a server side busid is really vudc instance name.
115           For example: usbip-vudc.0               115           For example: usbip-vudc.0
116                                                   116 
117     client:# usbip port                           117     client:# usbip port
118         - Show virtual port status.               118         - Show virtual port status.
119                                                   119 
120     client:# usbip detach --port <port>           120     client:# usbip detach --port <port>
121         - Detach the USB device.                  121         - Detach the USB device.
122                                                   122 
123                                                   123 
124 [Example]                                         124 [Example]
125 ---------------------------                       125 ---------------------------
126         SERVER SIDE                               126         SERVER SIDE
127 ---------------------------                       127 ---------------------------
128 Physically attach your USB devices to this hos    128 Physically attach your USB devices to this host.
129                                                   129 
130     trois:# insmod path/to/usbip-core.ko          130     trois:# insmod path/to/usbip-core.ko
131     trois:# insmod path/to/usbip-host.ko          131     trois:# insmod path/to/usbip-host.ko
132     trois:# usbipd -D                             132     trois:# usbipd -D
133                                                   133 
134 In another terminal, let's look up what USB de    134 In another terminal, let's look up what USB devices are physically
135 attached to this host.                            135 attached to this host.
136                                                   136 
137     trois:# usbip list -l                         137     trois:# usbip list -l
138     Local USB devices                             138     Local USB devices
139     =================                             139     =================
140      - busid 1-1 (05a9:a511)                      140      - busid 1-1 (05a9:a511)
141              1-1:1.0                              141              1-1:1.0
142                                                   142 
143      - busid 3-2 (0711:0902)                      143      - busid 3-2 (0711:0902)
144              3-2:1.0                              144              3-2:1.0
145                                                   145 
146      - busid 3-3.1 (08bb:2702)                    146      - busid 3-3.1 (08bb:2702)
147              3-3.1:1.0                            147              3-3.1:1.0
148              3-3.1:1.1                            148              3-3.1:1.1
149                                                   149 
150      - busid 3-3.2 (04bb:0206)                    150      - busid 3-3.2 (04bb:0206)
151              3-3.2:1.0                            151              3-3.2:1.0
152                                                   152 
153      - busid 3-3 (0409:0058)                      153      - busid 3-3 (0409:0058)
154              3-3:1.0                              154              3-3:1.0
155                                                   155 
156      - busid 4-1 (046d:08b2)                      156      - busid 4-1 (046d:08b2)
157              4-1:1.0                              157              4-1:1.0
158              4-1:1.1                              158              4-1:1.1
159              4-1:1.2                              159              4-1:1.2
160                                                   160 
161      - busid 5-2 (058f:9254)                      161      - busid 5-2 (058f:9254)
162              5-2:1.0                              162              5-2:1.0
163                                                   163 
164 A USB storage device of busid 3-3.2 is now bou    164 A USB storage device of busid 3-3.2 is now bound to the usb-storage
165 driver. To export this device, we first mark t    165 driver. To export this device, we first mark the device as
166 "exportable"; the device is bound to the usbip    166 "exportable"; the device is bound to the usbip-host driver. Please
167 remember you can not export a USB hub.            167 remember you can not export a USB hub.
168                                                   168 
169 Mark the device of busid 3-3.2 as exportable:     169 Mark the device of busid 3-3.2 as exportable:
170                                                   170 
171     trois:# usbip --debug bind --busid 3-3.2      171     trois:# usbip --debug bind --busid 3-3.2
172     ...                                           172     ...
173     usbip debug: usbip_bind.c:162:[unbind_othe    173     usbip debug: usbip_bind.c:162:[unbind_other] 3-3.2:1.0 -> usb-storage
174     ...                                           174     ...
175     bind device on busid 3-3.2: complete          175     bind device on busid 3-3.2: complete
176                                                   176 
177     trois:# usbip list -l                         177     trois:# usbip list -l
178     Local USB devices                             178     Local USB devices
179     =================                             179     =================
180     ...                                           180     ...
181                                                   181 
182      - busid 3-3.2 (04bb:0206)                    182      - busid 3-3.2 (04bb:0206)
183              3-3.2:1.0                            183              3-3.2:1.0
184     ...                                           184     ...
185                                                   185 
186 ---------------------------                       186 ---------------------------
187         CLIENT SIDE                               187         CLIENT SIDE
188 ---------------------------                       188 ---------------------------
189 First, let's list available remote devices tha    189 First, let's list available remote devices that are marked as
190 exportable on the host.                           190 exportable on the host.
191                                                   191 
192     deux:# insmod path/to/usbip-core.ko           192     deux:# insmod path/to/usbip-core.ko
193     deux:# insmod path/to/vhci-hcd.ko             193     deux:# insmod path/to/vhci-hcd.ko
194                                                   194 
195     deux:# usbip list --remote 10.0.0.3           195     deux:# usbip list --remote 10.0.0.3
196     Exportable USB devices                        196     Exportable USB devices
197     ======================                        197     ======================
198      - 10.0.0.3                                   198      - 10.0.0.3
199             1-1: Prolific Technology, Inc. : u    199             1-1: Prolific Technology, Inc. : unknown product (067b:3507)
200                : /sys/devices/pci0000:00/0000:    200                : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-1
201                : (Defined at Interface level)     201                : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
202                :  0 - Mass Storage / SCSI / Bu    202                :  0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50)
203                                                   203 
204         1-2.2.1: Apple Computer, Inc. : unknow    204         1-2.2.1: Apple Computer, Inc. : unknown product (05ac:0203)
205                : /sys/devices/pci0000:00/0000:    205                : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.1
206                : (Defined at Interface level)     206                : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
207                :  0 - Human Interface Devices     207                :  0 - Human Interface Devices / Boot Interface Subclass / Keyboard (03/01/01)
208                                                   208 
209         1-2.2.3: OmniVision Technologies, Inc.    209         1-2.2.3: OmniVision Technologies, Inc. : OV511+ WebCam (05a9:a511)
210                : /sys/devices/pci0000:00/0000:    210                : /sys/devices/pci0000:00/0000:00:1f.2/usb1/1-2/1-2.2/1-2.2.3
211                : (Defined at Interface level)     211                : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
212                :  0 - Vendor Specific Class /     212                :  0 - Vendor Specific Class / unknown subclass / unknown protocol (ff/00/00)
213                                                   213 
214             3-1: Logitech, Inc. : QuickCam Pro    214             3-1: Logitech, Inc. : QuickCam Pro 4000 (046d:08b2)
215                : /sys/devices/pci0000:00/0000:    215                : /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0a.0/usb3/3-1
216                : (Defined at Interface level)     216                : (Defined at Interface level) / unknown subclass / unknown protocol (00/00/00)
217                :  0 - Data / unknown subclass     217                :  0 - Data / unknown subclass / unknown protocol (0a/ff/00)
218                :  1 - Audio / Control Device /    218                :  1 - Audio / Control Device / unknown protocol (01/01/00)
219                :  2 - Audio / Streaming / unkn    219                :  2 - Audio / Streaming / unknown protocol (01/02/00)
220                                                   220 
221 Attach a remote USB device:                       221 Attach a remote USB device:
222                                                   222 
223     deux:# usbip attach --remote 10.0.0.3 --bu    223     deux:# usbip attach --remote 10.0.0.3 --busid 1-1
224     port 0 attached                               224     port 0 attached
225                                                   225 
226 Show the devices attached to this client:         226 Show the devices attached to this client:
227                                                   227 
228     deux:# usbip port                             228     deux:# usbip port
229     Port 00: <Port in Use> at Full Speed(12Mbp    229     Port 00: <Port in Use> at Full Speed(12Mbps)
230            Prolific Technology, Inc. : unknown    230            Prolific Technology, Inc. : unknown product (067b:3507)
231            6-1 -> usbip://10.0.0.3:3240/1-1  (    231            6-1 -> usbip://10.0.0.3:3240/1-1  (remote bus/dev 001/004)
232            6-1:1.0 used by usb-storage            232            6-1:1.0 used by usb-storage
233                           /sys/class/scsi_devi    233                           /sys/class/scsi_device/0:0:0:0/device
234                           /sys/class/scsi_host    234                           /sys/class/scsi_host/host0/device
235                           /sys/block/sda/devic    235                           /sys/block/sda/device
236                                                   236 
237 Detach the imported device:                       237 Detach the imported device:
238                                                   238 
239     deux:# usbip detach --port 0                  239     deux:# usbip detach --port 0
240     port 0 detached                               240     port 0 detached
241                                                   241 
242                                                   242 
243 [Checklist]                                       243 [Checklist]
244     - See 'Debug Tips' on the project wiki.       244     - See 'Debug Tips' on the project wiki.
245         - http://usbip.wiki.sourceforge.net/ho    245         - http://usbip.wiki.sourceforge.net/how-to-debug-usbip
246     - usbip-host.ko must be bound to the targe    246     - usbip-host.ko must be bound to the target device.
247         - See /sys/kernel/debug/usb/devices an    247         - See /sys/kernel/debug/usb/devices and find "Driver=..." lines of the device.
248     - Target USB gadget must be bound to vudc     248     - Target USB gadget must be bound to vudc
249       (using USB gadget susbsys, not usbip bin    249       (using USB gadget susbsys, not usbip bind command)
250     - Shutdown firewall.                          250     - Shutdown firewall.
251         - usbip now uses TCP port 3240.           251         - usbip now uses TCP port 3240.
252     - Disable SELinux.                            252     - Disable SELinux.
253     - Check the kernel and daemon messages.       253     - Check the kernel and daemon messages.
254                                                   254 
255                                                   255 
256 [Contact]                                         256 [Contact]
257     Mailing List: linux-usb@vger.kernel.org       257     Mailing List: linux-usb@vger.kernel.org
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php