The usbser_edge driver is a loadable STREAMS and USBA (Solaris USB Architecture) compliant client driver which provides basic asynchronous communication support for Digi Edgeport USB-to-serial converters. Supported devices include Edgeport/2, Edgeport/21, Edgeport/4, Edgeport/421, Edgeport/8 and Edgeport/416. Serial device streams are built with appropriate modules that are pushed atop the usbser_edge driver by the autopush(1M) facility.
The usbser_edge module supports the termio(7I) device control functions specified by flags in the c_cflag word of the termios structure, and by the IGNBRK, IGNPAR, PARMRK and INPCK flags in the c_iflag word of the termios structure. All other termio(7I) functions must be performed by STREAMS modules pushed atop the driver. When a device is opened, the ldterm(7M) and ttcompat(7M) STREAMS modules are automatically pushed on top of the stream, providing the standard termio(7I) interface.
Use device logical names /dev/term/[0-9]* to access the serial ports. These names are typically used to provide a logical access point for a dial-in line that is used with a modem.
To allow a single tty line to be connected to a modem and used for incoming and outgoing calls, a special feature is available that is controlled by the minor device number. By accessing through device logical name/dev/cua/[0-9]*, it is possible to open a port without the Carrier Detect signal being asserted, either through hardware or an equivalent software mechanism. These devices are commonly known as dial-out lines.
Unlike onboard serial ports, the usbser_edge ports cannot serve as a local serial console.
A dial-in line can be opened only if the corresponding dial-out line is closed. A blocking /dev/term open waits until the /dev/cua line is closed (which drops Data Terminal Ready, after which Carrier Detect usually drops as well) and carrier is detected again. A non-blocking /dev/term open returns an error if the /dev/cua is open.
If the /dev/term line is opened successfully (usually only when carrier is recognized on the modem), the corresponding /dev/cua line cannot be opened. This allows a modem and port to be used for dial-in (by enabling the line for login in /etc/inittab) or dial-out (by tip(1), or uucp(1C)) when no one is logged in on the line.
Device hot-removal is functionally equivalent to modem disconnect event, as defined in termio(7I).
The usbser_edge driver supports the standard set of termio(7I) ioctl commands.
Input and output line speeds can be set to the following baud rates: 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, or 230400. Input and output line speeds cannot be set independently; for example, when the output speed is set, the input speed is automatically set to the same speed.
An open() fails under the following conditions:
The unit being opened does not exist.
The /dev/cua (dial-out) device is being opened while the/dev/term (dial-in device) is open, or the dial-in device is being opened with a no-delay open while the dial-out device is open.
The unit has been marked as exclusive-use by another process with a
TIOCEXCL ioctl() call.
USB device I/O error.
32 bit ELF kernel module for original USBA framework*
64 bit ELF kernel module for original USBA framework*
32 bit ELF kernel module for USBA 1.0 framework*
64 bit ELF kernel module for USBA 1.0 framework*
usba10_usbser_edge configuration file
dial-out tty lines
dial-in tty lines
* Please see www.sun.com/desktop/whitepapers.html for more information regarding USB dual framework implementation, USBA 1.0, and USB 2.0.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Architecture||Original USBA drivers and files: PCI-based systems|
|USBA 1.0 drivers and files: PCI-based SPARC systems|
In addition to being logged, the following messages may appear on the system console. All messages are formatted in the following manner:
Warning: <device path> usbser_edge<instance num>: Error Message...
Warning: <device path> usba10_usbser_edge<instance num>: Error Message...
The device was hot-removed or powered off while it was open and a possible data transfer was in progress.
The USB device was hot-removed while open. A new device was hot-inserted which is not identical to the original device. Please disconnect the new device and reconnect the original device to the same port.
The device that was hot-removed from its USB port has been re-inserted again to the same port. It is available for access but data from a previous transfer may be lost.
The device was hot-removed and has not been reconnected. Please reconnect the device.