summaryrefslogtreecommitdiffstats
path: root/Documentation/usb/usb-serial.txt
blob: 58f3cf108a439ae67d07235a8265443cbecad6e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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 16 different serial interfaces at
  one time. Once more of the drivers become stable, this number will be
  increased to the full 256. 

  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/ttyUSB4 c 188 4
	mknod /dev/ttyUSB5 c 188 5
	mknod /dev/ttyUSB6 c 188 6
	mknod /dev/ttyUSB7 c 188 7
	mknod /dev/ttyUSB8 c 188 8
	mknod /dev/ttyUSB9 c 188 9
	mknod /dev/ttyUSB10 c 188 10
	mknod /dev/ttyUSB11 c 188 11
	mknod /dev/ttyUSB12 c 188 12
	mknod /dev/ttyUSB13 c 188 13
	mknod /dev/ttyUSB14 c 188 14
	mknod /dev/ttyUSB15 c 188 15
	mknod /dev/ttyUSB16 c 188 16


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, but the use of a
  special Anchor Chips extension is currently giving me problems.
  This driver is not fully operational.


HandSpring Visor USB docking station

Current status:
  Only when the Visor tries to connect to the host, does the docking
  station show up 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 Visor.
  
  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.)

  There is a webpage and mailing lists for this portion of the driver at: 
  http://usbvisor.sourceforge.net/


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.

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()

 The device usually appears at /dev/ttyUSB1 .


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 usb-serial 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.


CONTACT:

  If anyone has any problems using this driver, with any of the above
  specified products, please contact me, 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