1usbftdi(7D)                         Devices                        usbftdi(7D)
2
3
4

NAME

6       usbftdi - FTDI USB to serial converter driver
7

SYNOPSIS

9       #include <fcntl.h>
10       #include <sys/termio.h>
11       usbftdi@unit
12
13

DESCRIPTION

15       The  usbftdi  driver is a loadable STREAMS and USBA (Solaris USB Archi‐
16       tecture) compliant client driver that provides basic asynchronous  com‐
17       munication  support  for  FTDI  USB-to-serial converters. Serial device
18       streams are built with appropriate modules that  are  pushed  atop  the
19       usbftdi driver by the autopush(1M) facility.
20
21   Application Programming Interface
22       The  usbftdi  module  supports  the termio(7I) device control functions
23       specified by flags in the c_cflag word of the termios structure, and by
24       the  IGNBRK, IGNPAR, PARMRK, and INPCK flags in the c_iflag word of the
25       termios structure. All other termio(7I) functions must be performed  by
26       STREAMS  modules pushed atop the driver. When a device is opened, the ,
27       ldterm(7M) and ttcompat(7M) STREAMS modules are automatically pushed on
28       top of the stream, providing the standard termio(7I) interface.
29
30
31       Use  device  logical  names /dev/term/[0-9]* to access the serial ports
32       for a dial-in line that is used with a modem.
33
34
35       Use device logical names /dev/cua/[0-9]* to access the serial ports for
36       other  applications.  These  names  are  also used to provide a logical
37       access point for a dial-out line.
38
39
40       Device hot-removal is functionally equivalent  to  a  modem  disconnect
41       event, as defined in termio(7I).
42
43
44       Input  and  output  line speeds can be set to the following baud rates:
45       300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200,  230400,
46       460800  or 921600. Input and output line speeds can not be set indepen‐
47       dently. For example, when the output speed is set, the input  speed  is
48       automatically set to the same speed.
49
50   Soft Carrier Capabilities
51       Many  devices  that use this USB serial interface component are not, in
52       fact dial-in lines connected to  carefully  configured  RS-232  modems.
53       They  are  often  intelligent  peripherals  whose manufacturers want to
54       present a serial port interface to application software. Some  applica‐
55       tions use only three wire connections, or are otherwise somewhat casual
56       about the state of the Carrier  Detect  (electrical)  signal,  and  the
57       other modem control lines.
58
59
60       The  configuration  file  delivered  with  this  driver,  usbftdi.conf,
61       acknowledges this by setting the driver property ignore-cd to  1.  This
62       enables soft carrier mode where the kernel does not block opens waiting
63       for DCD to be asserted.
64
65
66       This behavior also matches the default ignore carrier  detect  behavior
67       of  the onboard serial ports of machines that have them. See eeprom(1M)
68       for further details.
69
70
71       The hardware carrier behavior (the driver's internal  default)  can  be
72       selected  by  either unsetting (commenting out) the ignore-cd property,
73       or by setting the value of the property to zero.
74
75
76       More sophisticated selection of which devicesl ignore or obey  the  DCD
77       signal can be effected using port-%d-ignore-cd properties.
78
79   Dial-In and Dial-Out Support
80       A  related  feature  is  available for traditional usage that enables a
81       single tty line to be connected to a modem and used  for  incoming  and
82       outgoing    calls.   By   accessing   through   device   logical   name
83       /dev/cua/[0-9]*, you can open a port without the carrier detect  signal
84       being asserted, either through hardware or an equivalent software mech‐
85       anism. These devices are commonly known as dial-out lines.
86
87
88       A dial-in line can be opened only if the corresponding dial-out line is
89       closed.  A  blocking  /dev/term  open  waits until the /dev/cua line is
90       closed, which drops Data Terminal Ready,  after  which  Carrier  Detect
91       usually  drops  as  well.   When the carrier is detected again with the
92       /dev/cua device remaining closed, this indicates an incoming  call  and
93       the blocking open seizes exclusive use of the line.
94
95
96       A  non-blocking  /dev/term open returns an error if the /dev/cua device
97       is open.
98
99
100       If the /dev/term line is opened successfully (usually only when carrier
101       is  recognized  on the modem, though see Soft Carrier Capabilities sec‐
102       tion of this manual page), the corresponding /dev/cua line can  not  be
103       opened.  This  allows a modem and port to be used for dial-in (enabling
104       the line for login  in  /etc/inittab)  or  dial-out  (using  tip(1)  or
105       uucp(1C)) when no-one is logged in on the line.
106

ERRORS

108       An open() fails under the following conditions:
109
110       ENXIO    The unit being opened does not exist.
111
112
113       EBUSY    The  /dev/cua  (dial-out)  device  is  being  opened while the
114                /dev/term (dial-in device) is open, or the dial-in  device  is
115                being opened with a no-delay open while the dial-out device is
116                open.
117
118
119       EBUSY    The unit has been marked as exclusive-use by  another  process
120                with a TIOCEXCL ioctl() call.
121
122
123       EIO      USB device I/O error.
124
125

FILES

127       /usr/kernel/drv/usbftdi
128
129           32-bit x86 ELF kernel module
130
131
132       /usr/kernel/drv/usbftdi.conf
133
134           Kernel module configuration file
135
136
137       /usr/kernel/drv/amd64/usbftdi
138
139           64-bit x86 ELF kernel module
140
141
142       /usr/kernel/drv/sparcv9/usbftdi
143
144           64-bit SPARC ELF kernel module
145
146
147       /dev/cua/[0-9]*
148
149           Dial-out tty lines
150
151
152       /dev/term/[0-9]*
153
154           Dial-in tty lines
155
156

ATTRIBUTES

158       See attributes(5) for a description of the following attribute:
159
160
161
162
163       ┌─────────────────────────────┬──────────────────────────────┐
164       │ATTRIBUTE  TYPE              │ATTRIBUTE VALUE               │
165       ├─────────────────────────────┼──────────────────────────────┤
166       │Architecture                 │SPARC, x86, PCI-based systems │
167       ├─────────────────────────────┼──────────────────────────────┤
168       │Availability                 │SUNWuftdi                     │
169       └─────────────────────────────┴──────────────────────────────┘
170

SEE ALSO

172       strconf(1),   tip(1),  uucp(1C),  autopush(1M),  eeprom(1M),  ioctl(2),
173       open(2), termios(3C), usba(7D), termio(7I),  ldterm(7M),  ttcompat(7M),
174       eeprom(1M), attributes(5),
175

DIAGNOSTICS

177       In addition to being logged, the following messages might appear on the
178       system console. All messages are formatted in the following manner:
179
180         Warning: device_path usbftdiinstance num): Error Message ...
181
182
183
184       Device was disconnected while open. Data may have been lost.
185
186           The device has been hot-removed or powered off while  it  was  open
187           and  a  possible  data  transfer  was in progress. The job might be
188           aborted.
189
190
191       Device is not identical to the previous one on this port. Please dis‐
192       connect and reconnect.
193
194           The  device  was  hot-removed  while  open.  A  new device was hot-
195           inserted which is not identical to the original device. Please dis‐
196           connect  the  device  and reconnect the original device to the same
197           port.
198
199
200       Device has been reconnected, but data may have been lost.
201
202           The device that was hot-removed from its  USB  port  has  been  re-
203           inserted  again  to  the  same port. It is available for access but
204           data from a previous transfer might be lost.
205
206
207       Cannot access device. Please reconnect.
208
209           This device has been disconnected because a device other  than  the
210           original one has been inserted. The driver informs you of this fact
211           by displaying the name of the original device.
212
213
214
215       The following messages might be logged into the system  log.  They  are
216       formatted in the following manner:
217
218         device_path usbftdiiinstance number): message ...
219
220
221
222       Input overrun.    Data was lost.
223
224
225
226
227SunOS 5.11                        13 Apr 2009                      usbftdi(7D)
Impressum