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