About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / usb / usb-serial.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

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/Entrega 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, provide
470		echo <vid> <pid> >/sys/bus/usb-serial/drivers/generic/new_id
471	  where the <vid> and <pid> is replaced with the hex representation of your
472	  device's vendor id and product id.
473	  If the driver is compiled as a module you can also provide one id when
474	  loading the module
475		insmod usbserial vendor=0x#### product=0x####
476	
477	  This driver has been successfully used to connect to the NetChip USB
478	  development board, providing a way to develop USB firmware without
479	  having to write a custom driver.
480	
481	  For any questions or problems with this driver, please contact Greg
482	  Kroah-Hartman at greg@kroah.com
483	
484	
485	CONTACT:
486	
487	  If anyone has any problems using these drivers, with any of the above
488	  specified products, please contact the specific driver's author listed
489	  above, or join the Linux-USB mailing list (information on joining the
490	  mailing list, as well as a link to its searchable archive is at
491	  http://www.linux-usb.org/ )
492	
493	
494	Greg Kroah-Hartman
495	greg@kroah.com
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog