~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to Documentation/usb/usb-serial.txt

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
INTRODUCTION
 
2
 
 
3
  The USB serial driver currently supports a number of different USB to
 
4
  serial converter products, as well as some devices that use a serial
 
5
  interface from userspace to talk to the device.
 
6
 
 
7
  See the individual product section below for specific information about
 
8
  the different devices.
 
9
 
 
10
 
 
11
CONFIGURATION
 
12
 
 
13
  Currently the driver can handle up to 256 different serial interfaces at
 
14
  one time. 
 
15
 
 
16
    The major number that the driver uses is 188 so to use the driver,
 
17
    create the following nodes:
 
18
        mknod /dev/ttyUSB0 c 188 0
 
19
        mknod /dev/ttyUSB1 c 188 1
 
20
        mknod /dev/ttyUSB2 c 188 2
 
21
        mknod /dev/ttyUSB3 c 188 3
 
22
                .
 
23
                .
 
24
                .
 
25
        mknod /dev/ttyUSB254 c 188 254
 
26
        mknod /dev/ttyUSB255 c 188 255
 
27
 
 
28
  When the device is connected and recognized by the driver, the driver
 
29
  will print to the system log, which node(s) the device has been bound
 
30
  to.
 
31
  
 
32
 
 
33
SPECIFIC DEVICES SUPPORTED
 
34
 
 
35
 
 
36
ConnectTech WhiteHEAT 4 port converter
 
37
 
 
38
  ConnectTech has been very forthcoming with information about their
 
39
  device, including providing a unit to test with.
 
40
 
 
41
  The driver is officially supported by Connect Tech Inc.
 
42
  http://www.connecttech.com
 
43
 
 
44
  For any questions or problems with this driver, please contact
 
45
  Connect Tech's Support Department at support@connecttech.com
 
46
 
 
47
 
 
48
HandSpring Visor, Palm USB, and CliĆ© USB driver
 
49
 
 
50
  This driver works with all HandSpring USB, Palm USB, and Sony CliĆ© USB
 
51
  devices.
 
52
 
 
53
  Only when the device tries to connect to the host, will the device show
 
54
  up to the host as a valid USB device. When this happens, the device is
 
55
  properly enumerated, assigned a port, and then communication _should_ be
 
56
  possible. The driver cleans up properly when the device is removed, or
 
57
  the connection is canceled on the device.
 
58
 
 
59
  NOTE:
 
60
    This means that in order to talk to the device, the sync button must be
 
61
    pressed BEFORE trying to get any program to communicate to the device.
 
62
    This goes against the current documentation for pilot-xfer and other
 
63
    packages, but is the only way that it will work due to the hardware
 
64
    in the device.
 
65
  
 
66
  When the device is connected, try talking to it on the second port
 
67
  (this is usually /dev/ttyUSB1 if you do not have any other usb-serial
 
68
  devices in the system.) The system log should tell you which port is
 
69
  the port to use for the HotSync transfer. The "Generic" port can be used
 
70
  for other device communication, such as a PPP link.
 
71
 
 
72
  For some Sony CliĆ© devices, /dev/ttyUSB0 must be used to talk to the
 
73
  device.  This is true for all OS version 3.5 devices, and most devices
 
74
  that have had a flash upgrade to a newer version of the OS.  See the
 
75
  kernel system log for information on which is the correct port to use.
 
76
 
 
77
  If after pressing the sync button, nothing shows up in the system log,
 
78
  try resetting the device, first a hot reset, and then a cold reset if
 
79
  necessary.  Some devices need this before they can talk to the USB port
 
80
  properly.
 
81
  
 
82
  Devices that are not compiled into the kernel can be specified with module
 
83
  parameters.  e.g. modprobe visor vendor=0x54c product=0x66
 
84
  
 
85
  There is a webpage and mailing lists for this portion of the driver at:
 
86
  http://sourceforge.net/projects/usbvisor/
 
87
 
 
88
  For any questions or problems with this driver, please contact Greg
 
89
  Kroah-Hartman at greg@kroah.com
 
90
 
 
91
 
 
92
PocketPC PDA Driver
 
93
 
 
94
  This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500
 
95
  and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USB
 
96
  cable/cradle.
 
97
  Most devices supported by ActiveSync are supported out of the box.
 
98
  For others, please use module parameters to specify the product and vendor
 
99
  id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125
 
100
 
 
101
  The driver presents a serial interface (usually on /dev/ttyUSB0) over
 
102
  which one may run ppp and establish a TCP/IP link to the PDA. Once this
 
103
  is done, you can transfer files, backup, download email etc. The most
 
104
  significant advantage of using USB is speed - I can get 73 to 113
 
105
  kbytes/sec for download/upload to my iPAQ.
 
106
 
 
107
  This driver is only one of a set of components required to utilize
 
108
  the USB connection. Please visit http://synce.sourceforge.net which
 
109
  contains the necessary packages and a simple step-by-step howto.
 
110
 
 
111
  Once connected, you can use Win CE programs like ftpView, Pocket Outlook
 
112
  from the PDA and xcerdisp, synce utilities from the Linux side.
 
113
 
 
114
  To use Pocket IE, follow the instructions given at
 
115
  http://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thing
 
116
  on Win98. Omit the proxy server part; Linux is quite capable of forwarding
 
117
  packets unlike Win98. Another modification is required at least for the
 
118
  iPAQ - disable autosync by going to the Start/Settings/Connections menu
 
119
  and unchecking the "Automatically synchronize ..." box. Go to
 
120
  Start/Programs/Connections, connect the cable and select "usbdial" (or
 
121
  whatever you named your new USB connection). You should finally wind
 
122
  up with a "Connected to usbdial" window with status shown as connected.
 
123
  Now start up PIE and browse away.
 
124
 
 
125
  If it doesn't work for some reason, load both the usbserial and ipaq module
 
126
  with the module parameter "debug" set to 1 and examine the system log.
 
127
  You can also try soft-resetting your PDA before attempting a connection.
 
128
 
 
129
  Other functionality may be possible depending on your PDA. According to
 
130
  Wes Cilldhaire <billybobjoehenrybob@hotmail.com>, with the Toshiba E570,
 
131
  ...if you boot into the bootloader (hold down the power when hitting the
 
132
  reset button, continuing to hold onto the power until the bootloader screen
 
133
  is displayed), then put it in the cradle with the ipaq driver loaded, open
 
134
  a terminal on /dev/ttyUSB0, it gives you a "USB Reflash" terminal, which can
 
135
  be used to flash the ROM, as well as the microP code..  so much for needing
 
136
  Toshiba's $350 serial cable for flashing!! :D
 
137
  NOTE: This has NOT been tested. Use at your own risk.
 
138
 
 
139
  For any questions or problems with the driver, please contact Ganesh
 
140
  Varadarajan <ganesh@veritas.com>
 
141
 
 
142
 
 
143
Keyspan PDA Serial Adapter
 
144
 
 
145
  Single port DB-9 serial adapter, pushed as a PDA adapter for iMacs (mostly
 
146
  sold in Macintosh catalogs, comes in a translucent white/green dongle).
 
147
  Fairly simple device. Firmware is homebrew.
 
148
  This driver also works for the Xircom/Entrgra single port serial adapter.
 
149
 
 
150
  Current status:
 
151
   Things that work:
 
152
     basic input/output (tested with 'cu')
 
153
     blocking write when serial line can't keep up
 
154
     changing baud rates (up to 115200)
 
155
     getting/setting modem control pins (TIOCM{GET,SET,BIS,BIC})
 
156
     sending break (although duration looks suspect)
 
157
   Things that don't:
 
158
     device strings (as logged by kernel) have trailing binary garbage
 
159
     device ID isn't right, might collide with other Keyspan products
 
160
     changing baud rates ought to flush tx/rx to avoid mangled half characters
 
161
   Big Things on the todo list:
 
162
     parity, 7 vs 8 bits per char, 1 or 2 stop bits
 
163
     HW flow control
 
164
     not all of the standard USB descriptors are handled: Get_Status, Set_Feature
 
165
     O_NONBLOCK, select()
 
166
 
 
167
  For any questions or problems with this driver, please contact Brian
 
168
  Warner at warner@lothar.com 
 
169
 
 
170
 
 
171
Keyspan USA-series Serial Adapters
 
172
 
 
173
  Single, Dual and Quad port adapters - driver uses Keyspan supplied 
 
174
  firmware and is being developed with their support.
 
175
  
 
176
  Current status:
 
177
    The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and
 
178
    have been pretty thoroughly tested at various baud rates with 8-N-1
 
179
    character settings.  Other character lengths and parity setups are
 
180
    presently untested.
 
181
 
 
182
    The USA-28 isn't yet supported though doing so should be pretty
 
183
    straightforward.  Contact the maintainer if you require this
 
184
    functionality.
 
185
  
 
186
  More information is available at:
 
187
        http://www.carnationsoftware.com/carnation/Keyspan.html
 
188
   
 
189
  For any questions or problems with this driver, please contact Hugh
 
190
  Blemings at hugh@misc.nu
 
191
 
 
192
 
 
193
FTDI Single Port Serial Driver
 
194
 
 
195
  This is a single port DB-25 serial adapter.
 
196
 
 
197
  Devices supported include:
 
198
                -TripNav TN-200 USB GPS
 
199
                -Navis Engineering Bureau CH-4711 USB GPS
 
200
 
 
201
  For any questions or problems with this driver, please contact Bill Ryder.
 
202
 
 
203
 
 
204
ZyXEL omni.net lcd plus ISDN TA
 
205
 
 
206
  This is an ISDN TA. Please report both successes and troubles to
 
207
  azummo@towertech.it
 
208
 
 
209
 
 
210
Cypress M8 CY4601 Family Serial Driver
 
211
 
 
212
  This driver was in most part developed by Neil "koyama" Whelchel.  It
 
213
  has been improved since that previous form to support dynamic serial
 
214
  line settings and improved line handling.  The driver is for the most
 
215
  part stable and has been tested on an smp machine. (dual p2)
 
216
 
 
217
    Chipsets supported under CY4601 family:
 
218
        
 
219
                CY7C63723, CY7C63742, CY7C63743, CY7C64013
 
220
 
 
221
    Devices supported:
 
222
 
 
223
                -DeLorme's USB Earthmate GPS (SiRF Star II lp arch)
 
224
                -Cypress HID->COM RS232 adapter
 
225
        
 
226
                Note: Cypress Semiconductor claims no affiliation with the
 
227
                        hid->com device.
 
228
 
 
229
        Most devices using chipsets under the CY4601 family should
 
230
     work with the driver.  As long as they stay true to the CY4601
 
231
     usbserial specification.
 
232
 
 
233
    Technical notes:
 
234
 
 
235
        The Earthmate starts out at 4800 8N1 by default... the driver will
 
236
        upon start init to this setting.  usbserial core provides the rest
 
237
        of the termios settings, along with some custom termios so that the
 
238
        output is in proper format and parsable.
 
239
        
 
240
        The device can be put into sirf mode by issuing NMEA command:
 
241
                $PSRF100,<protocol>,<baud>,<databits>,<stopbits>,<parity>*CHECKSUM
 
242
                $PSRF100,0,9600,8,1,0*0C
 
243
 
 
244
                It should then be sufficient to change the port termios to match this
 
245
                to begin communicating.
 
246
 
 
247
        As far as I can tell it supports pretty much every sirf command as
 
248
        documented online available with firmware 2.31, with some unknown
 
249
        message ids.
 
250
 
 
251
        The hid->com adapter can run at a maximum baud of 115200bps.  Please note
 
252
        that the device has trouble or is incapable of raising line voltage properly.
 
253
        It will be fine with null modem links, as long as you do not try to link two
 
254
        together without hacking the adapter to set the line high.
 
255
 
 
256
        The driver is smp safe.  Performance with the driver is rather low when using
 
257
        it for transferring files.  This is being worked on, but I would be willing to
 
258
        accept patches.  An urb queue or packet buffer would likely fit the bill here.
 
259
 
 
260
        If you have any questions, problems, patches, feature requests, etc. you can
 
261
        contact me here via email:
 
262
                                        dignome@gmail.com
 
263
                (your problems/patches can alternately be submitted to usb-devel)
 
264
 
 
265
 
 
266
Digi AccelePort Driver
 
267
 
 
268
  This driver supports the Digi AccelePort USB 2 and 4 devices, 2 port
 
269
  (plus a parallel port) and 4 port USB serial converters.  The driver
 
270
  does NOT yet support the Digi AccelePort USB 8.
 
271
 
 
272
  This driver works under SMP with the usb-uhci driver.  It does not
 
273
  work under SMP with the uhci driver.
 
274
 
 
275
  The driver is generally working, though we still have a few more ioctls
 
276
  to implement and final testing and debugging to do.  The parallel port
 
277
  on the USB 2 is supported as a serial to parallel converter; in other
 
278
  words, it appears as another USB serial port on Linux, even though
 
279
  physically it is really a parallel port.  The Digi Acceleport USB 8
 
280
  is not yet supported.
 
281
 
 
282
  Please contact Peter Berger (pberger@brimson.com) or Al Borchers
 
283
  (alborchers@steinerpoint.com) for questions or problems with this
 
284
  driver.
 
285
 
 
286
 
 
287
Belkin USB Serial Adapter F5U103
 
288
 
 
289
  Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.
 
290
  The Peracom single port serial adapter also works with this driver, as
 
291
  well as the GoHubs adapter.
 
292
 
 
293
  Current status:
 
294
    The following have been tested and work:
 
295
      Baud rate    300-230400               
 
296
      Data bits    5-8
 
297
      Stop bits    1-2
 
298
      Parity       N,E,O,M,S
 
299
      Handshake    None, Software (XON/XOFF), Hardware (CTSRTS,CTSDTR)*
 
300
      Break        Set and clear
 
301
      Line control Input/Output query and control **
 
302
 
 
303
      *  Hardware input flow control is only enabled for firmware
 
304
         levels above 2.06.  Read source code comments describing Belkin
 
305
         firmware errata.  Hardware output flow control is working for all
 
306
         firmware versions.
 
307
      ** Queries of inputs (CTS,DSR,CD,RI) show the last
 
308
         reported state.  Queries of outputs (DTR,RTS) show the last
 
309
         requested state and may not reflect current state as set by
 
310
         automatic hardware flow control.
 
311
 
 
312
  TO DO List:
 
313
    -- Add true modem control line query capability.  Currently tracks the
 
314
       states reported by the interrupt and the states requested.
 
315
    -- Add error reporting back to application for UART error conditions.
 
316
    -- Add support for flush ioctls.
 
317
    -- Add everything else that is missing :)
 
318
 
 
319
  For any questions or problems with this driver, please contact William
 
320
  Greathouse at wgreathouse@smva.com
 
321
 
 
322
 
 
323
Empeg empeg-car Mark I/II Driver
 
324
 
 
325
  This is an experimental driver to provide connectivity support for the
 
326
  client synchronization tools for an Empeg empeg-car mp3 player.
 
327
 
 
328
  Tips:
 
329
    * Don't forget to create the device nodes for ttyUSB{0,1,2,...}
 
330
    * modprobe empeg (modprobe is your friend)
 
331
    * emptool --usb /dev/ttyUSB0 (or whatever you named your device node)
 
332
 
 
333
  For any questions or problems with this driver, please contact Gary
 
334
  Brubaker at xavyer@ix.netcom.com
 
335
 
 
336
 
 
337
MCT USB Single Port Serial Adapter U232
 
338
 
 
339
  This driver is for the MCT USB-RS232 Converter (25 pin, Model No.
 
340
  U232-P25) from Magic Control Technology Corp. (there is also a 9 pin
 
341
  Model No. U232-P9). More information about this device can be found at
 
342
  the manufacturer's web-site: http://www.mct.com.tw.
 
343
 
 
344
  The driver is generally working, though it still needs some more testing.
 
345
  It is derived from the Belkin USB Serial Adapter F5U103 driver and its
 
346
  TODO list is valid for this driver as well.
 
347
 
 
348
  This driver has also been found to work for other products, which have
 
349
  the same Vendor ID but different Product IDs. Sitecom's U232-P25 serial
 
350
  converter uses Product ID 0x230 and Vendor ID 0x711 and works with this
 
351
  driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
 
352
 
 
353
  For any questions or problems with this driver, please contact Wolfgang
 
354
  Grandegger at wolfgang@ces.ch
 
355
 
 
356
 
 
357
Inside Out Networks Edgeport Driver
 
358
 
 
359
  This driver supports all devices made by Inside Out Networks, specifically
 
360
  the following models:
 
361
       Edgeport/4
 
362
       Rapidport/4
 
363
       Edgeport/4t
 
364
       Edgeport/2
 
365
       Edgeport/4i
 
366
       Edgeport/2i
 
367
       Edgeport/421
 
368
       Edgeport/21
 
369
       Edgeport/8
 
370
       Edgeport/8 Dual
 
371
       Edgeport/2D8
 
372
       Edgeport/4D8
 
373
       Edgeport/8i
 
374
       Edgeport/2 DIN
 
375
       Edgeport/4 DIN
 
376
       Edgeport/16 Dual
 
377
 
 
378
  For any questions or problems with this driver, please contact Greg
 
379
  Kroah-Hartman at greg@kroah.com
 
380
 
 
381
 
 
382
REINER SCT cyberJack pinpad/e-com USB chipcard reader
 
383
   
 
384
  Interface to ISO 7816 compatible contactbased chipcards, e.g. GSM SIMs.
 
385
  
 
386
  Current status:
 
387
    This is the kernel part of the driver for this USB card reader.
 
388
    There is also a user part for a CT-API driver available. A site
 
389
    for downloading is TBA. For now, you can request it from the
 
390
    maintainer (linux-usb@sii.li).
 
391
 
 
392
  For any questions or problems with this driver, please contact
 
393
  linux-usb@sii.li
 
394
 
 
395
 
 
396
Prolific PL2303 Driver
 
397
 
 
398
  This driver supports any device that has the PL2303 chip from Prolific
 
399
  in it.  This includes a number of single port USB to serial converters,
 
400
  more than 70% of USB GPS devices (in 2010), and some USB UPSes. Devices
 
401
  from Aten (the UC-232) and IO-Data work with this driver, as does
 
402
  the DCU-11 mobile-phone cable.
 
403
 
 
404
  For any questions or problems with this driver, please contact Greg
 
405
  Kroah-Hartman at greg@kroah.com
 
406
  
 
407
 
 
408
KL5KUSB105 chipset / PalmConnect USB single-port adapter
 
409
  
 
410
Current status:
 
411
  The driver was put together by looking at the usb bus transactions
 
412
  done by Palm's driver under Windows, so a lot of functionality is
 
413
  still missing.  Notably, serial ioctls are sometimes faked or not yet
 
414
  implemented.  Support for finding out about DSR and CTS line status is
 
415
  however implemented (though not nicely), so your favorite autopilot(1)
 
416
  and pilot-manager -daemon calls will work.  Baud rates up to 115200
 
417
  are supported, but handshaking (software or hardware) is not, which is
 
418
  why it is wise to cut down on the rate used is wise for large
 
419
  transfers until this is settled.
 
420
  
 
421
Options supported:
 
422
  If this driver is compiled as a module you can pass the following
 
423
  options to it:
 
424
  debug                 - extra verbose debugging info
 
425
                          (default: 0; nonzero enables)
 
426
  use_lowlatency        - use low_latency flag to speed up tty layer
 
427
                          when reading from the device.
 
428
                          (default: 0; nonzero enables)
 
429
 
 
430
  See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
 
431
  information on this driver.
 
432
 
 
433
Winchiphead CH341 Driver
 
434
 
 
435
  This driver is for the Winchiphead CH341 USB-RS232 Converter. This chip
 
436
  also implements an IEEE 1284 parallel port, I2C and SPI, but that is not
 
437
  supported by the driver. The protocol was analyzed from the behaviour
 
438
  of the Windows driver, no datasheet is available at present.
 
439
  The manufacturer's website: http://www.winchiphead.com/.
 
440
  For any questions or problems with this driver, please contact
 
441
  frank@kingswood-consulting.co.uk.
 
442
 
 
443
Moschip MCS7720, MCS7715 driver
 
444
 
 
445
  These chips are present in devices sold by various manufacturers, such as Syba
 
446
  and Cables Unlimited.  There may be others.  The 7720 provides two serial
 
447
  ports, and the 7715 provides one serial and one standard PC parallel port.
 
448
  Support for the 7715's parallel port is enabled by a separate option, which
 
449
  will not appear unless parallel port support is first enabled at the top-level
 
450
  of the Device Drivers config menu.  Currently only compatibility mode is
 
451
  supported on the parallel port (no ECP/EPP).
 
452
 
 
453
  TODO:
 
454
    - Implement ECP/EPP modes for the parallel port.
 
455
    - Baud rates higher than 115200 are currently broken.
 
456
    - Devices with a single serial port based on the Moschip MCS7703 may work
 
457
      with this driver with a simple addition to the usb_device_id table.  I
 
458
      don't have one of these devices, so I can't say for sure.
 
459
 
 
460
Generic Serial driver
 
461
 
 
462
  If your device is not one of the above listed devices, compatible with
 
463
  the above models, you can try out the "generic" interface. This
 
464
  interface does not provide any type of control messages sent to the
 
465
  device, and does not support any kind of device flow control. All that
 
466
  is required of your device is that it has at least one bulk in endpoint,
 
467
  or one bulk out endpoint. 
 
468
  
 
469
  To enable the generic driver to recognize your device, build the driver
 
470
  as a module and load it by the following invocation:
 
471
        insmod usbserial vendor=0x#### product=0x####
 
472
  where the #### is replaced with the hex representation of your device's
 
473
  vendor id and product id.
 
474
 
 
475
  This driver has been successfully used to connect to the NetChip USB
 
476
  development board, providing a way to develop USB firmware without
 
477
  having to write a custom driver.
 
478
 
 
479
  For any questions or problems with this driver, please contact Greg
 
480
  Kroah-Hartman at greg@kroah.com
 
481
 
 
482
 
 
483
CONTACT:
 
484
 
 
485
  If anyone has any problems using these drivers, with any of the above
 
486
  specified products, please contact the specific driver's author listed
 
487
  above, or join the Linux-USB mailing list (information on joining the
 
488
  mailing list, as well as a link to its searchable archive is at
 
489
  http://www.linux-usb.org/ )
 
490
 
 
491
 
 
492
Greg Kroah-Hartman
 
493
greg@kroah.com