-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
114 lines (82 loc) · 4.04 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# vim:tw=78:ts=4:expandtab:ai:sw=4
#
# $Id: README 75 2008-04-29 04:24:46Z hirofuchi $
#
# Copyright (C) 2003-2008 Takahiro Hirofuchi
Overview
The USB/IP Project aims to develop a general USB device sharing system
over IP network. To share USB devices between computers with their
full functionality, USB/IP encapsulates "USB requests" into IP packets
and transmits them between computers. Original USB device drivers and
applications can be also used for remote USB devices without any
modification of them. A computer can use remote USB devices as if
they were directly attached; for example, we can ...
- USB storage devices: fdisk, mkfs, mount/umount, file operations,
play a DVD movie and record a DVD-R media.
- USB keyboards and USB mice: use with linux console and X Window
System.
- USB webcams and USB speakers: view webcam, capture image data and
play some music.
- USB printers, USB scanners, USB serial converters and USB Ethernet
interfaces: ok, use fine.
On one host, the VHCI (Virtual Host Controller Interface) driver
is implemented as a USB host controller driver. The VHCI driver
emulates a real USB host controller interface for virtual
attachment/detachment, enumeration and initialization of remote USB
devices. It encapsulates USB request blocks and then transmits USB/IP
packets to a remote host. On the other host, the Stub driver is
implemented as a USB per-device driver. The Stub driver decapsulates
USB/IP packets into USB requests and then submit them to real USB
devices.
For more information, please see http://usbip.sourceforge.net/ .
The detail is described in an academic paper.
Compile & Install
USB/IP needs both kernel drivers and userland utilities.
The kernel modules are in the drivers/ subdirectory.
See drivers/README for details.
The userspace applications are in the src/ subdirectory.
See src/README for details
Usages
- Import devices from a server host.
Normal operation. e.g., device servers.
Read src/README for details.
- Export devices automatically when plugged.
e.g., thin client systems and remote desktop programs.
Read src/README.usbaid for details.
This feature is added by Robert. Thanks.
Wiki
http://usbip.wiki.sourceforge.net/
FAQ, Todo list, Known bugs, and so on.
Public Forum and Mailing List
They are available in the project page on sourceforge.net.
Forum
http://sourceforge.net/forum/forum.php?forum_id=418509
Mailing List
http://sourceforge.net/mail/?group_id=122798
RSS feeds (e.g., the latest file releases)
http://sourceforge.net/export/rss2_project.php?group_id=122798
Contact
Bug reports, feature requests, and your comments are welcome.
Please use the above forum and the mailing list, or contact us.
usbip-devel _at_ lists.sourceforge.net (Recommended)
Takahiro Hirofuchi <hirofuchi _at_ users.sourceforge.net>
University of Freiburg
Robert Leibl <robertleibl _at_ users.sourceforge.net>
License
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Thanks
All the people who gave me comments, bug report, and helpful code!
I refer some Linux kernel code; especially,
drivers/usb/usb-skeleton.c
drivers/usb/dummy_hcd.c
drivers/usb/host/* .