1ecefae6dSMauro Carvalho Chehab===============================
2ecefae6dSMauro Carvalho ChehabLinux Gadget Serial Driver v2.0
3ecefae6dSMauro Carvalho Chehab===============================
4ecefae6dSMauro Carvalho Chehab
5ecefae6dSMauro Carvalho Chehab11/20/2004
6ecefae6dSMauro Carvalho Chehab
7ecefae6dSMauro Carvalho Chehab(updated 8-May-2008 for v2.3)
8ecefae6dSMauro Carvalho Chehab
9ecefae6dSMauro Carvalho Chehab
10ecefae6dSMauro Carvalho ChehabLicense and Disclaimer
11ecefae6dSMauro Carvalho Chehab----------------------
12ecefae6dSMauro Carvalho ChehabThis program is free software; you can redistribute it and/or
13ecefae6dSMauro Carvalho Chehabmodify it under the terms of the GNU General Public License as
14ecefae6dSMauro Carvalho Chehabpublished by the Free Software Foundation; either version 2 of
15ecefae6dSMauro Carvalho Chehabthe License, or (at your option) any later version.
16ecefae6dSMauro Carvalho Chehab
17ecefae6dSMauro Carvalho ChehabThis program is distributed in the hope that it will be useful,
18ecefae6dSMauro Carvalho Chehabbut WITHOUT ANY WARRANTY; without even the implied warranty of
19ecefae6dSMauro Carvalho ChehabMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20ecefae6dSMauro Carvalho ChehabGNU General Public License for more details.
21ecefae6dSMauro Carvalho Chehab
22ecefae6dSMauro Carvalho ChehabYou should have received a copy of the GNU General Public
23ecefae6dSMauro Carvalho ChehabLicense along with this program; if not, write to the Free
24ecefae6dSMauro Carvalho ChehabSoftware Foundation, Inc., 59 Temple Place, Suite 330, Boston,
25ecefae6dSMauro Carvalho ChehabMA 02111-1307 USA.
26ecefae6dSMauro Carvalho Chehab
27ecefae6dSMauro Carvalho ChehabThis document and the gadget serial driver itself are
28ecefae6dSMauro Carvalho ChehabCopyright (C) 2004 by Al Borchers (alborchers@steinerpoint.com).
29ecefae6dSMauro Carvalho Chehab
30ecefae6dSMauro Carvalho ChehabIf you have questions, problems, or suggestions for this driver
31ecefae6dSMauro Carvalho Chehabplease contact Al Borchers at alborchers@steinerpoint.com.
32ecefae6dSMauro Carvalho Chehab
33ecefae6dSMauro Carvalho Chehab
34ecefae6dSMauro Carvalho ChehabPrerequisites
35ecefae6dSMauro Carvalho Chehab-------------
36ecefae6dSMauro Carvalho ChehabVersions of the gadget serial driver are available for the
37ecefae6dSMauro Carvalho Chehab2.4 Linux kernels, but this document assumes you are using
38ecefae6dSMauro Carvalho Chehabversion 2.3 or later of the gadget serial driver in a 2.6
39ecefae6dSMauro Carvalho ChehabLinux kernel.
40ecefae6dSMauro Carvalho Chehab
41ecefae6dSMauro Carvalho ChehabThis document assumes that you are familiar with Linux and
42ecefae6dSMauro Carvalho ChehabWindows and know how to configure and build Linux kernels, run
43ecefae6dSMauro Carvalho Chehabstandard utilities, use minicom and HyperTerminal, and work with
44ecefae6dSMauro Carvalho ChehabUSB and serial devices.  It also assumes you configure the Linux
45ecefae6dSMauro Carvalho Chehabgadget and usb drivers as modules.
46ecefae6dSMauro Carvalho Chehab
47ecefae6dSMauro Carvalho ChehabWith version 2.3 of the driver, major and minor device nodes are
48ecefae6dSMauro Carvalho Chehabno longer statically defined.  Your Linux based system should mount
49ecefae6dSMauro Carvalho Chehabsysfs in /sys, and use "mdev" (in Busybox) or "udev" to make the
50ecefae6dSMauro Carvalho Chehab/dev nodes matching the sysfs /sys/class/tty files.
51ecefae6dSMauro Carvalho Chehab
52ecefae6dSMauro Carvalho Chehab
53ecefae6dSMauro Carvalho Chehab
54ecefae6dSMauro Carvalho ChehabOverview
55ecefae6dSMauro Carvalho Chehab--------
56ecefae6dSMauro Carvalho ChehabThe gadget serial driver is a Linux USB gadget driver, a USB device
57ecefae6dSMauro Carvalho Chehabside driver.  It runs on a Linux system that has USB device side
58ecefae6dSMauro Carvalho Chehabhardware; for example, a PDA, an embedded Linux system, or a PC
59ecefae6dSMauro Carvalho Chehabwith a USB development card.
60ecefae6dSMauro Carvalho Chehab
61ecefae6dSMauro Carvalho ChehabThe gadget serial driver talks over USB to either a CDC ACM driver
62ecefae6dSMauro Carvalho Chehabor a generic USB serial driver running on a host PC::
63ecefae6dSMauro Carvalho Chehab
64ecefae6dSMauro Carvalho Chehab   Host
65ecefae6dSMauro Carvalho Chehab   --------------------------------------
66ecefae6dSMauro Carvalho Chehab  | Host-Side   CDC ACM       USB Host   |
67ecefae6dSMauro Carvalho Chehab  | Operating |   or        | Controller |   USB
68ecefae6dSMauro Carvalho Chehab  | System    | Generic USB | Driver     |--------
69ecefae6dSMauro Carvalho Chehab  | (Linux or | Serial      | and        |        |
70ecefae6dSMauro Carvalho Chehab  | Windows)    Driver        USB Stack  |        |
71ecefae6dSMauro Carvalho Chehab   --------------------------------------         |
72ecefae6dSMauro Carvalho Chehab                                                  |
73ecefae6dSMauro Carvalho Chehab                                                  |
74ecefae6dSMauro Carvalho Chehab                                                  |
75ecefae6dSMauro Carvalho Chehab   Gadget                                         |
76ecefae6dSMauro Carvalho Chehab   --------------------------------------         |
77ecefae6dSMauro Carvalho Chehab  | Gadget                   USB Periph. |        |
78ecefae6dSMauro Carvalho Chehab  | Device-Side |  Gadget  | Controller  |        |
79ecefae6dSMauro Carvalho Chehab  | Linux       |  Serial  | Driver      |--------
80ecefae6dSMauro Carvalho Chehab  | Operating   |  Driver  | and         |
81ecefae6dSMauro Carvalho Chehab  | System                   USB Stack   |
82ecefae6dSMauro Carvalho Chehab   --------------------------------------
83ecefae6dSMauro Carvalho Chehab
84ecefae6dSMauro Carvalho ChehabOn the device-side Linux system, the gadget serial driver looks
85ecefae6dSMauro Carvalho Chehablike a serial device.
86ecefae6dSMauro Carvalho Chehab
87ecefae6dSMauro Carvalho ChehabOn the host-side system, the gadget serial device looks like a
88ecefae6dSMauro Carvalho ChehabCDC ACM compliant class device or a simple vendor specific device
89ecefae6dSMauro Carvalho Chehabwith bulk in and bulk out endpoints, and it is treated similarly
90ecefae6dSMauro Carvalho Chehabto other serial devices.
91ecefae6dSMauro Carvalho Chehab
92ecefae6dSMauro Carvalho ChehabThe host side driver can potentially be any ACM compliant driver
93ecefae6dSMauro Carvalho Chehabor any driver that can talk to a device with a simple bulk in/out
94ecefae6dSMauro Carvalho Chehabinterface.  Gadget serial has been tested with the Linux ACM driver,
95ecefae6dSMauro Carvalho Chehabthe Windows usbser.sys ACM driver, and the Linux USB generic serial
96ecefae6dSMauro Carvalho Chehabdriver.
97ecefae6dSMauro Carvalho Chehab
98ecefae6dSMauro Carvalho ChehabWith the gadget serial driver and the host side ACM or generic
99ecefae6dSMauro Carvalho Chehabserial driver running, you should be able to communicate between
100ecefae6dSMauro Carvalho Chehabthe host and the gadget side systems as if they were connected by a
101ecefae6dSMauro Carvalho Chehabserial cable.
102ecefae6dSMauro Carvalho Chehab
103ecefae6dSMauro Carvalho ChehabThe gadget serial driver only provides simple unreliable data
104ecefae6dSMauro Carvalho Chehabcommunication.  It does not yet handle flow control or many other
105ecefae6dSMauro Carvalho Chehabfeatures of normal serial devices.
106ecefae6dSMauro Carvalho Chehab
107ecefae6dSMauro Carvalho Chehab
108ecefae6dSMauro Carvalho ChehabInstalling the Gadget Serial Driver
109ecefae6dSMauro Carvalho Chehab-----------------------------------
110ecefae6dSMauro Carvalho ChehabTo use the gadget serial driver you must configure the Linux gadget
111ecefae6dSMauro Carvalho Chehabside kernel for "Support for USB Gadgets", for a "USB Peripheral
112ecefae6dSMauro Carvalho ChehabController" (for example, net2280), and for the "Serial Gadget"
113ecefae6dSMauro Carvalho Chehabdriver.  All this are listed under "USB Gadget Support" when
114ecefae6dSMauro Carvalho Chehabconfiguring the kernel.  Then rebuild and install the kernel or
115ecefae6dSMauro Carvalho Chehabmodules.
116ecefae6dSMauro Carvalho Chehab
117ecefae6dSMauro Carvalho ChehabThen you must load the gadget serial driver.  To load it as an
118ecefae6dSMauro Carvalho ChehabACM device (recommended for interoperability), do this::
119ecefae6dSMauro Carvalho Chehab
120ecefae6dSMauro Carvalho Chehab  modprobe g_serial
121ecefae6dSMauro Carvalho Chehab
122ecefae6dSMauro Carvalho ChehabTo load it as a vendor specific bulk in/out device, do this::
123ecefae6dSMauro Carvalho Chehab
124ecefae6dSMauro Carvalho Chehab  modprobe g_serial use_acm=0
125ecefae6dSMauro Carvalho Chehab
126ecefae6dSMauro Carvalho ChehabThis will also automatically load the underlying gadget peripheral
127ecefae6dSMauro Carvalho Chehabcontroller driver.  This must be done each time you reboot the gadget
128ecefae6dSMauro Carvalho Chehabside Linux system.  You can add this to the start up scripts, if
129ecefae6dSMauro Carvalho Chehabdesired.
130ecefae6dSMauro Carvalho Chehab
131ecefae6dSMauro Carvalho ChehabYour system should use mdev (from busybox) or udev to make the
132ecefae6dSMauro Carvalho Chehabdevice nodes.  After this gadget driver has been set up you should
133ecefae6dSMauro Carvalho Chehabthen see a /dev/ttyGS0 node::
134ecefae6dSMauro Carvalho Chehab
135ecefae6dSMauro Carvalho Chehab  # ls -l /dev/ttyGS0 | cat
136ecefae6dSMauro Carvalho Chehab  crw-rw----    1 root     root     253,   0 May  8 14:10 /dev/ttyGS0
137ecefae6dSMauro Carvalho Chehab  #
138ecefae6dSMauro Carvalho Chehab
139ecefae6dSMauro Carvalho ChehabNote that the major number (253, above) is system-specific.  If
140ecefae6dSMauro Carvalho Chehabyou need to create /dev nodes by hand, the right numbers to use
141ecefae6dSMauro Carvalho Chehabwill be in the /sys/class/tty/ttyGS0/dev file.
142ecefae6dSMauro Carvalho Chehab
143ecefae6dSMauro Carvalho ChehabWhen you link this gadget driver early, perhaps even statically,
144ecefae6dSMauro Carvalho Chehabyou may want to set up an /etc/inittab entry to run "getty" on it.
145ecefae6dSMauro Carvalho ChehabThe /dev/ttyGS0 line should work like most any other serial port.
146ecefae6dSMauro Carvalho Chehab
147ecefae6dSMauro Carvalho Chehab
148ecefae6dSMauro Carvalho ChehabIf gadget serial is loaded as an ACM device you will want to use
149ecefae6dSMauro Carvalho Chehabeither the Windows or Linux ACM driver on the host side.  If gadget
150ecefae6dSMauro Carvalho Chehabserial is loaded as a bulk in/out device, you will want to use the
151ecefae6dSMauro Carvalho ChehabLinux generic serial driver on the host side.  Follow the appropriate
152ecefae6dSMauro Carvalho Chehabinstructions below to install the host side driver.
153ecefae6dSMauro Carvalho Chehab
154ecefae6dSMauro Carvalho Chehab
155ecefae6dSMauro Carvalho ChehabInstalling the Windows Host ACM Driver
156ecefae6dSMauro Carvalho Chehab--------------------------------------
157ecefae6dSMauro Carvalho ChehabTo use the Windows ACM driver you must have the "linux-cdc-acm.inf"
158ecefae6dSMauro Carvalho Chehabfile (provided along this document) which supports all recent versions
159ecefae6dSMauro Carvalho Chehabof Windows.
160ecefae6dSMauro Carvalho Chehab
161ecefae6dSMauro Carvalho ChehabWhen the gadget serial driver is loaded and the USB device connected
162ecefae6dSMauro Carvalho Chehabto the Windows host with a USB cable, Windows should recognize the
163ecefae6dSMauro Carvalho Chehabgadget serial device and ask for a driver.  Tell Windows to find the
164ecefae6dSMauro Carvalho Chehabdriver in the folder that contains the "linux-cdc-acm.inf" file.
165ecefae6dSMauro Carvalho Chehab
166ecefae6dSMauro Carvalho ChehabFor example, on Windows XP, when the gadget serial device is first
167ecefae6dSMauro Carvalho Chehabplugged in, the "Found New Hardware Wizard" starts up.  Select
168ecefae6dSMauro Carvalho Chehab"Install from a list or specific location (Advanced)", then on the
169ecefae6dSMauro Carvalho Chehabnext screen select "Include this location in the search" and enter the
170ecefae6dSMauro Carvalho Chehabpath or browse to the folder containing the "linux-cdc-acm.inf" file.
171ecefae6dSMauro Carvalho ChehabWindows will complain that the Gadget Serial driver has not passed
172ecefae6dSMauro Carvalho ChehabWindows Logo testing, but select "Continue anyway" and finish the
173ecefae6dSMauro Carvalho Chehabdriver installation.
174ecefae6dSMauro Carvalho Chehab
175ecefae6dSMauro Carvalho ChehabOn Windows XP, in the "Device Manager" (under "Control Panel",
176ecefae6dSMauro Carvalho Chehab"System", "Hardware") expand the "Ports (COM & LPT)" entry and you
177ecefae6dSMauro Carvalho Chehabshould see "Gadget Serial" listed as the driver for one of the COM
178ecefae6dSMauro Carvalho Chehabports.
179ecefae6dSMauro Carvalho Chehab
180ecefae6dSMauro Carvalho ChehabTo uninstall the Windows XP driver for "Gadget Serial", right click
181ecefae6dSMauro Carvalho Chehabon the "Gadget Serial" entry in the "Device Manager" and select
182ecefae6dSMauro Carvalho Chehab"Uninstall".
183ecefae6dSMauro Carvalho Chehab
184ecefae6dSMauro Carvalho Chehab
185ecefae6dSMauro Carvalho ChehabInstalling the Linux Host ACM Driver
186ecefae6dSMauro Carvalho Chehab------------------------------------
187ecefae6dSMauro Carvalho ChehabTo use the Linux ACM driver you must configure the Linux host side
188ecefae6dSMauro Carvalho Chehabkernel for "Support for Host-side USB" and for "USB Modem (CDC ACM)
189ecefae6dSMauro Carvalho Chehabsupport".
190ecefae6dSMauro Carvalho Chehab
191ecefae6dSMauro Carvalho ChehabOnce the gadget serial driver is loaded and the USB device connected
192ecefae6dSMauro Carvalho Chehabto the Linux host with a USB cable, the host system should recognize
193ecefae6dSMauro Carvalho Chehabthe gadget serial device.  For example, the command::
194ecefae6dSMauro Carvalho Chehab
195ecefae6dSMauro Carvalho Chehab  cat /sys/kernel/debug/usb/devices
196ecefae6dSMauro Carvalho Chehab
197ecefae6dSMauro Carvalho Chehabshould show something like this:::
198ecefae6dSMauro Carvalho Chehab
199ecefae6dSMauro Carvalho Chehab  T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  5 Spd=480 MxCh= 0
200ecefae6dSMauro Carvalho Chehab  D:  Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
201ecefae6dSMauro Carvalho Chehab  P:  Vendor=0525 ProdID=a4a7 Rev= 2.01
202ecefae6dSMauro Carvalho Chehab  S:  Manufacturer=Linux 2.6.8.1 with net2280
203ecefae6dSMauro Carvalho Chehab  S:  Product=Gadget Serial
204ecefae6dSMauro Carvalho Chehab  S:  SerialNumber=0
205ecefae6dSMauro Carvalho Chehab  C:* #Ifs= 2 Cfg#= 2 Atr=c0 MxPwr=  2mA
206ecefae6dSMauro Carvalho Chehab  I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm
207ecefae6dSMauro Carvalho Chehab  E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
208ecefae6dSMauro Carvalho Chehab  I:  If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm
209ecefae6dSMauro Carvalho Chehab  E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
210ecefae6dSMauro Carvalho Chehab  E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
211ecefae6dSMauro Carvalho Chehab
212ecefae6dSMauro Carvalho ChehabIf the host side Linux system is configured properly, the ACM driver
213ecefae6dSMauro Carvalho Chehabshould be loaded automatically.  The command "lsmod" should show the
214ecefae6dSMauro Carvalho Chehab"acm" module is loaded.
215ecefae6dSMauro Carvalho Chehab
216ecefae6dSMauro Carvalho Chehab
217ecefae6dSMauro Carvalho ChehabInstalling the Linux Host Generic USB Serial Driver
218ecefae6dSMauro Carvalho Chehab---------------------------------------------------
219ecefae6dSMauro Carvalho ChehabTo use the Linux generic USB serial driver you must configure the
220ecefae6dSMauro Carvalho ChehabLinux host side kernel for "Support for Host-side USB", for "USB
221ecefae6dSMauro Carvalho ChehabSerial Converter support", and for the "USB Generic Serial Driver".
222ecefae6dSMauro Carvalho Chehab
223ecefae6dSMauro Carvalho ChehabOnce the gadget serial driver is loaded and the USB device connected
224ecefae6dSMauro Carvalho Chehabto the Linux host with a USB cable, the host system should recognize
225ecefae6dSMauro Carvalho Chehabthe gadget serial device.  For example, the command::
226ecefae6dSMauro Carvalho Chehab
227ecefae6dSMauro Carvalho Chehab  cat /sys/kernel/debug/usb/devices
228ecefae6dSMauro Carvalho Chehab
229ecefae6dSMauro Carvalho Chehabshould show something like this:::
230ecefae6dSMauro Carvalho Chehab
231ecefae6dSMauro Carvalho Chehab  T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  6 Spd=480 MxCh= 0
232ecefae6dSMauro Carvalho Chehab  D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
233ecefae6dSMauro Carvalho Chehab  P:  Vendor=0525 ProdID=a4a6 Rev= 2.01
234ecefae6dSMauro Carvalho Chehab  S:  Manufacturer=Linux 2.6.8.1 with net2280
235ecefae6dSMauro Carvalho Chehab  S:  Product=Gadget Serial
236ecefae6dSMauro Carvalho Chehab  S:  SerialNumber=0
237ecefae6dSMauro Carvalho Chehab  C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
238ecefae6dSMauro Carvalho Chehab  I:  If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=serial
239ecefae6dSMauro Carvalho Chehab  E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
240ecefae6dSMauro Carvalho Chehab  E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
241ecefae6dSMauro Carvalho Chehab
242ecefae6dSMauro Carvalho ChehabYou must load the usbserial driver and explicitly set its parameters
243ecefae6dSMauro Carvalho Chehabto configure it to recognize the gadget serial device, like this::
244ecefae6dSMauro Carvalho Chehab
245ecefae6dSMauro Carvalho Chehab  echo 0x0525 0xA4A6 >/sys/bus/usb-serial/drivers/generic/new_id
246ecefae6dSMauro Carvalho Chehab
247ecefae6dSMauro Carvalho ChehabThe legacy way is to use module parameters::
248ecefae6dSMauro Carvalho Chehab
249ecefae6dSMauro Carvalho Chehab  modprobe usbserial vendor=0x0525 product=0xA4A6
250ecefae6dSMauro Carvalho Chehab
251ecefae6dSMauro Carvalho ChehabIf everything is working, usbserial will print a message in the
252ecefae6dSMauro Carvalho Chehabsystem log saying something like "Gadget Serial converter now
253ecefae6dSMauro Carvalho Chehabattached to ttyUSB0".
254ecefae6dSMauro Carvalho Chehab
255ecefae6dSMauro Carvalho Chehab
256ecefae6dSMauro Carvalho ChehabTesting with Minicom or HyperTerminal
257ecefae6dSMauro Carvalho Chehab-------------------------------------
258ecefae6dSMauro Carvalho ChehabOnce the gadget serial driver and the host driver are both installed,
259ecefae6dSMauro Carvalho Chehaband a USB cable connects the gadget device to the host, you should
260ecefae6dSMauro Carvalho Chehabbe able to communicate over USB between the gadget and host systems.
261ecefae6dSMauro Carvalho ChehabYou can use minicom or HyperTerminal to try this out.
262ecefae6dSMauro Carvalho Chehab
263ecefae6dSMauro Carvalho ChehabOn the gadget side run "minicom -s" to configure a new minicom
264ecefae6dSMauro Carvalho Chehabsession.  Under "Serial port setup" set "/dev/ttygserial" as the
265ecefae6dSMauro Carvalho Chehab"Serial Device".  Set baud rate, data bits, parity, and stop bits,
266ecefae6dSMauro Carvalho Chehabto 9600, 8, none, and 1--these settings mostly do not matter.
267ecefae6dSMauro Carvalho ChehabUnder "Modem and dialing" erase all the modem and dialing strings.
268ecefae6dSMauro Carvalho Chehab
269ecefae6dSMauro Carvalho ChehabOn a Linux host running the ACM driver, configure minicom similarly
270ecefae6dSMauro Carvalho Chehabbut use "/dev/ttyACM0" as the "Serial Device".  (If you have other
271ecefae6dSMauro Carvalho ChehabACM devices connected, change the device name appropriately.)
272ecefae6dSMauro Carvalho Chehab
273ecefae6dSMauro Carvalho ChehabOn a Linux host running the USB generic serial driver, configure
274ecefae6dSMauro Carvalho Chehabminicom similarly, but use "/dev/ttyUSB0" as the "Serial Device".
275ecefae6dSMauro Carvalho Chehab(If you have other USB serial devices connected, change the device
276ecefae6dSMauro Carvalho Chehabname appropriately.)
277ecefae6dSMauro Carvalho Chehab
278ecefae6dSMauro Carvalho ChehabOn a Windows host configure a new HyperTerminal session to use the
279ecefae6dSMauro Carvalho ChehabCOM port assigned to Gadget Serial.  The "Port Settings" will be
280ecefae6dSMauro Carvalho Chehabset automatically when HyperTerminal connects to the gadget serial
281ecefae6dSMauro Carvalho Chehabdevice, so you can leave them set to the default values--these
282ecefae6dSMauro Carvalho Chehabsettings mostly do not matter.
283ecefae6dSMauro Carvalho Chehab
284ecefae6dSMauro Carvalho ChehabWith minicom configured and running on the gadget side and with
285ecefae6dSMauro Carvalho Chehabminicom or HyperTerminal configured and running on the host side,
286ecefae6dSMauro Carvalho Chehabyou should be able to send data back and forth between the gadget
287ecefae6dSMauro Carvalho Chehabside and host side systems.  Anything you type on the terminal
288ecefae6dSMauro Carvalho Chehabwindow on the gadget side should appear in the terminal window on
289ecefae6dSMauro Carvalho Chehabthe host side and vice versa.
290