| ========== | 
 | USB serial | 
 | ========== | 
 |  | 
 | 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) [1]_ | 
 |       - Break        Set and clear | 
 |       - Line control Input/Output query and control [2]_ | 
 |  | 
 |   .. [1] | 
 |          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. | 
 |  | 
 |   .. [2] | 
 |          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. | 
 |  | 
 |   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 |