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. If you are not using devfs: 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 If you are using devfs: The devices supported by this driver will show up as /dev/usb/tts/{0,1,...} 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. This driver will end up being fully supported. Current status: The device's firmware is downloaded on connection, the new firmware runs properly and all four ports are successfully recognized and connected. Data can be sent and received through the device on all ports. Hardware flow control needs to be implemented. For any questions or problems with this driver, please contact Greg Kroah-Hartman at greg@kroah.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. There is a webpage and mailing lists for this portion of the driver at: http://usbvisor.sourceforge.net/ For any questions or problems with this driver, please contact Greg Kroah-Hartman at greg@kroah.com Compaq iPAQ, HP Jornada and Casio EM500 driver This driver can be used to connect to Compaq iPAQ, HP Jornada and Casio EM500 PDAs running Windows CE 3.0 or PocketPC 2002 using a USB cable/cradle. It has been tested only on the Compaq H3135, but is rumoured to work on with the H3600 and later models as well as the Jornada 548 and 568. With minor modifications, it may work for other CE based handhelds too. The driver presents a serial interface (usually on /dev/ttyUSB0) over which one may run ppp and establish a TCP/IP link to the iPAQ. Once this is done, you can transfer files, backup, download email etc. The most significant advantage of using USB is speed - you can get 73 to 113 kbytes/sec for download/upload to the iPAQ. The driver works intermittently with the usb-uhci driver but quite reliably with the uhci driver. However, performance is much better with usb-uhci. It does not seem to work with ohci at all. You must setup hotplug to invoke pppd as soon as the iPAQ is connected. A ppp script like the one below should be kept in the file /etc/hotplug/usb/ipaq Remember to chmod +x. Make sure there are no options in /etc/ppp/options or ~/.ppprc which conflict with the ones given below. #!/bin/bash MYIP=linux.box.ip REMOTEIP=ipaq.ip MYDNS=my.dns.server killall -9 pppd /usr/sbin/pppd /dev/ttyUSB0 \ connect "/usr/sbin/chat -v TIMEOUT 60 CLIENT 'CLIENTSERVER\c'" \ nocrtscts local debug passive $MYIP:$REMOTEIP ms-dns $MYDNS noauth \ proxyarp You must also download and install asyncd from http://synce.sourceforge.net This is required to emulate keep-alive packets which are exchanged by ActiveSync and the iPAQ. On connecting the cable, you should see the usual "Device Connected", "User Authenticated" messages flash by on your iPAQ. Once connected, you can use Win CE programs like ftpView, Pocket Outlook from the iPAQ and xcerdisp, synce utilities from the Linux side. Remember to enable IP forwarding. 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 iPAQ before attempting a connection. For any questions or problems with the driver, please contact Ganesh Varadarajan 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/Entrgra 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 throughly 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://misc.nu/hugh/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. More information about this device and the Linux driver can be found at: http://reality.sgi.com/bryder_wellington/ftdi_sio/ For any questions or problems with this driver, please contact Bill Ryder at bryder@sgi.com ZyXEL omni.net lcd plus ISDN TA This is an ISDN TA. Please report both successes and troubles to the author at omninet@kroah.com 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 paralled 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)* Break Set and clear Line contrl Input/Output query and control ** * 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. ** 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 contol 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 manufacture'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 support any device that has the PL2303 chip from Prolific in it. This includes a number of single port USB to serial converters and USB GPS devices. Devices from Aten (the UC-232) and IO-Data work with this driver. 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. Options supported: If this driver is compiled as a module you can pass the following options to it: debug - extra verbose debugging info (default: 0; nonzero enables) use_lowlatency - use low_latency flag to speed up tty layer when reading from from the device. (default: 0; nonzero enables) See http://www.uuhaus.de/linux/palmconnect.html for up-to-date information on this driver. 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, build the driver as a module and load it by the following invocation: insmod usbserial vendor=0x#### product=0x#### where the #### is replaced with the hex representation of your device's vendor id and product id. 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