Back to home page

OSCL-LXR

 
 

    


0001 ==========
0002 USB serial
0003 ==========
0004 
0005 Introduction
0006 ============
0007 
0008   The USB serial driver currently supports a number of different USB to
0009   serial converter products, as well as some devices that use a serial
0010   interface from userspace to talk to the device.
0011 
0012   See the individual product section below for specific information about
0013   the different devices.
0014 
0015 
0016 Configuration
0017 =============
0018 
0019   Currently the driver can handle up to 256 different serial interfaces at
0020   one time.
0021 
0022     The major number that the driver uses is 188 so to use the driver,
0023     create the following nodes::
0024 
0025         mknod /dev/ttyUSB0 c 188 0
0026         mknod /dev/ttyUSB1 c 188 1
0027         mknod /dev/ttyUSB2 c 188 2
0028         mknod /dev/ttyUSB3 c 188 3
0029                 .
0030                 .
0031                 .
0032         mknod /dev/ttyUSB254 c 188 254
0033         mknod /dev/ttyUSB255 c 188 255
0034 
0035   When the device is connected and recognized by the driver, the driver
0036   will print to the system log, which node(s) the device has been bound
0037   to.
0038 
0039 
0040 Specific Devices Supported
0041 ==========================
0042 
0043 
0044 ConnectTech WhiteHEAT 4 port converter
0045 --------------------------------------
0046 
0047   ConnectTech has been very forthcoming with information about their
0048   device, including providing a unit to test with.
0049 
0050   The driver is officially supported by Connect Tech Inc.
0051   http://www.connecttech.com
0052 
0053   For any questions or problems with this driver, please contact
0054   Connect Tech's Support Department at support@connecttech.com
0055 
0056 
0057 HandSpring Visor, Palm USB, and Clié USB driver
0058 -----------------------------------------------
0059 
0060   This driver works with all HandSpring USB, Palm USB, and Sony Clié USB
0061   devices.
0062 
0063   Only when the device tries to connect to the host, will the device show
0064   up to the host as a valid USB device. When this happens, the device is
0065   properly enumerated, assigned a port, and then communication _should_ be
0066   possible. The driver cleans up properly when the device is removed, or
0067   the connection is canceled on the device.
0068 
0069   NOTE:
0070     This means that in order to talk to the device, the sync button must be
0071     pressed BEFORE trying to get any program to communicate to the device.
0072     This goes against the current documentation for pilot-xfer and other
0073     packages, but is the only way that it will work due to the hardware
0074     in the device.
0075 
0076   When the device is connected, try talking to it on the second port
0077   (this is usually /dev/ttyUSB1 if you do not have any other usb-serial
0078   devices in the system.) The system log should tell you which port is
0079   the port to use for the HotSync transfer. The "Generic" port can be used
0080   for other device communication, such as a PPP link.
0081 
0082   For some Sony Clié devices, /dev/ttyUSB0 must be used to talk to the
0083   device.  This is true for all OS version 3.5 devices, and most devices
0084   that have had a flash upgrade to a newer version of the OS.  See the
0085   kernel system log for information on which is the correct port to use.
0086 
0087   If after pressing the sync button, nothing shows up in the system log,
0088   try resetting the device, first a hot reset, and then a cold reset if
0089   necessary.  Some devices need this before they can talk to the USB port
0090   properly.
0091 
0092   Devices that are not compiled into the kernel can be specified with module
0093   parameters.  e.g. modprobe visor vendor=0x54c product=0x66
0094 
0095   There is a webpage and mailing lists for this portion of the driver at:
0096   http://sourceforge.net/projects/usbvisor/
0097 
0098   For any questions or problems with this driver, please contact Greg
0099   Kroah-Hartman at greg@kroah.com
0100 
0101 
0102 PocketPC PDA Driver
0103 -------------------
0104 
0105   This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500
0106   and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USB
0107   cable/cradle.
0108   Most devices supported by ActiveSync are supported out of the box.
0109   For others, please use module parameters to specify the product and vendor
0110   id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125
0111 
0112   The driver presents a serial interface (usually on /dev/ttyUSB0) over
0113   which one may run ppp and establish a TCP/IP link to the PDA. Once this
0114   is done, you can transfer files, backup, download email etc. The most
0115   significant advantage of using USB is speed - I can get 73 to 113
0116   kbytes/sec for download/upload to my iPAQ.
0117 
0118   This driver is only one of a set of components required to utilize
0119   the USB connection. Please visit http://synce.sourceforge.net which
0120   contains the necessary packages and a simple step-by-step howto.
0121 
0122   Once connected, you can use Win CE programs like ftpView, Pocket Outlook
0123   from the PDA and xcerdisp, synce utilities from the Linux side.
0124 
0125   To use Pocket IE, follow the instructions given at
0126   http://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thing
0127   on Win98. Omit the proxy server part; Linux is quite capable of forwarding
0128   packets unlike Win98. Another modification is required at least for the
0129   iPAQ - disable autosync by going to the Start/Settings/Connections menu
0130   and unchecking the "Automatically synchronize ..." box. Go to
0131   Start/Programs/Connections, connect the cable and select "usbdial" (or
0132   whatever you named your new USB connection). You should finally wind
0133   up with a "Connected to usbdial" window with status shown as connected.
0134   Now start up PIE and browse away.
0135 
0136   If it doesn't work for some reason, load both the usbserial and ipaq module
0137   with the module parameter "debug" set to 1 and examine the system log.
0138   You can also try soft-resetting your PDA before attempting a connection.
0139 
0140   Other functionality may be possible depending on your PDA. According to
0141   Wes Cilldhaire <billybobjoehenrybob@hotmail.com>, with the Toshiba E570,
0142   ...if you boot into the bootloader (hold down the power when hitting the
0143   reset button, continuing to hold onto the power until the bootloader screen
0144   is displayed), then put it in the cradle with the ipaq driver loaded, open
0145   a terminal on /dev/ttyUSB0, it gives you a "USB Reflash" terminal, which can
0146   be used to flash the ROM, as well as the microP code..  so much for needing
0147   Toshiba's $350 serial cable for flashing!! :D
0148   NOTE: This has NOT been tested. Use at your own risk.
0149 
0150   For any questions or problems with the driver, please contact Ganesh
0151   Varadarajan <ganesh@veritas.com>
0152 
0153 
0154 Keyspan PDA Serial Adapter
0155 --------------------------
0156 
0157   Single port DB-9 serial adapter, pushed as a PDA adapter for iMacs (mostly
0158   sold in Macintosh catalogs, comes in a translucent white/green dongle).
0159   Fairly simple device. Firmware is homebrew.
0160   This driver also works for the Xircom/Entrega single port serial adapter.
0161 
0162   Current status:
0163 
0164    Things that work:
0165      - basic input/output (tested with 'cu')
0166      - blocking write when serial line can't keep up
0167      - changing baud rates (up to 115200)
0168      - getting/setting modem control pins (TIOCM{GET,SET,BIS,BIC})
0169      - sending break (although duration looks suspect)
0170 
0171    Things that don't:
0172      - device strings (as logged by kernel) have trailing binary garbage
0173      - device ID isn't right, might collide with other Keyspan products
0174      - changing baud rates ought to flush tx/rx to avoid mangled half characters
0175 
0176    Big Things on the todo list:
0177      - parity, 7 vs 8 bits per char, 1 or 2 stop bits
0178      - HW flow control
0179      - not all of the standard USB descriptors are handled:
0180        Get_Status, Set_Feature, O_NONBLOCK, select()
0181 
0182   For any questions or problems with this driver, please contact Brian
0183   Warner at warner@lothar.com
0184 
0185 
0186 Keyspan USA-series Serial Adapters
0187 ----------------------------------
0188 
0189   Single, Dual and Quad port adapters - driver uses Keyspan supplied
0190   firmware and is being developed with their support.
0191 
0192   Current status:
0193 
0194     The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and
0195     have been pretty thoroughly tested at various baud rates with 8-N-1
0196     character settings.  Other character lengths and parity setups are
0197     presently untested.
0198 
0199     The USA-28 isn't yet supported though doing so should be pretty
0200     straightforward.  Contact the maintainer if you require this
0201     functionality.
0202 
0203   More information is available at:
0204 
0205         http://www.carnationsoftware.com/carnation/Keyspan.html
0206 
0207   For any questions or problems with this driver, please contact Hugh
0208   Blemings at hugh@misc.nu
0209 
0210 
0211 FTDI Single Port Serial Driver
0212 ------------------------------
0213 
0214   This is a single port DB-25 serial adapter.
0215 
0216   Devices supported include:
0217 
0218                 - TripNav TN-200 USB GPS
0219                 - Navis Engineering Bureau CH-4711 USB GPS
0220 
0221   For any questions or problems with this driver, please contact Bill Ryder.
0222 
0223 
0224 ZyXEL omni.net lcd plus ISDN TA
0225 -------------------------------
0226 
0227   This is an ISDN TA. Please report both successes and troubles to
0228   azummo@towertech.it
0229 
0230 
0231 Cypress M8 CY4601 Family Serial Driver
0232 --------------------------------------
0233 
0234   This driver was in most part developed by Neil "koyama" Whelchel.  It
0235   has been improved since that previous form to support dynamic serial
0236   line settings and improved line handling.  The driver is for the most
0237   part stable and has been tested on an smp machine. (dual p2)
0238 
0239     Chipsets supported under CY4601 family:
0240 
0241                 CY7C63723, CY7C63742, CY7C63743, CY7C64013
0242 
0243     Devices supported:
0244 
0245                 - DeLorme's USB Earthmate GPS (SiRF Star II lp arch)
0246                 - Cypress HID->COM RS232 adapter
0247 
0248                 Note:
0249                         Cypress Semiconductor claims no affiliation with the
0250                         hid->com device.
0251 
0252      Most devices using chipsets under the CY4601 family should
0253      work with the driver.  As long as they stay true to the CY4601
0254      usbserial specification.
0255 
0256     Technical notes:
0257 
0258         The Earthmate starts out at 4800 8N1 by default... the driver will
0259         upon start init to this setting.  usbserial core provides the rest
0260         of the termios settings, along with some custom termios so that the
0261         output is in proper format and parsable.
0262 
0263         The device can be put into sirf mode by issuing NMEA command::
0264 
0265                 $PSRF100,<protocol>,<baud>,<databits>,<stopbits>,<parity>*CHECKSUM
0266                 $PSRF100,0,9600,8,1,0*0C
0267 
0268                 It should then be sufficient to change the port termios to match this
0269                 to begin communicating.
0270 
0271         As far as I can tell it supports pretty much every sirf command as
0272         documented online available with firmware 2.31, with some unknown
0273         message ids.
0274 
0275         The hid->com adapter can run at a maximum baud of 115200bps.  Please note
0276         that the device has trouble or is incapable of raising line voltage properly.
0277         It will be fine with null modem links, as long as you do not try to link two
0278         together without hacking the adapter to set the line high.
0279 
0280         The driver is smp safe.  Performance with the driver is rather low when using
0281         it for transferring files.  This is being worked on, but I would be willing to
0282         accept patches.  An urb queue or packet buffer would likely fit the bill here.
0283 
0284         If you have any questions, problems, patches, feature requests, etc. you can
0285         contact me here via email:
0286 
0287                                         dignome@gmail.com
0288 
0289                 (your problems/patches can alternately be submitted to usb-devel)
0290 
0291 
0292 Digi AccelePort Driver
0293 ----------------------
0294 
0295   This driver supports the Digi AccelePort USB 2 and 4 devices, 2 port
0296   (plus a parallel port) and 4 port USB serial converters.  The driver
0297   does NOT yet support the Digi AccelePort USB 8.
0298 
0299   This driver works under SMP with the usb-uhci driver.  It does not
0300   work under SMP with the uhci driver.
0301 
0302   The driver is generally working, though we still have a few more ioctls
0303   to implement and final testing and debugging to do.  The parallel port
0304   on the USB 2 is supported as a serial to parallel converter; in other
0305   words, it appears as another USB serial port on Linux, even though
0306   physically it is really a parallel port.  The Digi Acceleport USB 8
0307   is not yet supported.
0308 
0309   Please contact Peter Berger (pberger@brimson.com) or Al Borchers
0310   (alborchers@steinerpoint.com) for questions or problems with this
0311   driver.
0312 
0313 
0314 Belkin USB Serial Adapter F5U103
0315 --------------------------------
0316 
0317   Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.
0318   The Peracom single port serial adapter also works with this driver, as
0319   well as the GoHubs adapter.
0320 
0321   Current status:
0322 
0323     The following have been tested and work:
0324 
0325       - Baud rate    300-230400
0326       - Data bits    5-8
0327       - Stop bits    1-2
0328       - Parity       N,E,O,M,S
0329       - Handshake    None, Software (XON/XOFF), Hardware (CTSRTS,CTSDTR) [1]_
0330       - Break        Set and clear
0331       - Line control Input/Output query and control [2]_
0332 
0333   .. [1]
0334          Hardware input flow control is only enabled for firmware
0335          levels above 2.06.  Read source code comments describing Belkin
0336          firmware errata.  Hardware output flow control is working for all
0337          firmware versions.
0338 
0339   .. [2]
0340          Queries of inputs (CTS,DSR,CD,RI) show the last
0341          reported state.  Queries of outputs (DTR,RTS) show the last
0342          requested state and may not reflect current state as set by
0343          automatic hardware flow control.
0344 
0345   TO DO List:
0346     - Add true modem control line query capability.  Currently tracks the
0347       states reported by the interrupt and the states requested.
0348     - Add error reporting back to application for UART error conditions.
0349     - Add support for flush ioctls.
0350     - Add everything else that is missing :)
0351 
0352   For any questions or problems with this driver, please contact William
0353   Greathouse at wgreathouse@smva.com
0354 
0355 
0356 Empeg empeg-car Mark I/II Driver
0357 --------------------------------
0358 
0359   This is an experimental driver to provide connectivity support for the
0360   client synchronization tools for an Empeg empeg-car mp3 player.
0361 
0362   Tips:
0363     * Don't forget to create the device nodes for ttyUSB{0,1,2,...}
0364     * modprobe empeg (modprobe is your friend)
0365     * emptool --usb /dev/ttyUSB0 (or whatever you named your device node)
0366 
0367   For any questions or problems with this driver, please contact Gary
0368   Brubaker at xavyer@ix.netcom.com
0369 
0370 
0371 MCT USB Single Port Serial Adapter U232
0372 ---------------------------------------
0373 
0374   This driver is for the MCT USB-RS232 Converter (25 pin, Model No.
0375   U232-P25) from Magic Control Technology Corp. (there is also a 9 pin
0376   Model No. U232-P9). More information about this device can be found at
0377   the manufacturer's web-site: http://www.mct.com.tw.
0378 
0379   The driver is generally working, though it still needs some more testing.
0380   It is derived from the Belkin USB Serial Adapter F5U103 driver and its
0381   TODO list is valid for this driver as well.
0382 
0383   This driver has also been found to work for other products, which have
0384   the same Vendor ID but different Product IDs. Sitecom's U232-P25 serial
0385   converter uses Product ID 0x230 and Vendor ID 0x711 and works with this
0386   driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
0387 
0388   For any questions or problems with this driver, please contact Wolfgang
0389   Grandegger at wolfgang@ces.ch
0390 
0391 
0392 Inside Out Networks Edgeport Driver
0393 -----------------------------------
0394 
0395   This driver supports all devices made by Inside Out Networks, specifically
0396   the following models:
0397 
0398        - Edgeport/4
0399        - Rapidport/4
0400        - Edgeport/4t
0401        - Edgeport/2
0402        - Edgeport/4i
0403        - Edgeport/2i
0404        - Edgeport/421
0405        - Edgeport/21
0406        - Edgeport/8
0407        - Edgeport/8 Dual
0408        - Edgeport/2D8
0409        - Edgeport/4D8
0410        - Edgeport/8i
0411        - Edgeport/2 DIN
0412        - Edgeport/4 DIN
0413        - Edgeport/16 Dual
0414 
0415   For any questions or problems with this driver, please contact Greg
0416   Kroah-Hartman at greg@kroah.com
0417 
0418 
0419 REINER SCT cyberJack pinpad/e-com USB chipcard reader
0420 -----------------------------------------------------
0421 
0422   Interface to ISO 7816 compatible contactbased chipcards, e.g. GSM SIMs.
0423 
0424   Current status:
0425 
0426     This is the kernel part of the driver for this USB card reader.
0427     There is also a user part for a CT-API driver available. A site
0428     for downloading is TBA. For now, you can request it from the
0429     maintainer (linux-usb@sii.li).
0430 
0431   For any questions or problems with this driver, please contact
0432   linux-usb@sii.li
0433 
0434 
0435 Prolific PL2303 Driver
0436 ----------------------
0437 
0438   This driver supports any device that has the PL2303 chip from Prolific
0439   in it.  This includes a number of single port USB to serial converters,
0440   more than 70% of USB GPS devices (in 2010), and some USB UPSes. Devices
0441   from Aten (the UC-232) and IO-Data work with this driver, as does
0442   the DCU-11 mobile-phone cable.
0443 
0444   For any questions or problems with this driver, please contact Greg
0445   Kroah-Hartman at greg@kroah.com
0446 
0447 
0448 KL5KUSB105 chipset / PalmConnect USB single-port adapter
0449 --------------------------------------------------------
0450 
0451 Current status:
0452 
0453   The driver was put together by looking at the usb bus transactions
0454   done by Palm's driver under Windows, so a lot of functionality is
0455   still missing.  Notably, serial ioctls are sometimes faked or not yet
0456   implemented.  Support for finding out about DSR and CTS line status is
0457   however implemented (though not nicely), so your favorite autopilot(1)
0458   and pilot-manager -daemon calls will work.  Baud rates up to 115200
0459   are supported, but handshaking (software or hardware) is not, which is
0460   why it is wise to cut down on the rate used is wise for large
0461   transfers until this is settled.
0462 
0463   See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
0464   information on this driver.
0465 
0466 Winchiphead CH341 Driver
0467 ------------------------
0468 
0469   This driver is for the Winchiphead CH341 USB-RS232 Converter. This chip
0470   also implements an IEEE 1284 parallel port, I2C and SPI, but that is not
0471   supported by the driver. The protocol was analyzed from the behaviour
0472   of the Windows driver, no datasheet is available at present.
0473 
0474   The manufacturer's website: http://www.winchiphead.com/.
0475 
0476   For any questions or problems with this driver, please contact
0477   frank@kingswood-consulting.co.uk.
0478 
0479 Moschip MCS7720, MCS7715 driver
0480 -------------------------------
0481 
0482   These chips are present in devices sold by various manufacturers, such as Syba
0483   and Cables Unlimited.  There may be others.  The 7720 provides two serial
0484   ports, and the 7715 provides one serial and one standard PC parallel port.
0485   Support for the 7715's parallel port is enabled by a separate option, which
0486   will not appear unless parallel port support is first enabled at the top-level
0487   of the Device Drivers config menu.  Currently only compatibility mode is
0488   supported on the parallel port (no ECP/EPP).
0489 
0490   TODO:
0491     - Implement ECP/EPP modes for the parallel port.
0492     - Baud rates higher than 115200 are currently broken.
0493     - Devices with a single serial port based on the Moschip MCS7703 may work
0494       with this driver with a simple addition to the usb_device_id table.  I
0495       don't have one of these devices, so I can't say for sure.
0496 
0497 Generic Serial driver
0498 ---------------------
0499 
0500   If your device is not one of the above listed devices, compatible with
0501   the above models, you can try out the "generic" interface. This
0502   interface does not provide any type of control messages sent to the
0503   device, and does not support any kind of device flow control. All that
0504   is required of your device is that it has at least one bulk in endpoint,
0505   or one bulk out endpoint.
0506 
0507   To enable the generic driver to recognize your device, provide::
0508 
0509         echo <vid> <pid> >/sys/bus/usb-serial/drivers/generic/new_id
0510 
0511   where the <vid> and <pid> is replaced with the hex representation of your
0512   device's vendor id and product id.
0513   If the driver is compiled as a module you can also provide one id when
0514   loading the module::
0515 
0516         insmod usbserial vendor=0x#### product=0x####
0517 
0518   This driver has been successfully used to connect to the NetChip USB
0519   development board, providing a way to develop USB firmware without
0520   having to write a custom driver.
0521 
0522   For any questions or problems with this driver, please contact Greg
0523   Kroah-Hartman at greg@kroah.com
0524 
0525 
0526 Contact
0527 =======
0528 
0529   If anyone has any problems using these drivers, with any of the above
0530   specified products, please contact the specific driver's author listed
0531   above, or join the Linux-USB mailing list (information on joining the
0532   mailing list, as well as a link to its searchable archive is at
0533   http://www.linux-usb.org/ )
0534 
0535 
0536 Greg Kroah-Hartman
0537 greg@kroah.com