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