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