usb-serial.txt 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. INTRODUCTION
  2. The USB serial driver currently supports a number of different USB to
  3. serial converter products, as well as some devices that use a serial
  4. interface from userspace to talk to the device.
  5. See the individual product section below for specific information about
  6. the different devices.
  7. CONFIGURATION
  8. Currently the driver can handle up to 256 different serial interfaces at
  9. one time.
  10. The major number that the driver uses is 188 so to use the driver,
  11. create the following nodes:
  12. mknod /dev/ttyUSB0 c 188 0
  13. mknod /dev/ttyUSB1 c 188 1
  14. mknod /dev/ttyUSB2 c 188 2
  15. mknod /dev/ttyUSB3 c 188 3
  16. .
  17. .
  18. .
  19. mknod /dev/ttyUSB254 c 188 254
  20. mknod /dev/ttyUSB255 c 188 255
  21. When the device is connected and recognized by the driver, the driver
  22. will print to the system log, which node(s) the device has been bound
  23. to.
  24. SPECIFIC DEVICES SUPPORTED
  25. ConnectTech WhiteHEAT 4 port converter
  26. ConnectTech has been very forthcoming with information about their
  27. device, including providing a unit to test with.
  28. The driver is officially supported by Connect Tech Inc.
  29. http://www.connecttech.com
  30. For any questions or problems with this driver, please contact
  31. Connect Tech's Support Department at support@connecttech.com
  32. HandSpring Visor, Palm USB, and Clié USB driver
  33. This driver works with all HandSpring USB, Palm USB, and Sony Clié USB
  34. devices.
  35. Only when the device tries to connect to the host, will the device show
  36. up to the host as a valid USB device. When this happens, the device is
  37. properly enumerated, assigned a port, and then communication _should_ be
  38. possible. The driver cleans up properly when the device is removed, or
  39. the connection is canceled on the device.
  40. NOTE:
  41. This means that in order to talk to the device, the sync button must be
  42. pressed BEFORE trying to get any program to communicate to the device.
  43. This goes against the current documentation for pilot-xfer and other
  44. packages, but is the only way that it will work due to the hardware
  45. in the device.
  46. When the device is connected, try talking to it on the second port
  47. (this is usually /dev/ttyUSB1 if you do not have any other usb-serial
  48. devices in the system.) The system log should tell you which port is
  49. the port to use for the HotSync transfer. The "Generic" port can be used
  50. for other device communication, such as a PPP link.
  51. For some Sony Clié devices, /dev/ttyUSB0 must be used to talk to the
  52. device. This is true for all OS version 3.5 devices, and most devices
  53. that have had a flash upgrade to a newer version of the OS. See the
  54. kernel system log for information on which is the correct port to use.
  55. If after pressing the sync button, nothing shows up in the system log,
  56. try resetting the device, first a hot reset, and then a cold reset if
  57. necessary. Some devices need this before they can talk to the USB port
  58. properly.
  59. Devices that are not compiled into the kernel can be specified with module
  60. parameters. e.g. modprobe visor vendor=0x54c product=0x66
  61. There is a webpage and mailing lists for this portion of the driver at:
  62. http://usbvisor.sourceforge.net/
  63. For any questions or problems with this driver, please contact Greg
  64. Kroah-Hartman at greg@kroah.com
  65. PocketPC PDA Driver
  66. This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500
  67. and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USB
  68. cable/cradle.
  69. Most devices supported by ActiveSync are supported out of the box.
  70. For others, please use module parameters to specify the product and vendor
  71. id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125
  72. The driver presents a serial interface (usually on /dev/ttyUSB0) over
  73. which one may run ppp and establish a TCP/IP link to the PDA. Once this
  74. is done, you can transfer files, backup, download email etc. The most
  75. significant advantage of using USB is speed - I can get 73 to 113
  76. kbytes/sec for download/upload to my iPAQ.
  77. This driver is only one of a set of components required to utilize
  78. the USB connection. Please visit http://synce.sourceforge.net which
  79. contains the necessary packages and a simple step-by-step howto.
  80. Once connected, you can use Win CE programs like ftpView, Pocket Outlook
  81. from the PDA and xcerdisp, synce utilities from the Linux side.
  82. To use Pocket IE, follow the instructions given at
  83. http://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thing
  84. on Win98. Omit the proxy server part; Linux is quite capable of forwarding
  85. packets unlike Win98. Another modification is required at least for the
  86. iPAQ - disable autosync by going to the Start/Settings/Connections menu
  87. and unchecking the "Automatically synchronize ..." box. Go to
  88. Start/Programs/Connections, connect the cable and select "usbdial" (or
  89. whatever you named your new USB connection). You should finally wind
  90. up with a "Connected to usbdial" window with status shown as connected.
  91. Now start up PIE and browse away.
  92. If it doesn't work for some reason, load both the usbserial and ipaq module
  93. with the module parameter "debug" set to 1 and examine the system log.
  94. You can also try soft-resetting your PDA before attempting a connection.
  95. Other functionality may be possible depending on your PDA. According to
  96. Wes Cilldhaire <billybobjoehenrybob@hotmail.com>, with the Toshiba E570,
  97. ...if you boot into the bootloader (hold down the power when hitting the
  98. reset button, continuing to hold onto the power until the bootloader screen
  99. is displayed), then put it in the cradle with the ipaq driver loaded, open
  100. a terminal on /dev/ttyUSB0, it gives you a "USB Reflash" terminal, which can
  101. be used to flash the ROM, as well as the microP code.. so much for needing
  102. Toshiba's $350 serial cable for flashing!! :D
  103. NOTE: This has NOT been tested. Use at your own risk.
  104. For any questions or problems with the driver, please contact Ganesh
  105. Varadarajan <ganesh@veritas.com>
  106. Keyspan PDA Serial Adapter
  107. Single port DB-9 serial adapter, pushed as a PDA adapter for iMacs (mostly
  108. sold in Macintosh catalogs, comes in a translucent white/green dongle).
  109. Fairly simple device. Firmware is homebrew.
  110. This driver also works for the Xircom/Entrgra single port serial adapter.
  111. Current status:
  112. Things that work:
  113. basic input/output (tested with 'cu')
  114. blocking write when serial line can't keep up
  115. changing baud rates (up to 115200)
  116. getting/setting modem control pins (TIOCM{GET,SET,BIS,BIC})
  117. sending break (although duration looks suspect)
  118. Things that don't:
  119. device strings (as logged by kernel) have trailing binary garbage
  120. device ID isn't right, might collide with other Keyspan products
  121. changing baud rates ought to flush tx/rx to avoid mangled half characters
  122. Big Things on the todo list:
  123. parity, 7 vs 8 bits per char, 1 or 2 stop bits
  124. HW flow control
  125. not all of the standard USB descriptors are handled: Get_Status, Set_Feature
  126. O_NONBLOCK, select()
  127. For any questions or problems with this driver, please contact Brian
  128. Warner at warner@lothar.com
  129. Keyspan USA-series Serial Adapters
  130. Single, Dual and Quad port adapters - driver uses Keyspan supplied
  131. firmware and is being developed with their support.
  132. Current status:
  133. The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and
  134. have been pretty thoroughly tested at various baud rates with 8-N-1
  135. character settings. Other character lengths and parity setups are
  136. presently untested.
  137. The USA-28 isn't yet supported though doing so should be pretty
  138. straightforward. Contact the maintainer if you require this
  139. functionality.
  140. More information is available at:
  141. http://misc.nu/hugh/keyspan.html
  142. For any questions or problems with this driver, please contact Hugh
  143. Blemings at hugh@misc.nu
  144. FTDI Single Port Serial Driver
  145. This is a single port DB-25 serial adapter.
  146. For any questions or problems with this driver, please contact Bill Ryder.
  147. ZyXEL omni.net lcd plus ISDN TA
  148. This is an ISDN TA. Please report both successes and troubles to
  149. azummo@towertech.it
  150. Cypress M8 CY4601 Family Serial Driver
  151. This driver was in most part developed by Neil "koyama" Whelchel. It
  152. has been improved since that previous form to support dynamic serial
  153. line settings and improved line handling. The driver is for the most
  154. part stable and has been tested on an smp machine. (dual p2)
  155. Chipsets supported under CY4601 family:
  156. CY7C63723, CY7C63742, CY7C63743, CY7C64013
  157. Devices supported:
  158. -DeLorme's USB Earthmate (SiRF Star II lp arch)
  159. -Cypress HID->COM RS232 adapter
  160. Note: Cypress Semiconductor claims no affiliation with the
  161. hid->com device.
  162. Most devices using chipsets under the CY4601 family should
  163. work with the driver. As long as they stay true to the CY4601
  164. usbserial specification.
  165. Technical notes:
  166. The Earthmate starts out at 4800 8N1 by default... the driver will
  167. upon start init to this setting. usbserial core provides the rest
  168. of the termios settings, along with some custom termios so that the
  169. output is in proper format and parsable.
  170. The device can be put into sirf mode by issuing NMEA command:
  171. $PSRF100,<protocol>,<baud>,<databits>,<stopbits>,<parity>*CHECKSUM
  172. $PSRF100,0,9600,8,1,0*0C
  173. It should then be sufficient to change the port termios to match this
  174. to begin communicating.
  175. As far as I can tell it supports pretty much every sirf command as
  176. documented online available with firmware 2.31, with some unknown
  177. message ids.
  178. The hid->com adapter can run at a maximum baud of 115200bps. Please note
  179. that the device has trouble or is incapable of raising line voltage properly.
  180. It will be fine with null modem links, as long as you do not try to link two
  181. together without hacking the adapter to set the line high.
  182. The driver is smp safe. Performance with the driver is rather low when using
  183. it for transferring files. This is being worked on, but I would be willing to
  184. accept patches. An urb queue or packet buffer would likely fit the bill here.
  185. If you have any questions, problems, patches, feature requests, etc. you can
  186. contact me here via email:
  187. dignome@gmail.com
  188. (your problems/patches can alternately be submitted to usb-devel)
  189. Digi AccelePort Driver
  190. This driver supports the Digi AccelePort USB 2 and 4 devices, 2 port
  191. (plus a parallel port) and 4 port USB serial converters. The driver
  192. does NOT yet support the Digi AccelePort USB 8.
  193. This driver works under SMP with the usb-uhci driver. It does not
  194. work under SMP with the uhci driver.
  195. The driver is generally working, though we still have a few more ioctls
  196. to implement and final testing and debugging to do. The parallel port
  197. on the USB 2 is supported as a serial to parallel converter; in other
  198. words, it appears as another USB serial port on Linux, even though
  199. physically it is really a parallel port. The Digi Acceleport USB 8
  200. is not yet supported.
  201. Please contact Peter Berger (pberger@brimson.com) or Al Borchers
  202. (alborchers@steinerpoint.com) for questions or problems with this
  203. driver.
  204. Belkin USB Serial Adapter F5U103
  205. Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.
  206. The Peracom single port serial adapter also works with this driver, as
  207. well as the GoHubs adapter.
  208. Current status:
  209. The following have been tested and work:
  210. Baud rate 300-230400
  211. Data bits 5-8
  212. Stop bits 1-2
  213. Parity N,E,O,M,S
  214. Handshake None, Software (XON/XOFF), Hardware (CTSRTS,CTSDTR)*
  215. Break Set and clear
  216. Line control Input/Output query and control **
  217. * Hardware input flow control is only enabled for firmware
  218. levels above 2.06. Read source code comments describing Belkin
  219. firmware errata. Hardware output flow control is working for all
  220. firmware versions.
  221. ** Queries of inputs (CTS,DSR,CD,RI) show the last
  222. reported state. Queries of outputs (DTR,RTS) show the last
  223. requested state and may not reflect current state as set by
  224. automatic hardware flow control.
  225. TO DO List:
  226. -- Add true modem control line query capability. Currently tracks the
  227. states reported by the interrupt and the states requested.
  228. -- Add error reporting back to application for UART error conditions.
  229. -- Add support for flush ioctls.
  230. -- Add everything else that is missing :)
  231. For any questions or problems with this driver, please contact William
  232. Greathouse at wgreathouse@smva.com
  233. Empeg empeg-car Mark I/II Driver
  234. This is an experimental driver to provide connectivity support for the
  235. client synchronization tools for an Empeg empeg-car mp3 player.
  236. Tips:
  237. * Don't forget to create the device nodes for ttyUSB{0,1,2,...}
  238. * modprobe empeg (modprobe is your friend)
  239. * emptool --usb /dev/ttyUSB0 (or whatever you named your device node)
  240. For any questions or problems with this driver, please contact Gary
  241. Brubaker at xavyer@ix.netcom.com
  242. MCT USB Single Port Serial Adapter U232
  243. This driver is for the MCT USB-RS232 Converter (25 pin, Model No.
  244. U232-P25) from Magic Control Technology Corp. (there is also a 9 pin
  245. Model No. U232-P9). More information about this device can be found at
  246. the manufacturer's web-site: http://www.mct.com.tw.
  247. The driver is generally working, though it still needs some more testing.
  248. It is derived from the Belkin USB Serial Adapter F5U103 driver and its
  249. TODO list is valid for this driver as well.
  250. This driver has also been found to work for other products, which have
  251. the same Vendor ID but different Product IDs. Sitecom's U232-P25 serial
  252. converter uses Product ID 0x230 and Vendor ID 0x711 and works with this
  253. driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
  254. For any questions or problems with this driver, please contact Wolfgang
  255. Grandegger at wolfgang@ces.ch
  256. Inside Out Networks Edgeport Driver
  257. This driver supports all devices made by Inside Out Networks, specifically
  258. the following models:
  259. Edgeport/4
  260. Rapidport/4
  261. Edgeport/4t
  262. Edgeport/2
  263. Edgeport/4i
  264. Edgeport/2i
  265. Edgeport/421
  266. Edgeport/21
  267. Edgeport/8
  268. Edgeport/8 Dual
  269. Edgeport/2D8
  270. Edgeport/4D8
  271. Edgeport/8i
  272. Edgeport/2 DIN
  273. Edgeport/4 DIN
  274. Edgeport/16 Dual
  275. For any questions or problems with this driver, please contact Greg
  276. Kroah-Hartman at greg@kroah.com
  277. REINER SCT cyberJack pinpad/e-com USB chipcard reader
  278. Interface to ISO 7816 compatible contactbased chipcards, e.g. GSM SIMs.
  279. Current status:
  280. This is the kernel part of the driver for this USB card reader.
  281. There is also a user part for a CT-API driver available. A site
  282. for downloading is TBA. For now, you can request it from the
  283. maintainer (linux-usb@sii.li).
  284. For any questions or problems with this driver, please contact
  285. linux-usb@sii.li
  286. Prolific PL2303 Driver
  287. This driver supports any device that has the PL2303 chip from Prolific
  288. in it. This includes a number of single port USB to serial
  289. converters and USB GPS devices. Devices from Aten (the UC-232) and
  290. IO-Data work with this driver, as does the DCU-11 mobile-phone cable.
  291. For any questions or problems with this driver, please contact Greg
  292. Kroah-Hartman at greg@kroah.com
  293. KL5KUSB105 chipset / PalmConnect USB single-port adapter
  294. Current status:
  295. The driver was put together by looking at the usb bus transactions
  296. done by Palm's driver under Windows, so a lot of functionality is
  297. still missing. Notably, serial ioctls are sometimes faked or not yet
  298. implemented. Support for finding out about DSR and CTS line status is
  299. however implemented (though not nicely), so your favorite autopilot(1)
  300. and pilot-manager -daemon calls will work. Baud rates up to 115200
  301. are supported, but handshaking (software or hardware) is not, which is
  302. why it is wise to cut down on the rate used is wise for large
  303. transfers until this is settled.
  304. Options supported:
  305. If this driver is compiled as a module you can pass the following
  306. options to it:
  307. debug - extra verbose debugging info
  308. (default: 0; nonzero enables)
  309. use_lowlatency - use low_latency flag to speed up tty layer
  310. when reading from the device.
  311. (default: 0; nonzero enables)
  312. See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
  313. information on this driver.
  314. Winchiphead CH341 Driver
  315. This driver is for the Winchiphead CH341 USB-RS232 Converter. This chip
  316. also implements an IEEE 1284 parallel port, I2C and SPI, but that is not
  317. supported by the driver. The protocol was analyzed from the behaviour
  318. of the Windows driver, no datasheet is available at present.
  319. The manufacturer's website: http://www.winchiphead.com/.
  320. For any questions or problems with this driver, please contact
  321. frank@kingswood-consulting.co.uk.
  322. Generic Serial driver
  323. If your device is not one of the above listed devices, compatible with
  324. the above models, you can try out the "generic" interface. This
  325. interface does not provide any type of control messages sent to the
  326. device, and does not support any kind of device flow control. All that
  327. is required of your device is that it has at least one bulk in endpoint,
  328. or one bulk out endpoint.
  329. To enable the generic driver to recognize your device, build the driver
  330. as a module and load it by the following invocation:
  331. insmod usbserial vendor=0x#### product=0x####
  332. where the #### is replaced with the hex representation of your device's
  333. vendor id and product id.
  334. This driver has been successfully used to connect to the NetChip USB
  335. development board, providing a way to develop USB firmware without
  336. having to write a custom driver.
  337. For any questions or problems with this driver, please contact Greg
  338. Kroah-Hartman at greg@kroah.com
  339. CONTACT:
  340. If anyone has any problems using these drivers, with any of the above
  341. specified products, please contact the specific driver's author listed
  342. above, or join the Linux-USB mailing list (information on joining the
  343. mailing list, as well as a link to its searchable archive is at
  344. http://www.linux-usb.org/ )
  345. Greg Kroah-Hartman
  346. greg@kroah.com