linux/Documentation/usb/usb-serial.txt
<<
>>
Prefs
   1INTRODUCTION
   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
  11CONFIGURATION
  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
  33SPECIFIC DEVICES SUPPORTED
  34
  35
  36ConnectTech 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
  48HandSpring 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
  92PocketPC 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
 143Keyspan 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/Entrgra 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
 171Keyspan 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
 193FTDI 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
 204ZyXEL 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
 210Cypress 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
 266Digi 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
 287Belkin 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
 323Empeg 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
 337MCT 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
 357Inside 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
 382REINER 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
 396Prolific 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
 408KL5KUSB105 chipset / PalmConnect USB single-port adapter
 409  
 410Current 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  
 421Options 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
 433Winchiphead 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
 443Moschip 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
 460Generic 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, build the driver
 470  as a module and load it by the following invocation:
 471        insmod usbserial vendor=0x#### product=0x####
 472  where the #### is replaced with the hex representation of your device's
 473  vendor id and product id.
 474
 475  This driver has been successfully used to connect to the NetChip USB
 476  development board, providing a way to develop USB firmware without
 477  having to write a custom driver.
 478
 479  For any questions or problems with this driver, please contact Greg
 480  Kroah-Hartman at greg@kroah.com
 481
 482
 483CONTACT:
 484
 485  If anyone has any problems using these drivers, with any of the above
 486  specified products, please contact the specific driver's author listed
 487  above, or join the Linux-USB mailing list (information on joining the
 488  mailing list, as well as a link to its searchable archive is at
 489  http://www.linux-usb.org/ )
 490
 491
 492Greg Kroah-Hartman
 493greg@kroah.com
 494
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.