# Chapter 4

# Using the RSC Command Shell

> The RSC command shell is a simple command-line interface that supports commands that allow you to administer or diagnose the server. It also has commands for configuring RSC.

> RSC supports a total of four concurrent telnet sessions per server, including command-line interface sessions and a graphical user interface (GUI) connection to the server console (Open Console). In addition, RSC supports up to four active concurrent RSC GUI sessions.

> Note - Sun Enterprise 250 servers support two concurrent telnet sessions and three active concurrent RSC GUI sessions.

> After you log in to your RSC account, the RSC shell prompt appears (`rsc>`), and you can enter RSC shell commands. This chapter tells you how to log in to your RSC account and describes RSC command use and syntax.

> The following table summarizes RSC shell commands. Each command is explained in greater detail in the following sections.

> TABLE 4-1 RSC Shell Commands
> Name | Description
> `environment` | Displays current environmental information
> `showenvironment` | Same as `environment`
> `shownetwork` | Displays the current network configuration
> `console` | Connects you to the server console
> `break` | Puts the server in debug mode
> `xir` | Generates an externally initiated soft reset to the server
> `bootmode` | Controls server firmware behavior, if followed by a server reset within 10 minutes (similar to L1-key combinations on non-USB Sun keyboards)
> `reset` | Resets the server immediately
> `poweroff` | Powers off the server
> `poweron` | Powers on the server
> `loghistory` | Displays the history of all events logged in the RSC event buffer
> `consolehistory` | Displays the history of all console messages logged in the buffer
> `consolerestart` | Makes the current boot and run console logs "original"
> `set` | Sets a configuration variable
> `show` | Displays one or more configuration variables
> `date` | Displays or sets the current time and date
> `showdate` | Same as `date` command without arguments
> `setdate` | Same as `date` command with arguments
> `password` | Changes your RSC password
> `useradd` | Adds an RSC user account
> `userdel` | Deletes an RSC user account
> `usershow` | Shows characteristics of an RSC user account
> `userpassword` | Sets or changes a user's password
> `userperm` | Sets the authorization for a user
> `resetrsc` | Resets RSC immediately
> `help` | Displays a list of RSC shell commands and a brief description of each
> `version` | Displays version number for RSC firmware and components
> `showsc` | Same as `version` without the `-v` option
> `logout` | Ends your current RSC shell session
> `setlocator` | Turn the system locator LED on or off (Sun Fire V480 servers only).
> `showlocator` | Show the state of the system locator LED (Sun Fire V480 servers only).

> Note - For Sun Enterprise 250 servers, the following shell command aliases are not available: `showenvironment`, `showdate`, `setdate`, and `showsc`.

> More detailed descriptions of the commands are provided in the following sections.

> Note - Some commands require a specific user permission level. See "userperm username [a][u][c][r]" for information about user permission levels.

## Logging In to Your RSC Account

> After RSC software is installed and configured and an account has been set up for you, you can connect to RSC and log in to your account using a Solaris workstation, Microsoft Windows PC, standard ASCII character terminal, or a computer running ASCII terminal emulation software.

> Follow these steps to log in to your RSC account:

1. Connect to RSC using one of these methods:

1. Use point-to-point protocol (PPP) to connect to your company Ethernet, and then use the `telnet` command to connect to RSC.

Ask your network administrator if you do not know the server's RSC name (Sun recommends the name servername-`rsc`). Note that, unlike the graphical user interface, the command-line interface does not attempt to connect to RSC by appending `-rsc` to the name you enter if that name fails.

2. If you are already connected to your company Ethernet, use the `telnet` command to connect to RSC.
3. Use PPP to connect to the RSC modem. To use this option, PPP must be enabled.
4. If PPP is not enabled, dial in to the RSC modem.

When connection is established, the following screen appears:

RSC software version 2.0.0 (server-name)
Please login:
Please enter password:

5. If your server has an RSC serial port, connect an ASCII terminal directly to the RSC serial port.

> Note - To use this method on Sun Enterprise 250 servers, you must disable PPP by using the RSC shell, RSC GUI, or the `rscadm` utility to set the `ppp_enabled` configuration variable to false.

1. When connection is established, type your RSC login name.
2. Type your RSC password.

Your password is not echoed on the screen. After you correctly enter your password, RSC displays this command prompt:

rsc>

You can enter RSC shell commands at the `rsc>` prompt.

> Logins are recorded in the RSC event log. In addition, RSC sends an alert if it detects more than five login failures within five minutes. Except for Sun Enterprise 250 servers, RSC automatically disconnects a session after 10 minutes of user inactivity.

> Note - For Sun Enterprise 250 servers, you can set RSC to disconnect a session connected to the serial port after 10minutes of inactivity; see information for the configuration variable "serial_hw_handshake".

## Server Status and Control Commands

> The following RSC commands show server status or control server operation:

- `environment` (or `showenvironment`)
- `shownetwork`
- `console`
- `break`
- `xir`
- `bootmode`
- `reset`
- `poweroff`
- `poweron`
- `setlocator`
- `showlocator`

### `environment`

> Use the `environment` command to display a snapshot of server environmental status, such as temperatures, power supply status, front panel LED status, keyswitch position, and so forth. You can also use the command abbreviation `env`. The display uses similar format to that used for the UNIX command `prtdiag`(1m).

> For example:

>     rsc> environment

>     =============== Environmental Status ===============

>     System Temperatures (Celsius):
>     ------------------------------
>           CPU0    60
>           CPU1    57
>            RSC    30

>     =================================

>     RSC Power Status:
>     -----------------

>     RSC is running on Normal System Power

>     RSC Battery Voltage: 4.18V

>     =================================

>     Front Status Panel:
>     -------------------

>     Keyswitch position is in On mode.

>     =================================

>     System LED Status: GENERAL ERROR    POWER
>                           [OFF]         [ ON]

>     Disk LED Status:    OK = GREEN  ERROR = YELLOW
>             DISK  1:    [OK]
>             DISK  0:    [OK]
>     =================================

>     Fan Bank:
>     ---------
>     Bank      Speed     Status
>              (0-255)
>     ----      -----     ------
>     SYS       151        OK
>     =================================
>     Power Supplies:
>     ---------------
>     Supply     Status
>     ------     ------
>     1          OK: 560w
>     =================================
>     rsc>

> The display differs according to the server model and configuration. Note that some environmental information may be unavailable when the server is in Standby mode.

### `showenvironment`

> The `shownenvironment` command is the same as the `environment` command. (Not available for Sun Enterprise 250 servers.)

### `shownetwork`

> The `shownetwork` command displays the current network configuration.
> For example:

>     rsc> shownetwork
>     RSC network configuration is:
>     DHCP server: 129.149.2.3
>     IP Address: 129.149.2.6
>     Gateway Address: 129.149.2.7, 129.149.2.8
>     Netmask: 255.255.255.0
>     Ethernet Address: ae:30:30:00:00:01
>     rsc>

### `console`

> Use the `console` command to enter RSC console mode and connect to the server console from the RSC shell. When you use this command, the system displays a standard Solaris login prompt. If RSC is not designated as the server console, nothing is displayed.

> You must have `C` level user permission to use this command. An escape character sequence is used to return to the RSC prompt. The default escape sequence is ~. (tilde period). See "escape_char" .

### `break`

> Use the `break` command to put the server into Debug mode. You must have `C` level user permission to use this command. The server front panel keyswitch must not be in the Lock position, and RSC must be designated as the console (see Chapter 6). Debug mode can use either `kadb` or OpenBoot PROM, depending on server configuration.

### `xir`

> This command generates the equivalent of an externally initiated reset (XIR) of the server. You must have `R` level user permission to use this command. The server enters OpenBoot PROM mode and displays the `ok` prompt. This command is useful for driver or kernel debugging, as most of the contents of the server's memory and registers is preserved. To resume operation of the system after using the `xir` command, you must reboot the server.

### `bootmode [-u] [normal|forth|reset_nvram|diag|
skip_diag]`

> This command provides control over the server firmware behavior after a server reset. Functionality of this command is identical to that available on non-USB Sun keyboards using L1 key combinations. You must have `R` level user permission to use this command. If you use the `bootmode` command without arguments, RSC displays the current boot mode.

> The `bootmode` setting overrides the server's OpenBoot Diagnostics `diag-switch?` setting immediately after the next reset only. If RSC does not detect a server reset within 10 minutes, the `bootmode` command is ignored. For example:

> rsc> `bootmode forth`
> rsc> `reset`

> To set the `diag` or `skip_diag` option, you must follow the `bootmode` command with the `poweroff` and `poweron` commands within 10 minutes. For example:

> rsc> `bootmode skip_diag`
> rsc> `poweroff`
> rsc> `poweron`

> To force console input and output to RSC, use the `-u` option before specifying the boot mode. This is the equivalent of using the OpenBoot PROM commands shown in Redirecting the Console to RSC, but affects the next boot only.

> The following table describes modes you can specify using the `bootmode` command.

> TABLE 4-2 Modes Used With the `bootmode` Command
> Mode | Description
> `-u` | Force the server to direct the console to RSC; the `-u` option must precede any boot mode you specify; requires server reset
> `normal` | Normal boot; server runs low-level diagnostics; requires server reset
> `forth` | Enter Forth interpreter as soon as possible (equivalent to L1-F on non-USB keyboards); requires server reset
> `reset_nvram` | Reset all NVRAM variables to default values (equivalent to L1-N on non-USB keyboards); requires server reset
> `diag` | Force the server to run full diagnostics (equivalent to L1-D on non-USB keyboards); requires server power-off and power-on
> `skip_diag` | Force the server to skip diagnostics (equivalent to L1-S on non-USB keyboards); requires server power-off and power-on

> Note - The `diag` and `skip_diag` modes take effect only if you follow the `bootmode` command with the `poweroff` and `poweron` commands within 10 minutes.

### `reset`

> This command forcibly resets the server immediately. You must have `R` level user permission to use this command. The server reboots according to the server's designated boot mode. The `reset` command does not perform a clean shutdown of the system, and data may be lost. When possible, use the corresponding Solaris administration command instead.

> Note - The default configuration of Sun workgroup server firmware does not invoke POST when the server resets. However, you can change this behavior through NVRAM variable settings; for additional details, see the Platform Notes for your server.

### `poweroff`

> Use the `poweroff` command to power off the server. You must have `R` level user permission to use this command. This command has no effect if the server is already powered off. RSC remains available since it uses the server's standby power. Note, however, that some environmental information may be unavailable when the server is in Standby mode.

> The `poweroff` command attempts to perform a clean shutdown of the system. However, when possible, use the corresponding Solaris administration command instead.

> It can take up to 35 seconds for the `poweroff` command to completely shut down the system (except on Sun Enterprise 250 servers). This is because RSC waits for a clean shutdown to complete before `poweroff` can occur.

> Note - For Sun Enterprise 250 servers, the `poweroff` command does not perform a clean shutdown of the system.

### `poweron`

> Use the `poweron` command to power on the server. You must have `R` level user permission to use this command. This command has no effect if the server's keyswitch is in the Standby position, or the server is already powered on.

### `setlocator`

> Use the `setlocator` command to turn the system locator LED on or off. This command applies to Sun Fire V480 servers only. For more information on this command, refer to "Controlling the Locator LED".

> For more information on the locator LED, refer to the Sun Fire V480 Administrator's Guide.

### `showlocator`

> Use the `showlocator` command to view the state of the system locator LED (on or off). This command applies to Sun Fire V480 servers only. For more information on this command, refer to "Controlling the Locator LED".

> For more information on the locator LED, refer to the Sun Fire V480 Administrator's Guide.

## RSC View Log Commands

> Use the following RSC commands to work with RSC and console log files:

- `loghistory` (or `lhist)`
- `consolehistory` (or `chist)`
- `consolerestart`

### `loghistory [index [+|-]`n`] [pause` n`]`

> Use the `loghistory` command without subcommands to display the history of all events logged in the RSC event buffer. These events include server reset events and all RSC commands that change the state of the system. You can also use the command abbreviation `lhist`.

> Use the following subcommands to control `loghistory` display.

#### `index [+|-]`n

> Use the `index` subcommand to designate a buffer position at which to begin the display, as follows:

- `index +`n to designate a line number relative to the beginning of the buffer
- `index -`n to designate a line number relative to the end of the buffer
- `index` n to designate a line number relative to the beginning of the buffer (same as `index +`n)

> The origin of counting is 1; that is, `index +1` indicates the first line in the buffer, `index -1` indicates the last. For example:

> rsc> `loghistory index -30`

> This command prints the last 30 lines and any additional lines that were appended to the buffer between the time that the command began execution and the time that it terminated.

#### `pause` n

> Use the `pause` subcommand to display n lines of the log at a time (similar to the `more` command). The value of n must be a decimal integer. The default is to display the entire RSC log without pausing.

> Each event recorded in the log has the following format:

> $TIME $HOSTNAME $EVENTID $message

> `EVENTID` is a unique identifier for the event, `TIME` is the time the event occurred (as measured by RSC time), and message is a user-friendly description of the event.

> The following is an example event log entry:

> FRI JAN 01 07:33:03 2001 sst4828: 00060003: "RSC System reset"

### `consolehistory [boot|run|oboot|orun]
[index [+|-]`n`] [pause` n`]`

> Use the `consolehistory` command to display console messages logged in RSC buffers. With no arguments, this command prints the entire contents of all non-empty console buffers. You can use the command abbreviation `chist`.

> There are four console logs:

- The `boot` buffer contains POST, OpenBoot PROM, and UNIX boot messages received from the server for the most recent boot.
- The `run` buffer contains the most recent data received from the server operating system.
- The `oboot` buffer contains POST, OpenBoot PROM, and UNIX boot messages for the first power-on boot, the original boot.
- The `orun` buffer contains the data received from the server's operating system after the first reboot following a power-on boot (the original boot).

> Each buffer can contain up to 64 Kbytes of information. (On Sun Enterprise 250 servers, the original boot log and boot log buffers can contain up to 16 Kbytes of information.)

> When the first power-on boot begins, RSC fills the original boot (`oboot`) buffer with data from the server's console. After that buffer fills up, it writes data to the original run (`orun`) log. When the `orun` log fills up, it overwrites old data in the `orun` log.

> When RSC senses a server reset while writing the `orun` log, it switches to the `boot` log. After that fills up, it switches to the `run` log. When the `run` log fills up, it overwrites old data in the `run` log.

> When RSC senses a server reset while writing the current `run` log, it switches to the current `boot` log again.

#### `pause` n

> Use the `pause` subcommand to display n lines of the log at a time (similar to the `more` command). The value of n must be a decimal integer. The default is to display 10 lines of the log at a time.

> See "loghistory [index [+|-]n] [pause n]" for a description of the `index` subcommand.

> Note - Time stamps recorded in console logs reflect server time. These time stamps may be offset from RSC time stamps recorded in the RSC event log. To synchronize RSC time with server time, use the `rscadm` command `rscadm date -s`, reset the server, or run the script `/usr/platform/`platform-name`/rsc/rsc-initscript`. You can obtain the string to use for platform-name using the Solaris command
> `uname -i`.

### `consolerestart`

> Use the `consolerestart` command to make the current boot and run logs the original logs (designated `oboot` and `orun`). This command copies the current `boot` and `run` buffers to the `oboot` and `orun` buffers, overwriting the previous contents. Then it clears the current `boot` and `run` buffers. You must have `A` level user permission to use this command.

> For example, after adding a hardware component to the server, reboot the server and use the `consolerestart` command so that the new component will appear in the original console logs.

## RSC Configuration Commands

> Use the following RSC commands to set or show characteristics of the RSC or server configuration:

- `set`
- `show`
- `date` (also `showdate` and `setdate`)
- `password`
- `useradd`
- `userdel`
- `usershow`
- `userpassword`
- `userperm`
- `resetrsc`

### `set` variable value

> Use the `set` command to set an RSC configuration variable. You must have `A` level user permission to use this command. See "RSC Configuration Variables" for descriptions of these variables.

> Changes to some variables do not take effect until the you reset RSC using the command-line interface (CLI) `resetrsc` command`,` or the `rscadm` subcommand `rscadm resetrsc`, or by using the graphical user interface.

> You can use the null string ("") to set a variable to null. To set a variable to a string that includes spaces, enclose the string in double quotes. For example:

> rsc> `set page_info2 ""`
> rsc> `set page_init1 "&F &E0"`

### `show [`variable`]`

> Use the `show` command to display the value of RSC configuration variables. You can specify one variable only; if you do not specify a variable, RSC displays all configuration variables. See "RSC Configuration Variables" for descriptions of these variables.

### `date [[mmdd]HHMM|mmddHHMM[cc]yy][.SS]`

> Use the `date` command without arguments to show RSC's current date and time. If you have `A` level user permission, you can use the `date` command to set the current date and time. The following table describes components of the date format.

> TABLE 4-3 Components of the `date` Command
> Option | Description
> `mm` | Month number
> `dd` | Day-of-the-month number
> `HH` | Hour number (24-hour system)
> `MM` | Minute number
> `.SS` | Second number
> `cc` | First two digits of year
> `yy` | Last two digits of year

> You may omit the month, day, and year; the current values are applied as defaults.

> Examples:

> rsc> `date 091521452000` Fri Sep 15 21:45:00 EDT 2000
> rsc> `date 09152145` Fri Sep 15 21:45:00 EDT 2000
> rsc> `date 2145` Fri Sep 15 21:45:00 EDT 2000

> The first example sets the time to September 15, 9:45 p.m., 2000. The second example sets the time to September 15, 9:45 p.m. of the current year. The third example sets the time to 9:45 p.m. of the current month, day, and year.

> Note - Whenever the server boots, it sets the RSC current date and time. In addition, the RSC hardware includes a battery backed-up time-of-day chip for maintaining RSC time in between server reboots. However, to keep RSC time in sync with server time, you should periodically run the script `/usr/platform/`platform-name`/rsc/rsc-initscript`. You can obtain the string to use for platform-name using the Solaris command `uname -i`. If you like, you can run this script at a specified interval using the `cron` utility. You can also use the `rscadm` command `rscadm date -s`.

### `showdate`

> Same as the `date` command without arguments. (Not available for Sun Enterprise 250 servers.)

### `setdate`

> Same as the `date` command with arguments. You need to have `A` level user permission to use the `setdate` command to set the RSC current date and time.
> (Not available for Sun Enterprise 250 servers.)

### `password`

> Use the `password` command to change the RSC password for the account to which you are logged in. This command behaves similarly to the UNIX `passwd`(1) command.

> When used to change a password, RSC prompts for your current password, and if you enter it correctly, it prompts for the new password. RSC prompts again for the new password and updates it if entered identically both times. For example:

> rsc> `password` `password: Changing password for username` `Enter login password: ******` `Enter new password: ******` `Re-enter new password: ******` `rsc>`

> Passwords have the following restrictions:

- They must contain at least six characters (only the first eight characters are significant).
- They must contain at least two alphabetic characters and at least one numeric or special character; alphabetic characters can be both uppercase and lowercase.
- They must differ from the user's login name and any reverse or circular shift of that login name; for comparison purposes, uppercase and lowercase letters are equivalent.
- The new password must differ from the old by at least three characters; for comparison purposes, uppercase and lowercase letters are equivalent.

### `useradd` username

> Use the `useradd` username command to add an RSC user account. You must have `U` level user permission to use this command. The maximum number of RSC user accounts is 16, except on Sun Enterprise 250 servers, where the maximum number is 4. Valid characters for username include:

- Alphabetic characters
- Numeric characters
- Period (.)
- Underscore (_)
- Hyphen (-)

> The username field has a maximum length of 16 characters (eight characters for Sun Enterprise 250 servers), must contain at least one lowercase alphabetic character, and the first character must be alphabetic. If these restrictions are not met, the system issues a warning and the command fails.

### `userdel` username

> This command deletes an RSC user account. You must have `U` level user permission to use this command.

### `usershow [`username`]`

> This command shows RSC user accounts; a maximum of 16 user accounts are available (4 on the Sun Enterprise 250 servers). You must have `U` level user permission to use this command. If no argument is supplied, all accounts are shown. Information displayed includes username, permissions, and whether a password is assigned. For example:

> rsc> `usershow` `Username Permissions Password?` `setup cuar Assigned` `msmith c--r None` `rsc>`

### `userpassword` username

> This command sets or changes the password for the specified user account. You must have `U` level user permission to use this command. RSC does not prompt for an existing password. See the `password` command for details on password format and restrictions. For example:

> rsc> `userpassword msmith` `New password:` `Re-enter new password:` `rsc>`

### `userperm` username `[a][u][c][r]`

> This command sets or changes permission levels for a specified user account.

> All RSC users can look at RSC information. The following arguments increase a user's authorization level:

- `a` - Administration permission; authorized to change the state of RSC configuration variables
- `u` - User administration permission; authorized to use commands that add and delete users, change user permissions, and change the authorization level of other users
- `c` - Console permission; authorized to connect to the server console
- `r` - Reset/power permission; authorized to reset, power on, and power off the server, and reboot RSC

> You must have `U` level user permission to use this command. You can specify zero through four authorizations. The default authorization level for a new RSC account is none of the above (that is, read-only).

> If you do not specify authorization levels, RSC sets the permissions for username to read-only. However, the default user permission for the account you create during the installation procedure is `cuar` (full authorization).

> A user with read-only permission can only use the following commands:

- `help`
- `password`
- `date` (without arguments) and `showdate`
(The `showdate` command is not available on Sun Enterprise 250 servers.)
- `shownetwork`
- `environment` and `showenvironment`
(The `showenvironment` command is not available on Sun Enterprise 250 servers.)
- `loghistory`
- `consolehistory`
- `show`
- `version` and `showsc`
(The `showsc` command is not available on Sun Enterprise 250 servers.)
- `logout`
- `showlocator` (Sun Fire V480 servers only)

### `resetrsc`

> The `resetrsc` command performs a hard reset of RSC. This terminates all current RSC sessions. You must have `A` level user permission to use this command. You can also reset RSC by using the `rscadm resetrsc` command.

> Note - When you reset RSC on a Sun Enterprise 250 server without also resetting the server, RSC time defaults to 1/1/70. To synchronize RSC time with server time, reset the server, use the `rscadm` command `rscadm date -s` or run the script `/usr/platform/`platform-name`/rsc/rsc-initscript`. You can obtain the string to use for platform-name using the Solaris command `uname -i`.

## Other RSC Commands

### `help`

> The `help` command displays a list of all RSC shell commands and a brief description of each.

### `version [-v]`

> The `version` command displays the firmware version running on RSC. Use the `-v` option to display more verbose information. For example:

>     rsc> version
>     RSC Version: 2.2
>     RSC Bootmon version: 2.2.0
>     RSC Firmware version: 2.2.0
>     rsc> version -v
>     RSC Version: 2.2
>     RSC Bootmon version: 2.2.0
>     RSC bootmon checksum: 4D018EBD

>     RSC Firmware version: 2.2.0
>     RSC Build Release: 20
>     RSC firmware checksum: 595254B1

>     RSC firmware built Aug 13 2001, 14:45:17

>     RSC System Memory Size: 8 MB

>     RSC NVRAM Version = 4
>     RSC hardware type: 3

>     rsc>

### `showsc`

> Same as the `version` command without the `-v` option. (Not available for Sun Enterprise 250 servers.)

### `logout`

> The `logout` command ends your RSC session and closes your RSC connection.

## RSC Configuration Variables

> RSC has non-volatile configuration variables you can use to change RSC behavior. The installer sets most configuration variables following installation. Thereafter, you can use the GUI, RSC shell, or the `rscadm set` command to set or change configuration variables.

> You must have `A` level user permission to set configuration variables from the GUI or RSC shell; you must log in to the server as root to use the `rscadm` utility.

> Use the `show` command to show configuration variables, and use the `set` command to set a variable. Changes to variables take effect immediately except as noted.

> You can use the null string ("") to set a variable to null. To set a variable to a string that includes spaces, enclose the string in double quotes. Note that it is not necessary to enter the null string or use quotes in GUI entry fields.

### Point-to-Point Protocol (PPP) Variables

#### `ppp_local_ip_addr`

> Use this variable to specify the Internet Protocol (IP) address for RSC to use during a PPP session; use standard dot notation. If this variable is empty, RSC expects the remote node to set the Internet address dynamically. The default setting is `0.0.0.0` (empty). Changes to this variable take effect on the next PPP connection over the RSC modem.

#### `ppp_remote_ip_addr`

> Use this variable to specify the IP address for the remote node during a PPP session; use standard dot notation. If this variable is empty, RSC expects that the remote node already has an Internet address assigned for the PPP session. The default setting is `0.0.0.0` (empty). Changes to this variable take effect on the next PPP connection over the RSC modem.

#### `ppp_enabled`

> Use this variable to specify whether PPP is the default protocol on the RSC modem. Valid values are `true` or `false`; the default is `false`. Changes to this variable take effect on the next login connection over the RSC modem.

### Modem Variables

> Note - Modem variables are not available for Sun Enterprise 250 servers. Instead, you connect an external modem to the RSC serial port and use serial port variables to configure the connection. Refer to "Serial Connections" for more information.

#### `modem_parity`

> This variable sets the RSC modem parity for incoming connections. Valid values are `none`, `odd`, or `even`. The default setting is `none`. Changes to this variable take effect on the next login connection over the RSC modem.

#### `modem_stop`

> This variable sets the number of RSC stop bits for incoming connections. Valid values are `1` or `2`. The default setting is `1`. Changes to this variable take effect on the next login connection over the RSC modem.

#### `modem_data`

> This variable sets the number of RSC modem data bits for incoming connections. Valid values are `7` and `8`. The default setting is `8`. Changes to this variable take effect on the next login connection over the RSC modem.

#### `country_code`

> This variable sets the modem country code. The default setting is `001` (USA). Changes to this variable take effect on the next login connection over the RSC modem.

> Valid values are listed alphabetically by country in the following table:

> 719 Abu Dhabi | 093 Afghanistan | 737 Ajman
> 355 Albania | 213 Algeria | 376 Andorra
> 244 Angola | 815 Anguilla | 722 Antarctica
> 801 Antigua/Barbuda | 054 Argentina | 374 Armenia
> 297 Aruba | 247 Ascension | 061 Australia
> 043 Austria | 994 Azerbaijan | 707 Azores
> 802 Bahamas | 973 Bahrain | 708 Balearic Isle
> 723 Bali | 880 Bangladesh | 803 Barbados
> 375 Belarus | 032 Belgium | 501 Belize
> 229 Benin | 441 Bermuda | 975 Bhutan
> 591 Bolivia | 724 Borneo | 387 Bosnia
> 267 Botswana | 55 Brazil | 673 Brunei
> 359 Bulgaria | 226 Burkina Faso | 725 Burma
> 257 Burundi | 855 Cambodia | 237 Cameroon
> 002 Canada | 720 Canary Isles | 238 Cape Verde
> 805 Cayman Isles | 236 Central African Republic | 235 Chad
> 709 Channel Isles | 726 Chatham | 056 Chile
> 086 China | 672 Christmas Island |
> 669 Cocos Island | 057 Colombia | 718 Comoros Isles
> 242 Congo | 682 Cook Isle | 506 Costa Rica
> 385 Croatia | 053 Cuba | 700 Curacao
> 357 Cyprus | 042 Czech Republic | 045 Denmark
> 727 Diego Garcia | 253 Djibouti | 806 Dominica
> 816 Dominican Republic | 704 Easter Isles | 593 Ecuador
> 020 Egypt | 503 El Salvador |
> 240 Equatorial Guinea | 291 Eritrea | 372 Estonia
> 251 Ethiopia | 555 Europe | 554 Europe A
> 500 Falkland Islands | 298 Faroe Islands | 679 Fiji
> 358 Finland | 033 France | 594 French Guiana
> 693 French Polynesia | 241 Gabon | 220 Gambia
> 007 Georgia | 049 Germany | 233 Ghana
> 350 Gibraltar | 030 Greece | 299 Greenland
> 807 Grenada | 705 Grenadines | 590 Guadaloupe
> 671 Guam | 502 Guatemala | 224 Guinea
> 245 Guinea-Bissau | 592 Guyana | 509 Haiti
> 388 Herzegovina | 504 Honduras | 728 Hong Kong
> 036 Hungary | 354 Iceland | 091 India
> 062 Indonesia | 098 Iran | 964 Iraq
> 353 Ireland | 711 Isle of Man | 972 Israel
> 039 Italy | 225 Ivory Coast | 808 Jamaica
> 081 Japan | 962 Jordan | 729 Kampuchea
> 008 Kazakhstan | 254 Kenya | 686 Kiribati
> 956 Kuwait | 996 Kyrgyzstan | 856 Laos
> 371 Latvia | 961 Lebanon | 738 Leeward Isles
> 266 Lesotho | 231 Liberia | 218 Libya
> 013 Liechtenstein | 370 Lithuania | 352 Luxembourg
> 853 Macau | 389 Macedonia | 261 Madagascar
> 721 Madeira | 265 Malawi | 060 Malaysia
> 960 Maldives | 223 Mali | 356 Malta
> 230 Mauritius | 692 Marshall Isle | 596 Martinique
> 222 Mauritania | 269 Mayotte | 052 Mexico
> 691 Micronesia | 701 Midway Isles | 959 Moldova
> 976 Mongolia | 377 Monaco | 716 Montenegro
> 817 Montserrat | 820 Morocco | 258 Mozambique
> 095 Myanmar/Burma | 264 Namibia | 730 Nauru
> 977 Nepal | 689 Netherland Antilles | 031 Netherlands
> 702 Nevis | 687 New Caledonia | 731 New Hebrides
> 064 New Zealand | 505 Nicaragua | 227 Niger
> 234 Nigeria | 683 Niue | 670 Norfolk Isles
> 850 North Korea | 349 Northern Ireland | 047 Norway
> 732 Okinawa | 968 Oman | 092 Pakistan
> 680 Palau | 507 Panama | 675 Papua Guinea
> 595 Paraguay | 051 Peru | 063 Philippines
> 004 Pitcairn | 048 Poland | 351 Portugal
> 819 Puerto Rico | 974 Qatar | 262 Reunion
> 040 Romania | 009 Russia | 250 Rwanda
> 290 Saint Helena | 809 Saint Kitts/Nevi | 810 Saint Lucia
> 706 Saint Martin | 508 Saint Pierre/Miq | 811 Saint Vincent
> 733 Saipan | 684 Samoa | 378 San Marino
> 239 Sao Tome | 966 Saudi Arabia | 221 Senegal
> 717 Serbia | 248 Seychelles | 232 Sierra Leone
> 065 Singapore | 014 Slovak Republic | 015 Slovakia
> 386 Slovenia | 677 Solomon Isles | 252 Somalia
> 027 South Africa | 082 South Korea | 034 Spain
> 094 Sri Lanka | 249 Sudan | 597 Suriname
> 268 Swaziland | 046 Sweden | 041 Switzerland
> 963 Syria | 734 Tahiti | 886 Taiwan
> 010 Tajikistan | 255 Tanzania | 066 Thailand
> 735 Tibet | 228 Togo | 676 Tonga
> 812 Trinidad/Toba | 216 Tunisia | 090 Turkey
> 011 Turkmenistan | 813 Turks/Caicos | 688 Tuvalu
> 256 Uganda | 380 Ukraine | 971 United Arab Emirates
> 044 United Kingdom | 001 United States of America | 598 Uruguay
> 012 Uzbekistan | 678 Vanuatu | 713 Vatican City
> 058 Venezuela | 814 Virgin Isle | 084 Vietnam
> 736 Wake Islands | 681 Wallis/Futuna | 967 Yemen
> 381 Yugoslavia | 243 Zaire | 260 Zambia
> 263 Zimbabwe |  |

### Alert Variables

#### `page_enabled`

> Use this variable to specify whether paging is enabled for RSC alerts. Valid values are `true` or `false`. The default is `false`.

#### `mail_enabled`

> Use this variable to specify whether an email message is enabled for RSC alerts. Valid values are `true` or `false`. The default is `false`.

#### `page_info1`

> This variable contains the phone number and associated pager ID number for sending a Telocator Alphanumeric Protocol (TAP) alert to a pager. Use the character `@` to separate the telephone number and PIN ID number (if used or needed). Valid characters are:

- digits (`0-9`)
- `*` (asterisk)
- `#` (pound sign)
- `,` (comma, for pause dialing)
- @ (for appending PIN)

> If both the `page_info1` and `page_info2` variables are empty, or if the `page_enabled` variable is set to `false`, no paging will occur. The default
> setting for `page_info1` is empty. For example:

> rsc> `set page_info1 9,,18004420500@1234332`

#### `page_init1`

> This variable specifies a string consisting of attention (AT) commands used for configuring the RSC modem prior to sending an alert to pager 1.

#### `page_password1`

> This variable contains the pager service password used to send an alert to pager 1. The password must be an alphanumeric string of six characters or fewer.

#### `page_baud1`

> This variable specifies the modem baud rate to use when sending an alert to pager 1. Valid values are `300`, `1200`, `2400`, `4800`, and `9600`. After RSC sends the page alert, the baud setting reverts to 9600 baud.

> Note - For Sun Enterprise 250 servers, the baud setting reverts to the setting specified for the `serial_baud` variable.

#### `page_data1`

> This variable specifies the number of RSC modem data bits for sending an alert to pager 1. Valid values are `7` and `8`. After RSC sends the page alert, the data bits revert to the setting specified in the `modem_data` variable.

> Note - For Sun Enterprise 250 servers, the data bits revert to the setting specified for the `serial_data` variable.

#### `page_parity1`

> This variable specifies the RSC modem parity for sending an alert to pager 1. Valid values are `none`, `odd`, and `even`. After RSC sends the page alert, the parity reverts to the setting specified in the `modem_parity` variable.

> Note - For Sun Enterprise 250 servers, the parity reverts to the setting specified for the `serial_parity` variable.

#### `page_stop1`

> This variable specifies the number of RSC modem stop bits for sending an alert to pager 1. Valid values are `1` and `2`. After RSC sends the page alert, the stop bits revert to the setting specified in the `modem_stop` variable.

> Note - For Sun Enterprise 250 servers, the stop bits revert to the setting specified for the `serial_stop` variable.

#### `page_info2`

> This variable contains the phone number and associated pager ID number for sending a Telocator Alphanumeric Protocol (TAP) alert to another pager. Use the character `@` to separate the telephone number and ID. Valid characters are:

- digits (`0-9`)
- `*` (asterisk)
- `#` (pound sign)
- `,` (comma, for pause dialing)
- @ (for appending PIN)

> If both the `page_info1` and `page_info2` variables are empty, or if the `page_enabled` variable is set to `false`, no paging will occur. The default
> setting for `page_info2` is empty. For example:

> rsc> `set page_info2 18004420596@4433444`

#### `page_init2`

> This variable specifies a string consisting of attention (AT) commands used for configuring the RSC modem prior to sending an alert to pager 2.

#### `page_password2`

> This variable contains the pager service password used to send an alert to pager 2. The password must be an alphanumeric string of six characters or fewer.

#### `page_baud2`

> This variable specifies the modem baud rate to use when sending an alert to pager 2. Valid values are `300`, `1200`, `2400`, `4800`, and `9600`. After RSC sends the page alert, the baud setting reverts to 9600 baud.

> Note - For Sun Enterprise 250 servers, the baud setting reverts to the setting specified for the `serial_baud` variable.

#### `page_data2`

> This variable specifies the number of RSC modem data bits for sending an alert to pager 2. Valid values are `7` and `8`. After RSC sends the page alert, the data bits revert to the setting specified in the `modem_data` variable.

> Note - For Sun Enterprise 250 servers, the data bits revert to the setting specified for the `serial_data` variable.

#### `page_parity2`

> This variable specifies the RSC modem parity for sending an alert to pager 2. Valid values are `none`, `odd`, and `even`. After RSC sends the page alert, the parity reverts to the setting specified in the `modem_parity` variable.

> Note - For Sun Enterprise 250 servers, the parity reverts to the setting specified for the `serial_parity` variable.

#### `page_stop2`

> This variable specifies the number of RSC modem stop bits for sending an alert to pager 2. Valid values are `1` and `2`. After RSC sends the page alert, the stop bits revert to the setting specified in the `modem_stop` variable.

> Note - For Sun Enterprise 250 servers, the stop bits revert to the setting specified for the `serial_stop` variable.

#### `customerinfo`

> This variable contains customer information used in the message generated for a pager or email alert, for instance, one of the following:

- Server service contract number (recommended)
- Server location
- Name or telephone extension of the server's system administrator
- Name of the department that owns the server

> This string can be up to 40 characters (eight characters on Sun Enterprise 250 servers), including alphanumeric characters and hyphen (-). The default setting is empty.

#### `hostname`

> This variable contains the name of the server connected directly to RSC. RSC includes this host name in alert messages. This string can be up to 40 characters (eight characters on Sun Enterprise 250 servers), including alphanumeric characters and hyphen (-). The default setting is empty.

#### `mailuser`

> This variable contains the address used for email alerts. The string has a 40-character limit; the default setting is empty. Although only a single mail address is permitted, you can notify several people that a problem has occurred by using an email alias.

#### `mailhost`

> This variable contains a colon-separated list of Internet addresses to which RSC sends Simple Mail Transfer Protocol (SMTP) mail alerts. Each address is tried until the SMTP alert is successfully transmitted. Specify addresses using standard dot notation. For example:

> rsc> `set mailhost 139.143.4.2:139.142.4.15`

> You can specify a maximum of two addresses, separated by a colon. If this variable is empty, or if the `mail_enabled` variable is set to `false`, no email is sent. The default setting is empty.

#### `page_verbose`

> This variable sets the maximum length for alert messages sent to pagers. The default setting, `false`, limits pager alert messages to 78 characters. The setting `true` allows the use of long alert messages, which may contain 300 characters or more. Note that some pagers or paging services may not allow long messages, and that in such cases some alert message may not be sent to pagers.

> Note - The `page_verbose` variable is not available for Sun Enterprise 250 servers. Alert messages sent to pagers have unrestricted length.

### Ethernet Port Variables

#### `ip_mode`

> Use this variable to control how RSC configures the IP address for its local Ethernet port. Choose the `ip_mode` value according to the services available on the network to which RSC is connected. The following list describes the available values.

- `none` - Ethernet port is disabled and is not accessible.
- `dhcp` - Use the Dynamic Host Configuration Protocol (DHCP) to obtain the IP address.
- `config` - Use the `ip_addr` configuration variable to obtain the IP address.

> The default setting is `dhcp`. Changes to this variable take effect after the next RSC reset.

#### `ip_addr`

> This variable is only used if the `ip_mode` variable is set to `config`. Specify the IP address in standard Internet dot notation. The default setting is `0.0.0.0` (empty). Changes to this variable take effect after the next RSC reset.

#### `ip_netmask`

> This variable is only used if the `ip_mode` variable is set to `config`. Specify the subnet mask in standard Internet dot notation. The default setting is `0.0.0.0` (empty). Changes to this variable take effect after the next RSC reset.

#### `ip_gateway`

> This variable is only used if the `ip_mode` variable is set to `config`. This is the default gateway to which RSC will send IP packets when the destination is not on the same subnet as RSC. Specify the IP address in standard Internet dot notation. The default setting is `0.0.0.0` (empty). Changes to this variable take effect after the next RSC reset.

#### `tpe_link_test`

> This variable enables 10BASE-T Ethernet link integrity tests when set to `true`, the default. If you are using RSC in a hub that does not support Ethernet link integrity tests or that has them disabled, set this variable to `false`. Changes to this variable take effect after the next RSC reset. The tpe_link_test variable behaves similarly to the OpenBoot PROM environment variable named "tpe-link-test?", which is available on some SPARC platforms.

> RSC and the local hub should have Ethernet link integrity tests enabled or disabled consistently. If this setting is not consistent, communication may not be possible.

### Console Session Variable

#### `escape_char`

> This variable sets the escape sequence character for ending a console session or modem setup and returning to the RSC shell. The escape sequence applies to all RSC users for the server. The escape sequence consists of the escape character followed by a period. The default escape character is ~ (tilde).

> The escape sequence character can be a single alphanumeric character. It can also be a control character. To enter a control character as the escape character, type "^" (Shift-6) to represent the Control key, followed by another character. If the second character is a question mark (?), the Delete key is selected; otherwise the second character is converted to a control character and used as the escape character. For example, if you enter ^y to set the escape character, users will use Control-y period to end a console session.

## RSC Shell Error Messages

> This section provides additional information about error messages received at the `rsc>` prompt.

### Usage Errors

> This section lists usage error messages that are displayed due to improper command syntax. Refer to the description of the command in this chapter for the correct syntax.

>     Invalid command. Type 'help' for list of commands.

>     Usage: bootmode [-u] [normal|forth|reset_nvram|diag|skip_diag]

>     Usage: break

>     Usage: consolehistory [boot|run|oboot|orun] [index [+|-]<n>]

>     [pause <n>]

>     Usage: consolerestart

>     Usage: setlocator [on | off]

>     Usage: date [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]

>     Usage: environment

>     Usage: loghistory [index [+|-]<n>] [pause <n>]

>     Usage: password

>     Usage: poweroff

>     Usage: poweron

>     Usage: reset

>     Usage: resetrsc

>     Usage: set <variable> <value>

>     Usage: setdate [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]

>     Usage: show [variable]

>     Usage: showdate

>     Usage: showenvironment

>     Usage: shownetwork

>     Usage: showsc

>     Usage: useradd <username>

>     Usage: userdel <username>

>     Usage: userpassword <username>

>     Usage: userperm <username> [c][u][a][r]

>     Usage: version [-v]

>     Usage: xir

### General Errors

> RSC reports the following general errors.

    Could not get username for user <username>

During execution of the `userpassword` command, a SEEPROM error occurred.

    Error adding user <username>

An error occurred during execution of the `useradd` command. This message is followed by a more detailed message.

    Error changing password for <username>

An error occurred during execution of the `userpassword` command. This message is followed by a more detailed message.

    Error changing password for <username>

During execution of the `userpassword` command, a SEEPROM error occurred.

    Error changing password for <username> - password must be at
    least three characters different from old password - password
    must not be based on username

You entered an invalid password.

    Error deleting user <username>

An error occurred during execution of the `userdel` command. This message is followed by a more detailed message.

    Error displaying user <username>

An error occurred during execution of the `usershow` command. This message is followed by a more detailed message.

    Error setting permission for <username>

An error occurred during execution of the `userperm` command. This message is followed by a more detailed message.

    ERROR: username did not start with letter or did not contain
    lowercase letter

You entered an invalid username.

    Failed to allocate buffer for console mode

During execution of the `console` command, RSC could not allocate enough memory to connect to the console.

    Failed to allocate memory!

During execution of the `show` command, RSC could not allocate enough memory to show the variable's value.

    Failed to get password for <username>

During execution of the `userpassword` command, a SEEPROM error occurred.

    Failed to set <variable> to <value>

During execution of the `set` command, RSC encountered a SEEPROM error.

    Invalid login

Login attempt failed. This message appears at the login prompt.

    Invalid password

You entered an illegal password with the `userpassword` command.

    Invalid permission: <permission>

You entered an invalid user permission. Valid permissions are [c] [u] [a] [r]. See userperm username [a][u][c][r].

    Malformed username

You specified a nonexistent user when entering the `userpassword`, `userperm`, or `userdel` command.

    No free user slots

This error occurs if you try to add a user account when RSC already has four accounts configured. RSC supports only four user accounts. You must delete an account before you can add another.

    Passwords don't match

The two entries for a new password did not match.

    Permission denied

You attempted to execute a shell command for which you do not have the proper user permission level.

    Sorry, wrong password

You entered an incorrect current password.

    Unable to get value of variable <variable>

During execution of the `show` command, you used an invalid variable name.

    User already registered

The user you are trying to add already has an RSC account on this server.

    User does not exist

The username you specified is not associated with an RSC account on this server.

Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.