System Administration Guide: Advanced Administration

Chapter 3 Managing Serial Ports With the Service Access Facility (Tasks)

This chapter describes how to manage serial port services using the Service Access Facility (SAF).

Also included in this chapter is information on how to perform console administration with the Service Management Facility (SMF).


Note –

The SAF and SMF are two different tools in the Solaris OS. Starting with the Solaris 10 release, ttymon invocations on the system console are now managed by SMF. The SAF tool is still used to administer terminals, modems, and other network devices.


This is a list of the overview information in this chapter.

For information on the step-by-step procedures that are associated with managing serial ports , see the following:

For reference information about the SAF, see Service Access Facility Administration (Reference).

Managing Serial Ports (Task Map)

Task 

Description 

For Instructions 

Perform console administration. 

You might need to perform the following console administration tasks:  

  • Set the ttymon console terminal type.

    Starting with the Solaris 10 release, you must use the svccfg command to specify the ttymon console terminal type.

  • Set the ttymon console terminal baud rate speed.

 

How to Set the ttymon Console Terminal Type

 

How to Set the Baud Rate Speed on the ttymon Console Terminal

Add a ttymon port monitor.

Use the sacadm command to add a ttymon port monitor.

How to Add a ttymon Port Monitor

View a ttymon port monitor status.

Use the sacadm command to view ttymon port monitor status.

How to View ttymon Port Monitor Status

Stop a ttymon port monitor.

Use the sacadm command to stop a ttymon port monitor.

How to Stop a ttymon Port Monitor

Start a ttymon port monitor.

Use the sacadm command to start a ttymon port monitor.

How to Start a ttymon Port Monitor

Disable a ttymon port monitor.

Use the sacadm command to disable a ttymon port monitor.

How to Disable a ttymon Port Monitor

Enable a ttymonport monitor.

Use the sacadm command to enable a ttymon port monitor.

How to Enable a ttymon Port Monitor

Remove a ttymon port monitor.

Use the sacadm command to remove a ttymon port monitor.

How to Remove a ttymon Port Monitor

Using the Service Access Facility

You can set up terminals and modems with the Solaris Management Console's Serial Ports tool or the SAF commands.

The SAF is a tool that is used to administer terminals, modems, and other network devices. The top-level SAF program is the Service Access Controller (SAC). The SAC controls port monitors that you administer through the sacadm command. Each port monitor can manage one or more ports.

You administer the services associated with ports through the pmadm command. While services provided through the SAC can differ from network to network, the SAC and its administrative commands, sacadm and pmadm, are network independent.

The following table describes the SAF control hierarchy. The sacadm command is used to administer the SAC, which controls the ttymon and listen port monitors.

The services of ttymon and listen are in turn controlled by the pmadm command. One instance of ttymon can service multiple ports. One instance of listen can provide multiple services on a network interface.

Table 3–1 SAF Control Hierarchy

Function 

Program 

Description 

Overall administration 

sacadm

Command for adding and removing port monitors 

Service Access Controller 

sac

SAF's master program 

Port monitors 

ttymon

listen

Monitors serial port login requests 

Monitors requests for network services 

Port monitor service administrator 

pmadm

Command for controlling port monitors services 

Services 

logins, remote procedure calls 

Services to which the SAF provides access 

Console administration 

console login 

Console services are managed by the SMF service, svc:/system/console-login:default. This service invokes the ttymon port monitor. Do not use the pmadm or the sacadm command to manage the console. For more information, see ttymon and the Console Port, How to Set the ttymon Console Terminal Type, and How to Set the Baud Rate Speed on the ttymon Console Terminal.

Overall SAF Administration (sacadm)

The sacadm command is the top level of the SAF. The sacadm command primarily is used to add and remove port monitors such as ttymon and listen. Other sacadm functions include listing the current status of port monitors and administering port monitor configuration scripts.

Service Access Controller (SAC Program)

The Service Access Controller program (SAC) oversees all port monitors. A system automatically starts the SAC upon entering multiuser mode.

When the SAC program is invoked, it first looks for, and interprets, each system's configuration script. You can use the configuration script to customize the SAC program environment. This script is empty by default. The modifications made to the SAC environment are inherited by all the “children” of the SAC. This inherited environment might be modified by the children.

After the SAC program has interpreted the per-system configuration script, the SAC program reads its administrative file and starts the specified port monitors. For each port monitor, the SAC program runs a copy of itself, forking a child process. Each child process then interprets its per-port monitor configuration script, if such a script exists.

Any modifications to the environment specified in the per-port monitor configuration script affect the port monitor and will be inherited by all its children. Finally, the child process runs the port monitor program by using the command found in the SAC program administrative file.

SAC Initialization Process

The following steps summarize what happens when SAC is first started:

  1. The SAC program is started by the SMF service, svc:/system/sac:default.

  2. The SAC program reads /etc/saf/_sysconfig, the per-system configuration script.

  3. The SAC program reads /etc/saf/_sactab, the SAC administrative file.

  4. The SAC program forks a child process for each port monitor it starts.

  5. Each port monitor reads /etc/saf/pmtag/_config, the per-port monitor configuration script.

Port Monitor Service Administration (pmadm)

The pmadm command enables you to administer port monitors' services. In particular, you use the pmadm command to add or remove a service and to enable or disable a service. You can also install or replace per-service configuration scripts, or print information about a service.

Each instance of a service must be uniquely identified by a port monitor and a port. When you use the pmadm command to administer a service, you specify a particular port monitor with the pmtag argument, and a particular port with the svctag argument.

For each port monitor type, the SAF requires a specialized command to format port monitor-specific configuration data. This data is used by the pmadm command. For ttymon and listen type port monitors, these specialized commands are ttyadm and nlsadmin, respectively.

ttymon Port Monitor

Whenever you attempt to log in by using a directly connected modem or alphanumeric terminal, ttymon goes to work. First, the SAC process is started by SMF. Then, the SAC automatically starts the port monitors that are designated in its administrative file, /etc/saf/_sactab. After the ttymon port monitor has been started, it monitors the serial port lines for service requests.

When someone attempts to log in by using an alphanumeric terminal or a modem, the serial port driver passes the activity to the operating system. The ttymon port monitor notes the serial port activity, and attempts to establish a communications link. The ttymon port monitor determines which data transfer rate, line discipline, and handshaking protocol are required to communicate with the device.

After the proper parameters for communication with the modem or terminal are established, the ttymon port monitor passes these parameters to the login program and transfers control to it.

Port Initialization Process

When an instance of the ttymon port monitor is invoked by the SAC, ttymon starts to monitor its ports. For each port, the ttymon port monitor first initializes the line disciplines, if they are specified, and the speed and terminal settings. The values used for initialization are taken from the appropriate entry in the /etc/ttydefs file.

The ttymon port monitor then writes the prompt and waits for user input. If the user indicates that the speed is inappropriate by pressing the Break key, the ttymon port monitor tries the next speed and writes the prompt again.

If autobaud is enabled for a port, the ttymon port monitor tries to determine the baud rate on the port automatically. Users must press Return before the ttymon port monitor can recognize the baud rate and print the prompt.

When valid input is received, the ttymon port monitor does the following tasks:

After the service terminates, the ttymon port monitor cleans up the /etc/utmpx entry, if this entry exists, and returns the port to its initial state.

Bidirectional Service

If a port is configured for bidirectional service, the ttymon port monitor does the following:

TTY Monitor and Network Listener Port Monitors

Though the SAF provides a generic means for administering any future or third-party port monitors, only two port monitors are implemented in the Solaris Operating System: ttymon and listen.

TTY Port Monitor (ttymon)

The ttymon port monitor is STREAMS-based and does the following:

The ttymon port monitor provides Solaris users the same services that the getty port monitor did under previous versions of SunOS 4.1 software.

The ttymon port monitor runs under the SAC program and is configured with the sacadm command. Each instance of ttymon can monitor multiple ports. These ports are specified in the port monitor's administrative file. The administrative file is configured by using the pmadm and ttyadm commands.

ttymon and the Console Port

Console services are not managed by the Service Access Controller (SAC), nor by any explicit ttymon administration file. ttymon invocations are managed by SMF. As a result, you can no longer invoke ttymon by adding an entry to the /etc/inittab file. A property group with the type, application, and the name ttymon, has been added to the SMF service, svc:/system/console-login:default. The properties within this property group are used by the method script, /lib/svc/method/console-login. This script uses the property values as arguments to the ttymon invocation. Usually, if the values are empty, or if the values are not defined for any of the properties, then the value is not used for ttymon. However, if the ttymon device value is empty, or not set, then /dev/console is used as the default to enable ttymon to run.

The following properties are available under the SMF service, svc:/system/console-login:default:

ttymon/nohangup

Specifies the nohangup property. If set to true, do not force a line hang up by setting the line speed to zero before setting the default or specified speed.

ttymon/prompt

Specifies the prompt string for the console port.

ttymon/terminal_type

Specifies the default terminal type for the console.

ttymon/device

Specifies the console device.

ttymon/label

Specifies the TTY label in the /etc/ttydefs line.

ttymon-Specific Administrative Command (ttyadm)

The ttymon administrative file is updated by the sacadm and pmadm commands, as well as by the ttyadm command. The ttyadm command formats ttymon-specific information and writes it to standard output, providing a means for presenting formatted ttymon-specific data to the sacadm and pmadm commands.

Thus, the ttyadm command does not administer ttymon directly. The ttyadm command complements the generic administrative commands, sacadm and pmadm. For more information, see the ttyadm(1M) man page.

Network Listener Service (listen)

The listen port monitor runs under the SAC and does the following:

The listen port monitor is configured by using the sacadm command. Each instance of listen can provide multiple services. These services are specified in the port monitor's administrative file. This administrative file is configured by using the pmadm and nlsadmin commands.

The network listener process can be used with any connection-oriented transport provider that conforms to the Transport Layer Interface (TLI) specification. In the Solaris Operating System, listen port monitors can provide additional network services not provided by the inetd service.

Special listen-Specific Administrative Command (nlsadmin)

The listen port monitor's administrative file is updated by the sacadm and pmadm commands, as well as by the nlsadmin command. The nlsadmin command formats listen-specific information and writes it to standard output, providing a means of presenting formatted listen-specific data to the sacadm and pmadm commands.

Thus, the nlsadmin command does not administer listen directly. The command complements the generic administrative commands, sacadm and pmadm.

Each network, configured separately, can have at least one instance of the network listener process associated with it. The nlsadmin command controls the operational states of listen port monitors.

The nlsadmin command can establish a listen port monitor for a given network, configure the specific attributes of that port monitor, and start and kill the monitor. The nlsadmin command can also report on the listen port monitors on a machine.

For more information, see the nlsadmin(1M) man page.

Administering ttymon Port Monitors

Console administration for ttymon is now managed by SMF. Use the svccfg command to set ttymon system console properties. Continue to use the SAF command, sacadm, to add, list, remove, kill, start, enable, disable, enable, and remove ttymon port monitors.

ProcedureHow to Set the ttymon Console Terminal Type

This procedure shows how to change the console terminal type by using the svccfg command.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Run the svccfg command to set the property for the service instance that you want to change.


    # svccfg -s console-login setprop ttymon/terminal_type = "xterm"
    

    where “xterm” is an example of a terminal type that you might want to use.

  3. (Optional) Restart the service instance.


    # svcadm restart svc:/system/console-login:default
    

    Caution – Caution –

    If you choose to restart the service instance immediately, you are logged out of the console. If you do not restart the service instance immediately, the property changes apply at the next login prompt on the console.


ProcedureHow to Set the Baud Rate Speed on the ttymon Console Terminal

This procedure shows how to set the baud rate speed on the ttymon console terminal. Support for console speeds on x86 based systems are dependent on the specific platform.

The following are supported console speeds for SPARC based systems:

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Use the eeprom command to set a baud rate speed that is appropriate for your system type.


    # eeprom ttya-mode=baud-rate,8,n,1,-
    

    For example, to change the baud rate on an x86 based system's console to 38400, type:


    # eeprom ttya-mode=38400,8,n,1,-
    
  3. Change the console line in the /etc/ttydefs file as follows.


    console baud-rate hupcl opost onlcr:baud-rate::console
  4. Make the following additional changes for your system type.

    Note that these changes are platform-dependent.

    • On SPARC based systems: Change the baud rate speed in the /kernel/drv/options.conf file.

      Use the following command to change the baud rate to 9600.


      # 9600             :bd:
      ttymodes="2502:1805:bd:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      

      Use the following command to change the baud rate speed to 19200.


      # 19200            :be:
      ttymodes="2502:1805:be:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      

      Use the following command to change the baud rate speed to 38400.


      # 38400            :bf:
      ttymodes="2502:1805:bf:8a3b:3:1c:7f:15:4:0:0:0:11:13:1a:19:12:f:17:16";
      
    • On x86 based systems: Change the console speed if the BIOS serial redirection is enabled. The method that you use to change the console speed is platform-dependent.

ProcedureHow to Add a ttymon Port Monitor

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Add a ttymon port monitor.


    # sacadm -a -p mbmon -t ttymon -c /usr/lib/saf/ttymon -v `ttyadm
    -V` -y "TTY Ports a & b"
    
    -a

    Specifies the add port monitor option.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

    -t

    Specifies the port monitor type as ttymon.

    -c

    Defines the command string used to start the port monitor.

    -v

    Specifies the version number of the port monitor.

    -y

    Defines a comment to describe this instance of the port monitor.

ProcedureHow to View ttymon Port Monitor Status

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. View the status of a ttymon port monitor.


    # sacadm -l -p mbmon
    
    -l

    Specifies the list port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.


Example 3–1 Viewing ttymon Port Monitor Status

This example shows how to view a port monitor named, mbmon.


# sacadm -l -p mbmon
PMTAG  PMTYPE  FLGS RCNT STATUS    COMMAND
mbmon  ttymon  -    0    STARTING  /usr/lib/saf/ttymon #TTY Ports a & b
PMTAG

Identifies the port monitor name, mbmon.

PMTYPE

Identifies the port monitor type, ttymon.

FLGS

Indicates whether the following flags are set:

  • d — Do not enable the new port monitor.

  • x — Do not start the new port monitor.

  • dash (-) — No flags are set.

RCNT

Indicates the return count value. A return count of 0 indicates that the port monitor is not to be restarted if it fails.

STATUS

Indicates the current status of the port monitor.

COMMAND

Identifies the command used to start the port monitor.

#TTY Ports a & b

Identifies any comment used to describe the port monitor.


ProcedureHow to Stop a ttymon Port Monitor

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Stop a ttymon port monitor.


    # sacadm -k -p mbmon
    
    -k

    Specifies the kill port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

ProcedureHow to Start a ttymon Port Monitor

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Start a killed ttymon port monitor.


    # sacadm -s -p mbmon
    
    -s

    Specifies the start port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

ProcedureHow to Disable a ttymon Port Monitor

Disabling a port monitor prevents new services from starting, without affecting existing services.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Disable a ttymon port monitor.


    # sacadm -d -p mbmon
    
    -d

    Specifies the disable port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

ProcedureHow to Enable a ttymon Port Monitor

Enabling a ttymon port monitor allows it to service new requests.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Enable a ttymon port monitor.


    # sacadm -e -p mbmon
    
    -e

    Specifies the enable port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

ProcedureHow to Remove a ttymon Port Monitor

Removing a port monitor deletes all the configuration files associated with it.


Note –

Port monitor configuration files cannot be updated or changed by using the sacadm command. To reconfigure a port monitor, remove it and then add a new one.


  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Remove a ttymon port monitor.


    # sacadm -r -p mbmon
    
    -r

    Specifies the remove port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

Administering ttymon services (Task Map)

Task 

Description 

For Instructions 

Add a ttymon service.

Use the pmadm command to add a service.

How to Add a Service

View the Status of a TTY Port Service. 

Use the pmadmcommand to view the status of a TTY port.

How to View the Status of a TTY Port Service

Enable a port monitor service. 

Use the pmadm command with the -e option to enable a port monitor.

How to Enable a Port Monitor Service

Disable a port monitor service. 

Use the pmadm command with the -d option to disable a port monitor.

How to Disable a Port Monitor Service

Administering ttymon Services

Use the pmadm command to add services, list the services of one or more ports associated with a port monitor, and enable or disable a service.

ProcedureHow to Add a Service

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Add a standard terminal service to the mbmon port monitor.


    # pmadm -a -p mbmon -s a -i root -v `ttyadm -V` -m "`ttyadm -i 'Terminal
     disabled' -l contty -m ldterm,ttcompat -S y -d /dev/term/a 
    -s /usr/bin/login`"
    

    Note –

    In this example, the input wraps automatically to the next line. Do not use a Return key or line feed.


    -a

    Specifies the add port monitor status flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

    -s

    Specifies the svctag a as the port monitor service tag.

    -i

    Specifies the identity to be assigned to svctag when the service runs.

    -v

    Specifies the version number of the port monitor.

    -m

    Specifies the ttymon-specific configuration data formatted by ttyadm.

    The preceding pmadm command contains an embedded ttyadm command. The options in this embedded command are as follows:

    -b

    Specifies the bidirectional port flag.

    -i

    Specifies the inactive (disabled) response message.

    -l

    Specifies which TTY label in the /etc/ttydefs file to use.

    -m

    Specifies the STREAMS modules to push before invoking this service.

    -d

    Specifies the full path name to the device to use for the TTY port.

    -s

    Specifies the full path name of the service to invoke when a connection request is received. If arguments are required, enclose the command and its arguments in quotation marks (“).

ProcedureHow to View the Status of a TTY Port Service

Use the pmadm command as shown in this procedure to list the status of a TTY port or all the ports that are associated with a port monitor.

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. List one service of a port monitor.


    # pmadm -l -p mbmon -s a
    
    -l

    Lists service information on the system.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

    -s

    Specifies the svctag a as the port monitor service tag.


Example 3–2 Viewing the Status of a TTY Port Monitor Service

This example lists all services of a port monitor.


# pmadm -l -p mbmon
PMTAG  PMTYPE  SVCTAG FLAGS ID    <PMSPECIFIC> 
mbmon  ttymon  a      -     root  /dev/term/a - - /usr/bin/login - contty
ldterm,ttcompat login:  Terminal disabled tvi925 y  #
PMTAG

Identifies the port monitor name, mbmon, that is set by using the pmadm -p command.

PMTYPE

Identifies the port monitor type, ttymon.

SVCTAG

Indicates the service tag value that is set by using the pmadm -s command.

FLAGS

Identifies whether the following flags are set by using the pmadm -f command.

  • x — Do not enable the service.

  • u — Create a utmpx entry for the service.

  • dash (-) — No flags are set.

ID

Indicates the identity assigned to the service when it is started. This value is set by using the pmadm -i command.

<PMSPECIFIC>

Information

/dev/term/a

Indicates the TTY port path name that is set by using the ttyadm -d command.

-

Indicates whether the following flags are set by using the ttyadm -c -b -h -I -r command.

  • c — Sets the connect on carrier flag for the port.

  • b — Sets the port as bidirectional, allowing both incoming and outgoing traffic.

  • h — Suppresses an automatic hangup immediately after an incoming call is received.

  • I — Initializes the port.

  • r— Forces ttymon to wait until it receives a character from the port before it prints the login: message.

  • dash (-) — No flags are set.

-

Indicates a value that is set by using the ttyadm -r count option. This option determines when ttymon displays a prompt after receiving data from a port. If count is 0, ttymon waits until it receives any character. If count is greater than 0, ttymon waits until count new lines have been received. No value is set in this example.

/usr/bin/login

Identifies the full path name of the service to be invoked when a connection is received. This value is set by using the ttyadm -s command.

-

Identifies the ttyadm -t command's time-out value. This option specifies that ttymon should close a port if the open on the port succeeds, and no input data is received in timeout seconds. There is no time-out value in this example.

contty

Identifies the TTY label in the /etc/ttydefs file. This value is set by using the ttyadm -l command.

ldterm,ttcompat

Identifies the STREAMS modules to be pushed. These modules are set by using the ttyadmin -m command.

login: Terminal disabled

Identifies an inactive message to be displayed when the port is disabled. This message is set by using the ttyadm -i command.

tvi925

Identifies the terminal type, if set, by using the ttyadm -T command. The terminal type is tvi925 in this example.

y

Identifies the software carrier value that is set by using the ttyadm -S command. n turns the software carrier off. y turns the software carrier on. The software carrier is turned on in this example.

#

Identifies any comment specified with the pmadm -y command. There is no comment in this example.


ProcedureHow to Enable a Port Monitor Service

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Enable a disabled port monitor service.


    # pmadm -e -p mbmon -s a
    
    -e

    Specifies the enable flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

    -s

    Specifies the svctag a as the port monitor service tag.

ProcedureHow to Disable a Port Monitor Service

  1. Become superuser or assume an equivalent role.

    Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.

  2. Disable a port monitor service.


    # pmadm -d -p mbmon -s a
    
    -d

    Specifies the disable flag.

    -p

    Specifies the pmtag mbmon as the port monitor tag.

    -s

    Specifies the svctag a as the port monitor service tag.

Service Access Facility Administration (Reference)

This chapter includes reference information for administration of the Service Access Facility.

Files Associated With the SAF

The SAF uses configuration files that can be modified by using the sacadm and pmadm commands. You should not need to manually edit the configuration files.

File Name 

Description 

/etc/saf/_sysconfig

Per-system configuration script. 

/etc/saf/_sactab

The SAC's administrative file that contains configuration data for the port monitors that the SAC controls 

/etc/saf/pmtag

Home directory for port monitor pmtag

/etc/saf/pmtag/_config

Per-port monitor configuration script for port monitor pmtag if it exists

/etc/saf/pmtag/_pmtab

Port monitor pmtag's administrative file that contains port monitor-specific configuration data for the services pmtag provides

/etc/saf/pmtag/svctag

Per-service configuration script for service svctag

/var/saf/log

The SAC's log file 

/var/saf/pmtag

Directory for files created by pmtag, for example, log files

/etc/saf/_sactab File

The information in the /etc/saf/_sactab file is as follows:


# VERSION=1
zsmon:ttymon::0:/usr/lib/saf/ttymon
#
# VERSION=1

Indicates the Service Access Facility version number.

zsmon

Is the name of the port monitor.

ttymon

Is the type of port monitor.

::

Indicates whether the following two flags are set:

  • d — Do not enable the port monitor.

  • x — Do not start the port monitor. No flags are set in this example.

0

Indicates the return code value. A return count of 0 indicates that the port monitor is not be restarted if the port monitor fails.

/usr/lib/saf/ttymon

Indicates the port monitor path name.

/etc/saf/pmtab/_pmtab File

The /etc/saf/pmtab/_pmtab file, such as /etc/saf/zsmon/_pmtab, is similar to the following:


# VERSION=1
ttya:u:root:reserved:reserved:reserved:/dev/term/a:I::/usr/bin/login::9600:
ldterm,ttcompat:ttya login\: ::tvi925:y:# 
# VERSION=1

Indicates the Service Access Facility version number.

ttya

Indicates the service tag.

x,u

Identifies whether the following flags are set:

  • x — Do not enable the service.

  • u — Create a utmpx entry for the service.

root

Indicates the identity assigned to the service tag.

reserved

This field is reserved for future use.

reserved

This field is reserved for future use.

reserved

This field is reserved for future use.

/dev/term/a

Indicates the TTY port path name.

/usr/bin/login

Identifies the full path name of the service to be invoked when a connection is received.

:c,b,h,I,r:

Indicates whether the following flags are set:

c — Sets the connect on carrier flag for the port.

b — Sets the port as bidirectional, allowing both incoming and outgoing traffic.

h — Suppresses an automatic hangup immediately after an incoming call is received.

I — Initializes the port.

r — Forces ttymon to wait until it receives a character from the port before ttymon prints the login: message.

9600

Identifies the TTY label defined in the /etc/ttydefs file.

ldterm,ttcompat

Identifies the STREAMS modules to be pushed.

ttya login\:

Identifies the prompt to be displayed.

:y/n:

Indicates yes or no response.

message

Identifies any inactive (disabled) response message.

tvi925

Identifies the terminal type.

y

Indicates whether the software carrier is set (y/n).

Service States

The sacadm command controls the states of services. The following table describes the possible states of services.

State 

Description 

Enabled 

Default state – When the port monitor is added, the service operates.

Disabled 

Default state – When the port monitor is removed, the service stops.

To determine the state of any particular service, use the following:


# pmadm -l -p portmon-name -ssvctag

Port Monitor States

The sacadm command controls the states of the ttymon and listen port monitors. The following table describes the possible port monitor states.

State 

Description 

Started

Default state – When the port monitor is added, it is automatically started.

Enabled

Default state – When the port monitor is added, it is automatically ready to accept requests for service.

Stopped

Default state – When the port monitor is removed, it is automatically stopped.

Disabled

Default state – When the port monitor is removed, it automatically continues existing services and refuses to add new services.

Starting

Intermediate state – The port monitor is in the process of starting.

Stopping

Intermediate state – The port monitor has been manually terminated, but it has not completed its shutdown procedure. The port monitor is on the way to becoming stopped.

Notrunning

Inactive state – The port monitor has been killed. All ports previously monitored are inaccessible. An external user cannot tell whether a port is disabled or notrunning.

Failed

Inactive state – The port monitor is unable to start and remain running.

To determine the state of any particular port monitor, use the following command:


# sacadm -l -p portmon-name

Port States

Ports can be enabled or disabled depending on the state of the port monitor that controls the ports.

State 

Description 

Serial (ttymon) port states

Enabled

The ttymon port monitor sends a prompt message to the port and provides login service to it.

Disabled

Default state of all ports if ttymon is killed or disabled. If you specify this state, ttymon sends out the disabled message when it receives a connection request.