ports man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

PORTS(1M)							     PORTS(1M)

NAME
       ports - creates /dev entries and inittab entries for serial lines

SYNOPSIS
       /usr/sbin/ports [-r rootdir]

DESCRIPTION
       devfsadm(1M)  is	 now  the  preferred command for /dev and /devices and
       should be used instead of ports.

       The ports command creates symbolic links in the /dev/term and  /dev/cua
       directories  to	the serial-port character device files in /devices and
       adds new entries in /etc/inittab for non-system	ports  found.  System-
       board  ports  are  given single lower-case letters for names (such as a
       and b) while other ports are named numerically.

       ports searches the kernel  device  tree	to  find  the  serial  devices
       attached	 to  the  system. It also checks /dev/term and /dev/cua to see
       what symbolic links to serial devices already exist.  ports  then  per‐
       forms the following:

	   1.	  Assigns  new	numbers (or letters for system-board ports) to
		  ports that are attached  to  the  system  but	 do  not  have
		  /dev/term  and  /dev/cua  entries.  The  numbers  or letters
		  assigned are the lowest-unused numbers or letters.

	   2.	  Removes dangling links: links from  /dev/term	 and  /dev/cua
		  pointing to no-longer-existing ports.

	   3.	  Creates  new	/dev/term  and	/dev/cua  links for new serial
		  devices.

	   4.	  Invokes sacadm(1M) to make new port monitor entries for  the
		  new  devices.	 This  is  not done automatically for on-board
		  ports; on workstations these ports are often	not  used  for
		  dial-in  sessions,  so a port-monitor for one of these ports
		  must be created explicitly.

       If the configuration has not changed, ports exits  without  doing  any‐
       thing.

   Notice to Driver Writers
       ports   considers   devices   with   a	node  type  of	DDI_NT_SERIAL,
       DDI_NT_SERIAL_MB, DDI_NT_SERIAL_DO, or DDI_NT_SERIAL_MB_DO to be serial
       port  devices.  Devices	with one of these node types must create minor
       device names that obey the following conventions when calling  ddi_cre‐
       ate_minor_node(9F).

	   o	  The  minor  name for non-system port devices (DDI_NT_SERIAL)
		  consists of an ASCII numeric string, where the first port on
		  the  device  is named 0, the second named 1, the third named
		  2, up to the number of ports provided by the device.

	   o	  The	minor	name   for    non-system    dialout    devices
		  (DDI_NT_SERIAL_DO)  is the ASCII numeric port name, concate‐
		  nated with ,cu. For example, the minor name  for  the	 first
		  dialout port on the serial board is 0,cu.

	   o	  The	 minor	  name	  for	 system-board	port   devices
		  (DDI_NT_SERIAL_MB) consists of a string containing a	single
		  ASCII	 lowercase  character,	where  the  first  port on the
		  device is named a, the second is named b, the third is named
		  c, for all ports on the device (or up through port z).

	   o	  The	 minor	 name	for   system-board   dialout   devices
		  (DDI_NT_SERIAL_MB_DO) consists of  the  lowercase  character
		  port	name,  concatenated  with  ,cu. For example, the minor
		  name for the first  dialout  port  on	 the  on-board	serial
		  device is a,cu.

       To  prevent disks from attempting to automatically generate links for a
       device, drivers must specify a private node type and refrain from using
       one of the above node types when calling ddi_create_minor_node(9F).

OPTIONS
       The following options are supported:

       -r rootdir
		     Causes ports to presume that the /dev/term, /dev/cua, and
		     /devices  directories  are	 found	under	rootdir,   not
		     directly	under	/.  If	this  argument	is  specified,
		     sacadm(1M) is not invoked, since it would update terminal
		     administration  files  under  /etc	 without regard to the
		     rootdir.

EXAMPLES
       Example 1 Creating the Serial and Dialout Minor Device Nodes

       The following example creates the serial and dialout minor device nodes
       from the xkserial driver's attach(9E) function:

	 /*
	 * Create the minor number by combining the instance number
	 * with the port number.
	 */ #define XKNUMPORTS		 8
	 #define XKMINORNUM(i, p)     ((i) << 4 | (p))
	 #define XKMINORNUM_DO(i, p)  ((i) << 4 | (p) | 0x80)
	 int
	 xkserialattach(dev_info_t *dip, ddi_attach_cmd_t cmd)
	 {
	    int instance, portnum;
	    char name[8];
		/* other stuff in attach... */
	    instance = ddi_get_instance(dip);
	    for (portnum = 0; portnum < XKNUMPORTS; portnum++) {
		/*
		 * create the serial port device
		 */
		 sprintf(name, "%d", portnum);
		 ddi_create_minor_node(dip, name, S_IFCHR,
		    XKMINORNUM(instance, portnum), DDI_NT_SERIAL, 0);

		 /*
		  * create the dialout device
		  */
		  sprintf(name,"%d,cu", portnum);
		  ddi_create_minor_node(dip, name, S_IFCHR,
		      XKMINORNUM_DO(instance, portnum), DDI_NT_SERIAL_DO, 0);
	      }
	 }

       Example 2 Installing the xkserial Port Driver on a Sun Fire 4800

       The  following  example installs the xkserial port driver on a Sun Fire
       4800 (with the driver controlling the fictional XKSerial 8 port	serial
       board), with these special files in /devices:

	 # ls -l /devices/ssm@0,0/pci@18,700000/pci@1/xkserial@f,800000/
	 crw-r-----   1 root sys   32,	16 Aug 29 00:02 xkserial@2000:0
	 crw-r-----   1 root sys   32, 144 Aug 29 00:02 xkserial@2000:0,cu
	 crw-r-----   1 root sys   32,	17 Aug 29 00:02 xkserial@2000:1
	 crw-r-----   1 root sys   32, 145 Aug 29 00:02 xkserial@2000:1,cu
	 crw-r-----   1 root sys   32,	18 Aug 29 00:02 xkserial@2000:2
	 crw-r-----   1 root sys   32, 146 Aug 29 00:02 xkserial@2000:2,cu
	 crw-r-----   1 root sys   32,	19 Aug 29 00:02 xkserial@2000:3
	 crw-r-----   1 root sys   32, 147 Aug 29 00:02 xkserial@2000:3,cu
	 crw-r-----   1 root sys   32,	20 Aug 29 00:02 xkserial@2000:4
	 crw-r-----   1 root sys   32, 148 Aug 29 00:02 xkserial@2000:4,cu
	 crw-r-----   1 root sys   32,	21 Aug 29 00:02 xkserial@2000:5
	 crw-r-----   1 root sys   32, 149 Aug 29 00:02 xkserial@2000:5,cu
	 crw-r-----   1 root sys   32,	22 Aug 29 00:02 xkserial@2000:6
	 crw-r-----   1 root sys   32, 150 Aug 29 00:02 xkserial@2000:6,cu
	 crw-r-----   1 root sys   32,	23 Aug 29 00:02 xkserial@2000:7
	 crw-r-----   1 root sys   32, 151 Aug 29 00:02 xkserial@2000:7,cu

       /dev/term  contain  symbolic  links  to the serial port device nodes in
       /devices

	 # ls -l /dev/term
	 /dev/term/0 -> ../../devices/[....]/xkserial@2000:0
	 /dev/term/1 -> ../../devices/[....]/xkserial@2000:1
	 /dev/term/2 -> ../../devices/[....]/xkserial@2000:2
	 /dev/term/3 -> ../../devices/[....]/xkserial@2000:3
	 /dev/term/4 -> ../../devices/[....]/xkserial@2000:4
	 /dev/term/5 -> ../../devices/[....]/xkserial@2000:5
	 /dev/term/6 -> ../../devices/[....]/xkserial@2000:6
	 /dev/term/7 -> ../../devices/[....]/xkserial@2000:7

       and /dev/cua contain symbolic links to the dialout port device nodes in
       /devices

	 # ls -l /dev/cua

	 /dev/cua/0 -> ../../devices/[....]/xkserial@2000:0,cu
	 /dev/cua/1 -> ../../devices/[....]/xkserial@2000:1,cu
	 /dev/cua/2 -> ../../devices/[....]/xkserial@2000:2,cu
	 /dev/cua/3 -> ../../devices/[....]/xkserial@2000:3,cu
	 /dev/cua/4 -> ../../devices/[....]/xkserial@2000:4,cu
	 /dev/cua/5 -> ../../devices/[....]/xkserial@2000:5,cu
	 /dev/cua/6 -> ../../devices/[....]/xkserial@2000:6,cu
	 /dev/cua/7 -> ../../devices/[....]/xkserial@2000:7,cu

FILES
       /dev/term/n
		       Logical serial port devices

       /dev/cua/n
		       Logical dialout port devices

       /etc/inittab

       /etc/saf/*

SEE ALSO
       add_drv(1M),   devfsadm(1M),   drvconfig(1M),   pmadm(1M),  sacadm(1M),
       attributes(5), devfs(7FS), attach(9E), ddi_create_minor_node(9F)

				  Nov 8, 2002			     PORTS(1M)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net