usbser_edge - Digi Edgeport USB to serial converter driver


     #include <fcntl.h>

     #include <sys/termios.h>



     The usbser_edge  driver  is  a  loadable  STREAMS  and  USBA
     (Solaris USB architecture) compliant client driver that pro-
     vides basic  asynchronous  communication  support  for  Digi
     Edgeport USB-to-serial converters. Supported devices include
     Edgeport/1,     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  con-
     trol 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 automat-
     ically  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

     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]*, you
     can 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

     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 calls.

     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:

     ENXIO The unit being opened does not exist.

     EBUSY 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.

     EBUSY The unit has been marked as  exclusive-use by  another
           process with a TIOCEXCL ioctl() call.

     EIO   USB device I/O error.


           32 bit ELF kernel module for original USBA framework.*

           64 bit ELF kernel module for original USBA framework.*
           (SPARC only).

           32 bit ELF kernel module for USBA 1.0 framework.*

           64 bit ELF kernel  module  for  USBA  1.0  framework.*
           (SPARC only).

           usba10_usbser_edge configuration file.

           dial-out tty lines.

           dial-in tty lines.


     See attributes(5) for descriptions of the  following  attri-

   |        ATTRIBUTE TYPE       |        ATTRIBUTE VALUE      |
   | ____________________________|_____________________________|_
   |  Architecture               |  PCI-based systems          |
   | ____________________________|_____________________________|_
   |  Availability               |  SUNWusb (All architectures)|
   |                             |  SUNWusbx (SPARC only)      |


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


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

     Device was disconnected while open. Data may have been lost.
           The device was hot-removed or powered off while it was
           open and a possible data transfer was in progress.

disconnect and reconnect.

     Device is not identical to the previous one on this port.  Please
           The  device  was  hot-removed while open. A new device
           was hot-inserted which is not identical to the  origi-
           nal   device.   Please   disconnect  the   device  and
           reconnect the original device to the same port.

     Device has been reconnected, but data may have been lost.
           The device that was hot-removed from its USB port  has
           been re-inserted  again to the same port. It is avail-
           able for access but data from a previous transfer  may
           be lost.

     Cannot access device.  Please reconnect <name>.
           This device has been  disconnected  because  a  device
           other  than  the  original  one has been inserted. The
           driver informs you of this fact by displaying the name
           of the  original device.

Man(1) output converted with man2html