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