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