FreeNAS Mini and ipmitool

FreeNAS Mini and ipmitool:

Recently, a Java update prevented the use of the Java KVM applet to enable a console session with the FreeNAS Mini IPMI backplane.  Rather than jump through numerous hoops to change Java’s configuration files, ipmitool utility came to the rescue.

Installing ipmitool:

Since the author uses MacOS for his daily driver, ipmitool was installed via MacPorts.  Other unix variants such as FreeBSD have their own package systems and repositories.  Please consult your own operating systems documentation for installing ipmitool.

Connecting to the FreeNAS IPMI:

Assuming all went well with the installation of ipmitool, let’s connect to our FreeNAS Mini IPMI backplane.  In our case, the IP Address of our FreeNAS ipmi is 192.168.0.85, and the username is “admin” and the password is “password”.

$ ipmitool -U admin -P password -I lanplus -H 192.168.0.85 sol info

..

Set in progress                 : set-complete
Enabled                         : true
Force Encryption                : false
Force Authentication            : false
Privilege Level                 : USER
Character Accumulate Level (ms) : 60
Character Send Threshold        : 96
Retry Count                     : 7
Retry Interval (ms)             : 500
Volatile Bit Rate (kbps)        : 38
Non-Volatile Bit Rate (kbps)    : 38
Payload Channel                 : 1 (0x01)
Payload Port                    : 623

 

Setting the Serial Bit Rate:

The FreeNAS Mini IPMI defaults to 38 kbps for the serial bit rate.  Change  the volatile and non-volatile bit rate to 115.2 kbps:

$ ipmitool -U admin -P password -I lanplus -H 192.168.0.85 sol set volatile-bit-rate 115.2

$ ipmitool -U admin -P password -I lanplus -H 192.168.0.85 sol set non-volatile-bit-rate 115.2

Check to ensure the changes were successful:

$ ipmitool -U admin -P password -I lanplus -H 192.168.0.85 sol info

..

Set in progress                 : set-complete
Enabled                         : true
Force Encryption                : false
Force Authentication            : false
Privilege Level                 : USER
Character Accumulate Level (ms) : 60
Character Send Threshold        : 96
Retry Count                     : 7
Retry Interval (ms)             : 500
Volatile Bit Rate (kbps)        : 115.2
Non-Volatile Bit Rate (kbps)    : 115.2
Payload Channel                 : 1 (0x01)
Payload Port                    : 623

 

Enabling Serial Console in FreeNAS:

From the FreeNAS Web Interface, under “System” then “Advanced” tabs perform the following changes:

  • Enable “Use Serial Console”
  • Set the Serial Port Address to “0x248”
  • Set the Serial Port Speed to 115.2 kbps

 

Enable Serial Console Redirection in the BIOS:

  • Using an external keyboard and monitor
  • Reboot the FreeNAS Mini and access the BIOS by pressing F2
  • Scroll to the “Advanced” tab, then scroll to “Serial Port Console
  • Disable “Console Redirection” under both “COM1” and “Serial Port Out-of-Band Management / Windows Emergency Management Services (EMS)”
  • Redirection” and hit enter
  • Enable “Console Redirection” under “SOL”
  • Under “SOL” heading change the following settings:
Terminal Type: [VT100+] (VT100 also works)
Bits per second [115200]
Data Bits [8]
Parity [None]
Stop Bits [1]
Flow Control [None]
VT-UTF8 Combo Key Sup [Enabled]
Recorder Mode [Disabled]
Resolution 100x31 [Disabled]
Legacy OS Redirection [80x24] 
Putty KeyPad [VT100]
Redirection After BIO [Always Enable]
  • Press F10 to save the settings then reboot

 

Activating SOL:

To activate the Serial Over LAN, initiate the following command:

$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 sol activate

Press ~. to exit the session.  To return to the FreeNAS prompt one may need to type a character on the keyboard to jog the console session.

 

Viewing System Power or Sensor Readings:

To view the sensor readings, initiate the following command:

$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 sdr list

ATX+5VSB         | 5.07 Volts        | ok
+3VSB            | 3.46 Volts        | ok
Vcore            | 0.80 Volts        | ok
VCCM             | 1.35 Volts        | ok
+1.1             | 1.08 Volts        | ok
+1.0             | 1.03 Volts        | ok
BAT              | 3.22 Volts        | ok
+3V              | 3.30 Volts        | ok
+5V              | 5.01 Volts        | ok
+12V             | 12.10 Volts       | ok
CPU_FAN1         | no reading        | ns
REAR_FAN1        | no reading        | ns
FRNT_FAN1        | no reading        | ns
FRNT_FAN2        | no reading        | ns
REAR_FAN2        | 1100 RPM          | ok
CPU_FAN2         | no reading        | ns
MB Temperature   | 52 degrees C      | ok
CPU Temperature  | 51 degrees C      | ok

 

To view and control the system power:

$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 power status
Chassis Power is on
$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 power off
Chassis Power Control: Down/Off
$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 power on
Chassis Power Control: Up/On
$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 power reset
Chassis Power Control: Reset

 

To force the FreeNAS Mini to boot into the BIOS, initiate the following command.  Before doing so, make sure to enable Serial Console Redirection in the BIOS first since there is no way to exit it except by resetting the machine.  The force_bios flag unsets once the system has booted to the BIOS so removing it later is unnecessary.

$ ipmitool -U admin -P Password -I lanplus -H 192.168.0.85 chassis bootparam set bootflag force_bios

 

Summary:

Accessing the IPMI Backplane of a machine is a necessary function in the life of a System Administrator in todays IT world.  It provides the user with a many options and flexibility.  It is a complex tool to use, but the benefits far out way the steep learning curve of utilizing this tool.  Of course, it provides a non-Java dependent method of accessing the IPMI Backplane of your servers.

 

References:

man ipmitool

Leave a Reply

Your email address will not be published. Required fields are marked *