ISOL(8)

NAME
ipmiutil_sol - an IPMI Serial-Over-LAN Console application

SYNOPSIS
ipmiutil sol [-acdeilorsvwxz -NUPREFJTVY]

DESCRIPTION
This utility starts an IPMI Serial-Over-LAN console session. A Serial-over-LAN console allows the client to see and modify functions before the OS boots, such as BIOS setup, grub, etc. This utility uses either the IPMI LAN 1.5 or 2.0 SOL interface. The 1.5 SOL interface is specific to Intel BMCs, while any IPMI 2.0 BMC should support 2.0 SOL. The target system/node must first have these parameters configured before SOL sessions can be started:
- [BIOS] serial console redirection parameters,
- [IPMI] lan and SOL parameters (see ipmiutil lan or ilan), and
- [OS] For Linux, edit grub.conf, inittab, and securetty parameters.
Be sure that the baud rate matches in all of the above places. See the ipmiutil UserGuide section 4.8 for details.

OPTIONS

-a  Activate the SOL Console session, and enter console mode. Use the escape sequence ('~.') to exit the session.

-c '^'
    Set the escape Character to '^', or another ANSI character. This changes the default two-character escape sequence ('~.') to the specified single escape character, which will end the SOL session.

-d  Deactivate the SOL Console session. Use this if the previous session was aborted abnormally and starting a new session gives an error.

-e  Turn Encryption off in negotiation when activating a session. By default, encryption is on for Serial-Over-LAN console sessions.

-l  Use Legacy BIOS mapping for Enter key (CR+LF) instead of just LF. This is needed for BIOS Setup menus and DOS, but causes an extra LF to occur in Linux. So, only use this option if doing BIOS or DOS changes. This should be seldom be needed since now the default is to automatically detect these menus with colored backgrounds and change the mapping.

-i input_file
    Use this file as an input script. The input_file will be read after the session is established. This can be used to automate certain tasks. The input_file is read one line at a time. If the input_file does not have an escape character (~) to end the session, then the input is returned to the keyboard when the file ends.

-o output_file
    Use a Trace log. The output_file is created and all SOL screen output is written to the file, including VT100 escape sequences. If the output_file exists, the output is appended to it. This can be used to log what the user has done in an SOL session.

-p  Port to use. Defaults to RMCP port 623.

-r  Use Raw terminal I/O instead of custom VT100 to ANSI translation (in Windows). Use this option if the server is configured in BIOS and BMC for ANSI and the utility is being invoked from Windows.

-s NNN
    For a slow link with high latency, this adds a delay of NNN microseconds between sending and receiving SOL packets. The default is 100 microseconds.

-w  (Windows only) Do not use the Windows Console buffer, but use Windows stdio instead. This does not handle cursor positioning correctly in some cases, however.

-v log_file
    Causes debug messages to be displayed to the specified debug log_file. The default log_file is isoldbg.log in the current directory.

-x  Causes debug messages to be displayed to the debug log file.

-z  Causes more verbose debug messages to be displayed to the debug log file.

-N nodename
    Nodename or IP address of the remote target system. If a nodename is specified, IPMI LAN interface is used. Otherwise the local system management interface is used.

-U rmt_user
    Remote username for the nodename given. The default is a null username.

-P/-R rmt_pswd
    Remote password for the nodename given. The default is a null password.

-E  Use the remote password from Environment variable IPMI_PASSWORD.

-F drv_t
    Force the driver type to one of the followng: imb, va, open, gnu, landesk, lan, lan2, lan2i, kcs, smb. Note that lan2i means lan2 with intelplus. The default is to detect any supported driver type and use it.

-J  Use the specified LanPlus cipher suite (0 thru 17): 0=none/none/none, 1=sha1/none/none, 2=sha1/sha1/none, 3=sha1/sha1/cbc128, 4=sha1/sha1/xrc4_128, 5=sha1/sha1/xrc4_40, 6=md5/none/none, ... 14=md5/md5/xrc4_40. Default is 3.

-T  Use a specified IPMI LAN Authentication Type: 0=None, 1=MD2, 2=MD5, 4=Straight Password, 5=OEM.

-V  Use a specified IPMI LAN privilege level. 1=Callback level, 2=User level, 3=Operator level, 4=Administrator level (default), 5=OEM level.

-Y  Yes, do prompt the user for the IPMI LAN remote password. Alternatives for the password are -E or -P.

EXAMPLES
ipmiutil sol -a -N nodename -U username -P password
Starts an SOL console session to the nodename. Detect the lan protocol.

ipmiutil sol -a -N nodename -U username -P password -Flan2
Starts an SOL console session to the nodename. Force lan protocol to 2.0.

PLATFORM SERIAL PORT CONFIGURATION EXAMPLES

First, enter BIOS Setup for Serial Console Redirection parameters: (these vary by platform)
  Console Redirection = Serial Port B
  ACPI Redirection = Disabled
  Baud Rate = 115.2K
  Flow Control = CTS/RTS
  Terminal Type = VT100
  Legacy Redirection = Enabled
Note that the Baud Rate can vary, but it must match in all locations where it is used (BIOS, IPMI, and Linux).
For some non-Intel platforms, the serial console would be COM1 instead of COM2, but should be enabled in BIOS.
From Linux, run "ipmiutil serial -c" for Terminal Mode shared configuration.
Or, on older Intel TSRLT2 platforms: From Linux, run "ipmiutil serial -s" for Basic Mode Shared configuration.

LINUX CONFIGURATION FOR SERIAL CONSOLE

If using lilo, in /etc/lilo.conf, add
  append="console=ttyS1,19200n8 console=tty0"
(and comment out the "message=" line because it includes graphics)
Note that the append line can be placed in the global section and removed from each kernel section if there are no other differences.

Or, if using grub, edit /boot/grub/grub.conf as follows:
  #Omit the splashimage or gfxmenu
  # splashimage=(hd0,0)/grub/splash.xpm.gz
  #The serial and terminal lines are not usually needed
  # serial --unit=1 --speed=19200 --word=8 --parity=no --stop=1
  # terminal --timeout=10 serial console
  #Add the console=ttyS* parameter to the kernel line
    kernel (hd0,0) /vmlinuz root=/dev/sda2 console=ttyS1,19200n8

Add this line to /etc/initab, if ttyS1 is not already there:
  co:2345:respawn:/sbin/agetty ttyS1 19200 vt100

Add this line to /etc/securetty, if ttyS1 is not already there:
  ttyS1

SEE ALSO
ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) igetevent(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) iwdt(8)

WARNINGS
See http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list.

COPYRIGHT
Copyright (C) 2009 Kontron America, Inc.

See the file COPYING in the distribution for more details regarding redistribution.

This utility is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.

AUTHOR

Andy Cress <arcress at users.sourceforge.net>