Solaris Troubleshooting : Configuration of serial consoles (headless) for legacy server hardware

the definition of a headless system is one that does not have an attached keyboard or does not have a Sun console. It will, by default,  send the boot information out serial port A if the keyboard or console are not attached.  Serial port B can also be used.

Attach using NULL modem cable to:

-An ascii terminal-  For example, Wyse terminal
-Another Sun workstation that has a Sun console
-A Network terminal concentrator/server

Technical Support does not recommend booting off a serial port with a  modem attached or not having any type of console.  A console allows the ability to send a break signal dropping the  system to the OK prompt for diagnostics. The console device is /dev/console.

What needs to be configured on Solaris:
A. Open Boot Prom:

OK> setenv output-device ttya
OK> setenv input-device ttya

Note: the above is not necessary on tty A if the keyboard is disconnected. It is necessary to change these setting for serial port B regardless.

Additional settings:


Syntax for changing Open Boot Prom value:

OK> setenv ttya-rts-dtr-off false
OK> setenv ttya-ignore-cd true

Use printenv to verify the following settings:

To change:
OK> setenv ttya-mode 9600,8,n,1,-

Run the “reset” command to make the above settings take effect

OK> reset

B. The terminal type, /etc/inittab and port monitors

Do not start port monitor services for the serial port. Verify with pmadm -l. Make sure there are no listings for the tty port that is acting as the  console.

To remove type:

pmadm -p zsmon -r -s <SVCTAG>

SVCTAG will be ttya or ttyb.

/etc/inittab takes care of setting the console port characteristics  with the following line:

co:234:respawn:/usr/lib/saf/ttymon -g -h -p “`uname -n` console login: ” -T sun -d /dev/console -l console  -m ldterm,ttcompat

By default the console terminal type is “sun” specified with the -T option above. This means that for ascii terminals vi will not work. Inorder for programs like vi to work the TERM variable needs to be changed to match the “personality” of the terminal.

This can be done by modifying -T in /etc/inittab to ‘wyse30‘ (for example) or changing the TERM variable in .login, .profile, or .cshrc or at the command line, for example:

setenv TERM wyse30

C. Sending a Break Signal

Unplugging the serial cable is the equivalent to sending a break and will bring the Sun box down to the OK prompt.  If the cable was not attached during bootup plugging it in may send a break. When a Network Terminal Server is rebooted this will also send a break and bring the Sun boxes down to the OK prompt.

What needs to be configured on the terminal

Ascii terminals have a setup mode. For the wyse30 <shift><setup> keys will bring up the terminals parameters. Use the arrow keys and the space bar to proceed through the settings.

Settings:  8 data bits, no parity, 1 stop bit  (8, none, 1)
baud:  Use 9600!
personality (modes) :  vt100, wyse60, etc  needs to match the Solaris
TERM variable



I have started ( aka in 2009 as my own personal reference blog, and later sometime i have realized that my leanings might be helpful for other unixadmins if I manage my knowledge-base in more user friendly format. And the result is today's' You can connect me at -

2 Responses

  1. September 17, 2015

    […] Read – Configuration of serial consoles (headless) for legacy Solaris server hardware […]

  2. July 22, 2016

    […] Read – Configuration of serial consoles (headless) for legacy Solaris server hardware […]

What is in your mind, about this post ? Leave a Reply

  Our next learning article is ready, subscribe it in your email

What is your Learning Goal for Next Six Months ? Talk to us