Man Linux: Main Page and Category List

NAME

       ipmi-oem - IPMI OEM utility

SYNOPSIS

       ipmi-oem [OPTION...] <OEMID> <OEMCOMMAND> [OEMOPTION...]

DESCRIPTION

       Ipmi-oem  is used to execute OEM specific IPMI commands. It is intended
       to provide a better user  interface  for  OEM  specific  IPMI  commands
       better than ipmi-raw(8).

       Please see SUPPORTED OEM IDS and COMMANDS below for a list of supported
       OEM specific IPMI commands. A list of supported OEM  specific  commands
       may also be generated using the --list option.

       There  are  no  guarantees that the below OEM commands will work on any
       particular  motherboard.  OEM  extensions  may  or  may  not  exist  on
       particular    hardware   revisions   and/or   firmware   revisions   of
       motherboards. The extensions may or may not function for other lines of
       motherboards from the same manufacturer.

GENERAL OPTIONS

       The   following  options  are  general  options  for  configuring  IPMI
       communication and executing general tool commands.

       -D, --driver-type=IPMIDRIVER
              Specify the  driver  type  to  use  instead  of  doing  an  auto
              selection.   The  currently  available outofband drivers are LAN
              and LAN_2_0, which perform IPMI 1.5 and IPMI  2.0  respectively.
              The  currently available inband drivers are KCS, SSIF, OPENIPMI,
              and SUNBMC.

       --disable-auto-probe
              Do not probe in-band IPMI devices for default settings.

       --driver-address=DRIVER-ADDRESS
              Specify the in-band driver address to be  used  instead  of  the
              probed  value. DRIVER-ADDRESS should be prefixed with "0x" for a
              hex value and ’0’ for an octal value.

       --driver-device=DEVICE
              Specify the in-band driver device path to be used instead of the
              probed path.

       --register-spacing=REGISTER-SPACING
              Specify  the  in-band  driver  register  spacing  instead of the
              probed value.

       -h, --hostname=IPMIHOST1,IPMIHOST2,...
              Specify  the  remote  host(s)  to  communicate  with.   Multiple
              hostnames  may  be  separated  by comma or may be specified in a
              range format; see HOSTRANGED SUPPORT below.

       -u, --username=USERNAME
              Specify the username to use when authenticating with the  remote
              host.   If  not  specified,  a null (i.e. anonymous) username is
              assumed. The required user privilege  will  depend  on  the  oem
              commands executed.

       -p, --password=PASSWORD
              Specify the password to use when authenticationg with the remote
              host.  If not specified, a null  password  is  assumed.  Maximum
              password length is 16 for IPMI 1.5 and 20 for IPMI 2.0.

       -P, --password-prompt
              Prompt  for  password  to  avoid  possibility  of  listing it in
              process lists.

       -k, --k-g=K_G
              Specify the K_g BMC key to  use  when  authenticating  with  the
              remote  host  for  IPMI  2.0.  If  not  specified, a null key is
              assumed. To input the key in hexadecimal form, prefix the string
              with  ’0x’.  E.g.,  the key ’abc’ can be entered with the either
              the string ’abc’ or the string ’0x616263’

       -K, --k-g-prompt
              Prompt for k-g to avoid possibility of  listing  it  in  process
              lists.

       --session-timeout=MILLISECONDS
              Specify  the  session timeout in milliseconds. Defaults to 20000
              milliseconds (20 seconds) if not specified.

       --retransmission-timeout=MILLISECONDS
              Specify  the  packet  retransmission  timeout  in  milliseconds.
              Defaults  to  1000 milliseconds (1 second) if not specified. The
              retransmission  timeout  cannot  be  larger  than  the   session
              timeout.

       -a, --authentication-type=AUTHENTICATION-TYPE
              Specify  the  IPMI 1.5 authentication type to use. The currently
              available authentication types are NONE,  STRAIGHT_PASSWORD_KEY,
              MD2, and MD5. Defaults to MD5 if not specified.

       -I, --cipher-suite-id=CIPHER-SUITE-ID
              Specify the IPMI 2.0 cipher suite ID to use. The Cipher Suite ID
              identifies   a   set   of   authentication,    integrity,    and
              confidentiality  algorithms  to  use for IPMI 2.0 communication.
              The authentication algorithm identifies the algorithm to use for
              session  setup, the integrity algorithm identifies the algorithm
              to use for session packet signatures,  and  the  confidentiality
              algorithm   identifies   the   algorithm   to  use  for  payload
              encryption. Defaults to cipher suite ID 3 if not specified.  The
              following cipher suite ids are currently supported:

              0 - Authentication Algorithm = None; Integrity Algorithm = None;
              Confidentiality Algorithm = None

              1 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm  =
              None; Confidentiality Algorithm = None

              2  - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm =
              HMAC-SHA1-96; Confidentiality Algorithm = None

              3 - Authentication Algorithm = HMAC-SHA1; Integrity Algorithm  =
              HMAC-SHA1-96; Confidentiality Algorithm = AES-CBC-128

              6  -  Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
              None; Confidentiality Algorithm = None

              7 - Authentication Algorithm = HMAC-MD5; Integrity  Algorithm  =
              HMAC-MD5-128; Confidentiality Algorithm = None

              8  -  Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
              HMAC-MD5-128; Confidentiality Algorithm = AES-CBC-128

              11 - Authentication Algorithm = HMAC-MD5; Integrity Algorithm  =
              MD5-128; Confidentiality Algorithm = None

              12  - Authentication Algorithm = HMAC-MD5; Integrity Algorithm =
              MD5-128; Confidentiality Algorithm = AES-CBC-128

       -l, --privilege-level=PRIVILEGE-LEVEL
              Specify the privilege level to be used. The currently  available
              privilege  levels  are  USER,  OPERATOR,  and ADMIN. Defaults to
              ADMIN if not specified.

       --config-file=FILE
              Specify an alternate configuration file.

       -W, --workaround-flags=WORKAROUNDS
              Specify  workarounds  to  vendor  compliance  issues.   Multiple
              workarounds   can   be   specified   separated  by  commas.  See
              WORKAROUNDS below for a list of available workarounds.

       --debug
              Turn on debugging.

       -?, --help
              Output a help list and exit.

       --usage
              Output a usage message and exit.

       -V, --version
              Output the program version and exit.

HOSTRANGED OPTIONS

       The following options  manipulate  hostranged  output.  See  HOSTRANGED
       SUPPORT below for additional information on hostranges.

       -B, --buffer-output
              Buffer  hostranged output. For each node, buffer standard output
              until the node has completed its IPMI operation. When specifying
              this  option, data may appear to output slower to the user since
              the the entire IPMI operation must complete before any data  can
              be   output.    See  HOSTRANGED  SUPPORT  below  for  additional
              information.

       -C, --consolidate-output
              Consolidate hostranged output. The complete standard output from
              every  node  specified  will  be consolidated so that nodes with
              identical output are not output twice. A header will list  those
              nodes   with  the  consolidated  output.  When  this  option  is
              specified, no output can be seen until the  IPMI  operations  to
              all  nodes  has completed. If the user breaks out of the program
              early, all currently consolidated output  will  be  dumped.  See
              HOSTRANGED SUPPORT below for additional information.

       -F, --fanout
              Specify  multiple  host  fanout.  A "sliding window" (or fanout)
              algorithm is used for parallel IPMI communication so that slower
              nodes or timed out nodes will not impede parallel communication.
              The maximum number of threads available  at  the  same  time  is
              limited by the fanout. The default is 64.

       -E, --eliminate
              Eliminate  hosts  determined  as undetected by ipmidetect.  This
              attempts to remove the  common  issue  of  hostranged  execution
              timing  out due to several nodes being removed from service in a
              large cluster. The ipmidetectd daemon must  be  running  on  the
              node executing the command.

       --always-prefix
              Always  prefix  output,  even  if  only one host is specified or
              communicating in-band.  This  option  is  primarily  useful  for
              scripting purposes. Option will be ignored if specified with the
              -C option.

IPMI-OEM OPTIONS

       The following options are specific to Ipmi-oem.

       -L, --list
              List supported OEM IDs and Commands.

       -v, --verbose
              Output verbose information. Additional  output  will  depend  on
              specific OEM ID and OEM COMMANDS specified.

SUPPORTED OEM IDS and COMMANDS

       The currently supported OEM IDs and COMMANDs are:

       Dell

              get-system-info asset-tag|service-tag|product-name|mac-addresses
                     This  OEM command can retrieve the motherboard asset tag,
                     service tag, product  name,  or  mac  addresses.  Command
                     confirmed  to work on Dell Poweredge 2900, 2950 and R610.
                     However,  specific  system   information   may   not   be
                     readable/available on all Dell Poweredges systems.

              get-nic-selection
                     This OEM command will determine the current NIC selection
                     for IPMI as dedicated,  shared,  shared  w/  failover  to
                     NIC2,  or  shared w/ failover to all. Dedicated indicates
                     IPMI is only  available  on  an  expansion  card,  shared
                     indicates  IPMI  is available on NIC1, shared w/ failover
                     to NIC2 indicates IPMI is available on NIC1  w/  failover
                     to  NIC2 on NIC1’s failure, and shared w/ failover to all
                     indicates IPMI is available on NIC1 w/  failover  to  all
                     other NICs in the event of NIC failure. Command confirmed
                     to work on Dell Poweredge 2900, 2950, and R610.

              set-nic-section
              dedicated|shared|shared_failover_nic2|shared_failover_all
                     This OEM command will set the current  NIC  selection  to
                     dedicated,      shared,      shared_failover_nic2,     or
                     shared_failover_all.  (See  get-nic-selection  above  for
                     description  on  inputs.)  On  older  Poweredge  systems,
                     shared_failover_nic2 may  have  ben  documented  as  just
                     failover.  Command  confirmed  to  work on Dell Poweredge
                     2900, 2950, and R610.

              get-ssh-config
                     This OEM command will get the current  SSH  configuration
                     on  the  IPMI  card.  Command  confirmed  to work on Dell
                     Poweredge R610.

              set-ssh-config KEY=VALUE ...
                     This OEM command will set the current  SSH  configuration
                     on  the  IPMI  card.  The  possible  keys  and values are
                     ssh=enable|disable,       idletimeout=seconds,        and
                     portnumber=num.   Multiple   key=value   pairs   may   be
                     specified. If no key=value pairs are specifed,  available
                     pairs  are  output.  Some  fields  may  be  read-only  on
                     specific Poweredge systems.  Command confirmed to work on
                     Dell Poweredge R610.

              get-telnet-config
                     This   OEM   command   will   get   the   current  telnet
                     configuration on the IPMI card. Command confirmed to work
                     on Dell Poweredge R610.

              set-telnet-config KEY=VALUE ...
                     This   OEM   command   will   set   the   current  Telnet
                     configuration on the IPMI card.  The  possible  keys  and
                     values are telnet=enable|disable, sessiontimeout=seconds,
                     portnumber=num,   and   7fls=enable|disable.     Multiple
                     key=value  pairs may be specified.  If no key=value pairs
                     are specifed, available pairs are output. Some fields may
                     be  read-only  on  specific  Poweredge  systems.  Command
                     confirmed to work on Dell Poweredge R610.

              get-web-server-config
                     This  OEM  command  will  get  the  current  web   server
                     configuration on the IPMI card. Command confirmed to work
                     on Dell Poweredge R610.

              set-web-server-config KEY=VALUE ...
                     This  OEM  command  will  set  the  current  Web   Server
                     configuration  on  the  IPMI  card. The possible keys and
                     values           are            webserver=enable|disable,
                     sessiontimeout=seconds,      httpportnumber=num,      and
                     httpsportnumber=num.  Multiple  key=value  pairs  may  be
                     specified.  If no key=value pairs are specifed, available
                     pairs  are  output.  Some  fields  may  be  read-only  on
                     specific Poweredge systems.  Command confirmed to work on
                     Dell Poweredge R610.

              get-active-directory-config
                     This OEM command will get the  current  active  directory
                     configuration on the IPMI card. Command confirmed to work
                     on Dell Poweredge R610.

              set-active-directory-config
                     This  OEM  command  will  set  the  current  Web   Server
                     configuration  on  the  IPMI  card. The possible keys and
                     values        are         activedirectory=enable|disable,
                     timeout=seconds,                  type=extended|standard,
                     sso=enable|disable,                                   and
                     certificatevalidation=enable|disable.   If  no  key=value
                     pairs are specifed,  available  pairs  are  output.  Some
                     fields  may  be  read-only on specific Poweredge systems.
                     Command confirmed to work on Dell Poweredge R610.

              reset-to-defaults
                     This OEM command will reset the BMC configuration back to
                     default  values. The command will spin until the reset is
                     confirmed to be complete. Command confirmed  to  work  on
                     Dell Poweredge R610.

              get-power-info
                     This  OEM command can retrieve power information. Command
                     confirmed to work on Dell Poweredge R610.

              reset-power-info cumulative|peak
                     This OEM command can reset the cumulative or  peak  power
                     information readings (viewed via get-power-info). Command
                     confirmed to work on Dell Poweredge R610.

              get-instantaneous-power-consumption-info
                     This OEM command can read instantaneous power consumption
                     information.  Command confirmed to work on Dell Poweredge
                     R610.

              get-power-headroom-info
                     This OEM command can  read  power  headroom  information.
                     Command confirmed to work on Dell Poweredge R610.

              get-average-power-history
                     This  OEM  command  can read average power usage history.
                     Command confirmed to work on Dell Poweredge R610.

              get-peak-power-history
                     This OEM command  can  read  peak  power  usage  history.
                     Command confirmed to work on Dell Poweredge R610.

              get-fcb-version
                     This OEM command can retrieve the fan control board (FCB)
                     version  number.  Command  confirmed  to  work  on   Dell
                     Xanadu2.

       Fujitsu

              get-power-on-source
                     This  OEM  command  will  return  the reason for the most
                     recent Power On.  Command confirmed to  work  on  Fujitsu
                     RX100 S5.

              get-power-off-source
                     This  OEM  command  will  return  the reason for the most
                     recent Power Off.  Command confirmed to work  on  Fujitsu
                     RX100 S5.

              get-remote-storage-status connection_number
                     This OEM command will return the connection and/or status
                     of remote storage. connection_number currently supports a
                     range of 0-1.  Command confirmed to work on Fujitsu RX100
                     S5.

              get-system-status
                     This OEM command will return the current  system  status.
                     Command confirmed to work on Fujitsu RX100 S5.

              get-eeprom-version-info eeprom_number
                     This OEM command will return the current version info for
                     various hardware elements, including firmware,  SDR,  and
                     boot  revision.  eeprom_number currently supports a range
                     of 0-1. Command confirmed to work on Fujitsu RX100 S5.

              get-identify-led
                     This OEM  command  will  get  the  current  identify  LED
                     status. Command confirmed to work on Fujitsu RX100 S5.

              set-identify-led on|off
                     This  OEM  command  will  set  the  current  identify LED
                     status. Command confirmed to work on Fujitsu RX100 S5.

              get-error-led
                     This OEM command will get the current error  LED  status.
                     Command confirmed to work on Fujitsu RX100 S5.

       Inventec

              get-nic-status
                     This OEM command will determine the current NIC status as
                     dedicated or shared. Dedicated  indicates  IPMI  is  only
                     available   on  the  dedicated  management  port.  Shared
                     indicates IPMI is also available on one  of  the  primary
                     ethernet  ports.  Command  confirmed  to work on Inventec
                     5441 (and subsequently Dell Xanadu2).

              set-nic-status dedicated|shared
                     This OEM command will  set  the  current  NIC  status  to
                     dedicated   or  shared.  (See  get-nic-status  above  for
                     description on dedicated vs.  shared  status.)  This  OEM
                     command  may  internally  reset  the  BMC, making the BMC
                     unusable  for  awhile.  Command  confirmed  to  work   on
                     Inventec 5441 (and subsequently Dell Xanadu2).

              get-mac-address
                     This  command  will retrieve the BMC MAC address. This is
                     actually not an OEM command, but rather the  normal  IPMI
                     MAC  address  command  (identical  to what is used in the
                     bmc-config(8) tool). This  command  is  placed  here  for
                     convenience.

              set-mac-address dedicated|shared MACADDR
                     This OEM command will set the dedicated or shared BMC MAC
                     address.  (See get-nic-status above  for  description  on
                     dedicated  vs. shared status.) The BMC MAC address cannot
                     be set through the normal IPMI MAC address command  (what
                     is used in the bmc-config(8) tool). The MACADDR should be
                     specified in XX:XX:XX:XX:XX:XX form.  A  shared  BMC  MAC
                     address  may  conflict with normal communication ethernet
                     communication on the primary  ethernet  port.  Users  may
                     wish  to  configuration an alternate MAC address instead.
                     After configuration of the MAC address, the BMC  must  be
                     reset. This may be accomplished by executing a cold-reset
                     with  bmc-device(8).   Command  confirmed  to   work   on
                     Inventec 5441 (and subsequently Dell Xanadu2).

              get-bmc-services
                     This  OEM  command will display the currently enables BMC
                     services.  Command confirmed to  work  on  Inventec  5441
                     (and subsequently Dell Xanadu2).

              set-bmc-services enable|disable all|kvm|http|ssh
                     This  OEM  command  will  enable  or  disable  other  BMC
                     services  besides  IPMI.  all   can   be   specified   to
                     enable/disable   all  services,  kvm  specifies  KVM  and
                     Virtual Storage, http specifies HTTP and HTTPS,  and  ssh
                     specifies  both SSH and Telnet. Command confirmed to work
                     on Inventec 5441 (and subsequently Dell Xanadu2).

              read-eeprom at24c256n
                     This OEM command will read the specified eeprom.  Command
                     confirmed to work on Inventec 5441 (and subsequently Dell
                     Xanadu2).

              clear-eeprom at24c256n
                     This OEM command will clear the specified eeprom. If  the
                     verbose option is set, progress percent will be output as
                     the clearing is being done. Command confirmed to work  on
                     Inventec 5441 (and subsequently Dell Xanadu2).

       Supermicro

              extra-firmware-info
                     This  OEM command will output additional firmware version
                     information.  Command confirmed  to  work  on  Supermicro
                     H8QME.

              reset-intrusion
                     This  OEM  command  will  reset the motherboard intrusion
                     flag after it has been triggered. For example,  in  ipmi-
                     sensors  or  ipmi-sel,  you may notice a ’General Chassis
                     Intrusion’ if the motherboard chassis is  not  open,  but
                     was  opened  in  the  past.  Command confirmed to work on
                     Supermicro H8QME.

HOSTRANGED SUPPORT

       Multiple hosts can be input either as an explicit comma separated lists
       of  hosts  or  a  range of hostnames in the general form: prefix[n-m,l-
       k,...], where n < m and l < k,  etc.  The  later  form  should  not  be
       confused  with  regular  expression  character classes (also denoted by
       []). For example, foo[19] does not represent foo1 or foo9,  but  rather
       represents a degenerate range: foo19.

       This  range  syntax  is  meant only as a convenience on clusters with a
       prefixNN naming convention and specification of ranges  should  not  be
       considered  necessary -- the list foo1,foo9 could be specified as such,
       or by the range foo[1,9].

       Some examples of range usage follow:
           foo[01-05] instead of foo01,foo02,foo03,foo04,foo05
           foo[7,9-10] instead of foo7,foo9,foo10
           foo[0-3] instead of foo0,foo1,foo2,foo3

       As a reminder to the reader, some shells will interpret brackets ([ and
       ])  for  pattern matching. Depending on your shell, it may be necessary
       to enclose ranged lists within quotes.

       By default, standard output from each node  specified  will  be  output
       with  the  hostname  prepended  to  each  line. Although this output is
       readable in many situations, it may  be  difficult  to  read  in  other
       situations.  For  example,  output  from  multiple  nodes  may be mixed
       together. The -B and -C options can be used to change this default.

       In-band IPMI Communication will be used when the  host  "localhost"  is
       specified.  This  allows  the  user  to  add  the  localhost  into  the
       hostranged output.

GENERAL TROUBLESHOOTING

       Most often, IPMI over LAN problems involve a  misconfiguration  of  the
       remote  machine’s  BMC.   Double  check  to make sure the following are
       configured properly in  the  remote  machine’s  BMC:  IP  address,  MAC
       address,  subnet  mask,  username,  user  enablement,  user  privilege,
       password, LAN privilege, LAN  enablement,  and  allowed  authentication
       type(s). For IPMI 2.0 connections, double check to make sure the cipher
       suite privilege(s) and  K_g  key  are  configured  properly.  The  bmc-
       config(8)  tool  can be used to check and/or change these configuration
       settings.

       The following are common issues for given error messages:

       "username invalid" - The username entered (or a NULL username  if  none
       was  entered)  is  not  available on the remote machine. It may also be
       possible the remote BMC’s username configuration is incorrect.

       "password invalid" - The password entered (or a NULL password  if  none
       was  entered)  is not correct. It may also be possible the password for
       the user is not correctly configured on the remote BMC.

       "password verification timeout" - Password verification has timed  out.
       A  "password  invalid"  error  (described  above) or a generic "session
       timeout" (described below) occurred.  During this point in the protocol
       it cannot be differentiated which occurred.

       "k_g  invalid"  -  The  K_g  key entered (or a NULL K_g key if none was
       entered) is not correct. It may also be possible the  K_g  key  is  not
       correctly configured on the remote BMC.

       "privilege level insufficient" - An IPMI command requires a higher user
       privilege than the one authenticated with. Please try  to  authenticate
       with a higher privilege. This may require authenticating to a different
       user which has a higher maximum privilege.

       "privilege level cannot be obtained for  this  user"  -  The  privilege
       level  you  are  attempting  to  authenticate  with  is higher than the
       maximum allowed for this user. Please try again with a lower privilege.
       It  may also be possible the maximum privilege level allowed for a user
       is not configured properly on the remote BMC.

       "authentication type unavailable for attempted privilege level"  -  The
       authentication  type you wish to authenticate with is not available for
       this privilege level. Please try again with an alternate authentication
       type  or  alternate  privilege  level.  It  may  also  be  possible the
       available authentication  types  you  can  authenticate  with  are  not
       correctly configured on the remote BMC.

       "cipher  suite  id  unavailable"  -  The  cipher  suite  id you wish to
       authenticate with is not available on the remote BMC. Please try  again
       with  an  alternate  cipher  suite  id.  It  may  also  be possible the
       available cipher suite ids are not correctly configured on  the  remote
       BMC.

       "ipmi  2.0  unavailable"  -  IPMI  2.0 was not discovered on the remote
       machine. Please try to use IPMI 1.5 instead.

       "connection timeout" - Initial IPMI communication failed. A  number  of
       potential errors are possible, including an invalid hostname specified,
       an IPMI IP address cannot be resolved,  IPMI  is  not  enabled  on  the
       remote  server,  the  network  connection  is  bad,  etc. Please verify
       configuration and connectivity.

       "session timeout" - The IPMI session has timed out. Please reconnect.

       If IPMI over LAN continually times out, you may wish  to  increase  the
       retransmission  timeout.  Some remote BMCs are considerably slower than
       others.

       Please see WORKAROUNDS below to also if there are any  vendor  specific
       bugs that have been discovered and worked around.

WORKAROUNDS

       With  so  many different vendors implementing their own IPMI solutions,
       different vendors may implement their IPMI protocols  incorrectly.  The
       following  lists  the  handful  of compliance issues discovered and the
       workarounds currently supported.

       When possible, workarounds  have  been  implemented  so  they  will  be
       transparent to the user. However, some will require the user to specify
       a workaround be used via the -W option.

       The hardware listed below may only indicate the hardware that a problem
       was  discovered  on.  Newer  versions  of hardware may fix the problems
       indicated below. Similar machines from vendors may or may  not  exhibit
       the same problems.

       Intel  SR870BN4:  BMCs  would  not  respond to retransmissions of a Get
       Session Challenge Request if a previous Get Session Challenge  response
       was  lost.  Resolved  by  sending  retransmitted  Get Session Challenge
       requests from a different source port. Automatically handled.

       Tyan S2882 with m3289 BMC: After the IPMI session is brought up, packet
       responses  return  empty  session  IDs  to the client. This will likely
       cause "session timeout" errors to occur. In order to work  around  this
       issue, the "idzero" workaround must be specified. The option will allow
       empty session IDs to be accepted by the client.

       Dell  PowerEdge  2850,SC1425:  When   Per-Message   Authentication   is
       disabled,  packet  responses contain non-null authentication data (when
       it should in fact be null). This will likely  cause  "session  timeout"
       errors   to   occur.   In   order   to  work  around  this  issue,  the
       "unexpectedauth" workaround must be specified. The  option  will  allow
       unexpected  non-null  authcodes  to  be  checked  as  though  they were
       expected. This compliance  bug  is  confirmed  to  be  fixed  on  newer
       firmware.

       IBM  eServer  325:  The  remote  BMC  will  advertise  that Per Message
       Authentication is disabled, but actually require it for  the  protocol.
       This  will  likely cause "session timeout" errors to occur. In order to
       work around this issue, the "forcepermsg" workaround must be specified.
       The  option  will force Per Message Authentication to be used no matter
       what is advertised by the remote BMC.

       Supermicro  H8QME  with  SIMSO  daughter  card:  The  remote  BMC  will
       advertise  that  Per  Message  Authentication is disabled, but actually
       require it for the protocol. Automatically handled.

       Asus P5M2/P5MT-R/RS162-E4/RX4: The motherboard does not properly report
       username  capabilities  and/or  K_g  status.  This  will  likely  cause
       "username invalid" or "k_g invalid" errors to occur. In order  to  work
       around this issue, the "authcap" workaround must be specified.

       Intel SR1520ML/X38ML: The motherboard does not properly report username
       capabilities and/or  K_g  status.  This  will  likely  cause  "username
       invalid" or "k_g invalid" errors to occur. In order to work around this
       issue, the "authcap" workaround must be specified.

       Sun ILOM 1.0/2.0: The session sequence numbers returned  for  IPMI  1.5
       sessions  are  the  wrong  endian on some systems running ILOM 1.0/2.0.
       The incorrect endian depends on the service processor endianness.  This
       will  likely  cause "session timeout" errors to occur. In order to work
       around this issue, the "endianseq" workaround must be specified.

       Sun Fire 2200/4150/4450 with ELOM: The motherboard  does  not  properly
       report username capabilities. This will likely cause "username invalid"
       errors to occur.  In order to work around  this  issue,  the  "authcap"
       workaround must be specified.

       Intel  SE7520AF2  with  Intel  Server  Management  Module (Professional
       Edition): There are a number of Intel  IPMI  2.0  authentication  bugs.
       These  problems  may  cause  "username invalid", "password invalid", or
       "k_g invalid" errors to occur. They can be worked around by  specifying
       the "intel20" workaround. The workarounds include padding of usernames,
       automatic acceptance of a RAKP 4 response integrity  check  when  using
       the  integrity  algorithm  MD5-128,  and  password  truncation  if  the
       authentication algorithm is HMAC-MD5-128.

       Supermicro H8QME with SIMSO daughter card: There are several Supermicro
       IPMI  2.0  bugs  on early firmware revisions which can be worked around
       using the "supermicro20" workaround. These problems may cause "password
       invalid"  errors  to  occur.  These compliance bugs are confirmed to be
       fixed on newer firmware.

       Sun Fire 4100/4200/4500 with ILOM: There are several Sun IPMI 2.0 bugs.
       These  problems  may  cause "password invalid" or "bmc error" errors to
       occur. They can be worked around by specifying the "sun20"  workaround.
       The workarounds include handling invalid lengthed hash keys, improperly
       hashed keys, and invalid cipher suite records.

       Inventec 5441, Supermicro X8DTH: The privilege level  sent  during  the
       Open  Session  stage of an IPMI 2.0 connection is used for hashing keys
       instead of the privilege level sent during the RAKP1 connection  stage.
       This  may cause "password invalid" or "bad rmcpplus status code" errors
       to occur. It can be worked  around  by  specifying  the  "opensesspriv"
       workaround.

KNOWN ISSUES

       On  older  operating systems, if you input your username, password, and
       other potentially security relevant information on  the  command  line,
       this information may be discovered by other users when using tools like
       the ps(1) command or looking in the /proc file system. It is  generally
       more  secure  to input password information with options like the -P or
       -K options. Configuring security relevant information in  the  FreeIPMI
       configuration  file  would  also  be  an  appropriate  way to hide this
       information.

       In order to prevent brute force attacks,  some  BMCs  will  temporarily
       "lock  up" after a number of remote authentication errors. You may need
       to wait awhile in order to this temporary "lock up" to pass before  you
       may authenticate again.

REPORTING BUGS

       Report bugs to <freeipmi-users@gnu.org> or <freeipmi-devel@gnu.org>.

COPYRIGHT

       Copyright © 2008 FreeIPMI Core Team

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 2 of the License, or (at your
       option) any later version.

SEE ALSO

       freeipmi(7), bmc-config(8), bmc-device(8), ipmi-raw(8)

       http://www.gnu.org/software/freeipmi/