Blame view

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