igetty - Interix "mini-getty" to configure serial ports


/usr/sbin/igetty [-sx] [-f file]


The igetty(1) command accepts the following options:

-f file
Instead of using the default /etc/igetty.conf file for configuration use file.
-l port
Only start igetty(1) on the named port; port should be the name of the first argument on a line in the configuration file.
Will be started as a service, so do not bother losing the controlling terminal. Prevents service manager from incorrectly reporting an error.
For all ports in file, do not start a new child when the original child has exited. When the last child exits, the parent igetty(1) exits with the same status as that child. (See wait(3)).

The igetty(1) utility will read the configuration file (/etc/igetty.conf by default) to determine the serial ports on which it (and its children) will listen, and how those ports will be configured. If a serial port is not listed in the file, it will be left alone.

Igetty Configuration File

In the configuration file, each line is treated as a command line to the igetty(1) child. The line is parsed as getopt(1) would parse it. Lines beginning with the number-sign character (#) in the first column will be treated as comments.

Arguments on the line are to be separated with white space (blanks or tabs).

The first argument must be the path to the serial device with which the igetty(1) child is to be associated (that is, /dev/tty01). The remainder of the line will contain, in no particular order, the configuration options for that serial device. The synopsis of the line is as follows:

path [-b bits] [-I] [-p parity] [-s speed] [-S stopbits] [-t termtype]

Unknown options will be ignored (for future backward compatibility). Future versions might include additional options.

-b bits
Specifies the number of bits per byte. Valid values are 5, 6, 7, and 8 (default).
Passed to login(1).
-p parity
Specifies the parity. Valid values are even, odd, and none (default).
-s speed
Specifies the speed (baud rate) for the terminal. The default speed is 9600. If an unsupported value is specified, the default rate is used.
-S 1|2
Specifies the number of stop bits to be used. Valid values are 1 (default) and 2.
-t term
Specifies the type of terminal expected to be connected to the port. This value is used to set the environment variable TERM. If this option is not specified, the environment variable TERM will be set to dumb.

When the serial device sends a BREAK, igetty(1) will reconfigure to use the next configured baud rate.

For valid options, when an invalid operand is specified, the default operand will be used instead (that is, 8 for -b). Usually there will be only one line per serial device. However, some serial devices might, at different times, require different settings. Therefore multiple lines defining different configurations per serial device are allowed. At startup, the first entry in the configuration file will be used. When the serial device sends a BREAK, igetty(1) will reconfigure to use the next entry for the serial device. When there is only one entry, igetty(1) will reconfigure the line with the same settings.

Autobauding is not currently supported.

The igetty(1) utility runs much like a daemon. It runs in its own session without a controlling terminal. The igetty(1) utility (the parent) then forks one child igetty(1) per serial device. The child igetty(1) has its own session and attempts to open the device and then set it as the controlling terminal for its session. If the child cannot open the terminal, it will sleep for 10 seconds before exiting. If the child can open the terminal but cannot acquire it as the controlling terminal for its session, it will sleep for 30 seconds and continually retry.

Once fully connected, igetty(1) will prompt for login. It is here that the 'break' key can be used to "roll" through different serial device configurations. Once a user name has been entered, login(1) is invoked and the 'break' key will not select configurations. If login is terminated (by signal or end-of-file) or times out, the igetty(1) parent will notice and start a new child igetty(1).

After login(1) completes authentication, the normal login and shell startup takes place. When the session leader exits, the parent igetty(1) will notice and start a new child igetty(1).

The file /etc/igetty.conf can be examined as a sample configuration file. It is important to be aware that many personal computer systems have a serial mouse attached to /dev/tty00. Attaching a mouse with a PS/2 or universal serial bus (USB) connection will allow both motherboard serial ports to be used at the same time (/dev/tty00 and /dev/tty01).

Third-party serial port expanders (cards or SCSI buses) do not all perform the same with respect to a number of factors. Most notable are their device drivers. Should a system panic occur while third-party serial port expanders are being used, contact the vendor of the board.

Modems can be connected with a "straight serial cable". Terminals must be connected with either a "null modem cable" or a combination of a "null modem" and a "straight serial cable". See the rs-232(5) manual page for more details.


Configuration file.