Use ipmitool to determine which IPMI link is ‘up’

ipmiipmitool

I am having a very frustrating time configuring the IPMI interface on a Supermicro box.

Unfortunately with IPMI it is not always clear which interface is being used by the BMC. The Supermicro Embedded BMC Manual says that the active interface is determined during the initial power up:

Note 1: If you wish to use the IPMI-dedicated LAN port for your
network connections, be sure to connect an RJ45 cable to your
dedicated LAN port before you activate the BMC (at first power-on or
cold reset). Otherwise, the BMC will look for a shared LAN port to
connect to if the IPMI-dedicated LAN cable is not detected upon BMC
activation.

  1. Can I use ipmitool to tell if this system is using the IPMI-dedicated LAN port or the shared LAN port?
  2. Can I use ipmitool to see if the link is up? For comparison, it is easy to see if a link is up on linux — simply use ifconfig or ip addr and look for the 'UP' flag. Is there an equivalent with ipmitool?

Some details:

  • I wasn't here when the system was powered on. I cannot powercycle the system right now.
  • There is an Ethernet cable plugged into the dedicated IPMI port, the link light is on and ipmitool lan print 1 shows a static IP is assigned. But the BMC is not responding to ping.
  • I've tried ipmitool bmc reset cold and reconfiguring the BMC with a new IP and it still doesn't work.
  • I suspect that the BMC is using the non-dedicated LAN port 0 (e.g. 'eth0' the first LAN port used by the host). This is incorrect — that port is in use by the host and is connected to a public LAN.

** Update **

The ipmitool man page says that lan get can be used to display this information, but lan get active does not work:

% ipmitool -I lanplus -H 172.16.100.100 -U ADMIN -P secret lan get active
Invalid LAN command: get
%

Best Answer

The following works if you are SSH'd in to the server, so assumedly it should work via the "ipmitool -I lanplus" method as well:

ipmitool raw 0x30 0x70 0x0c 0

The results are as follows:

00 = Dedicated
01  = Shared
02  = Failover 

To change the mode, run:

(Dedicated) ipmitool raw 0x30 0x70 0x0c 1 0 
(Shared) ipmitool raw 0x30 0x70 0x0c 1 1
(Failover) ipmitool raw 0x30 0x70 0x0c 1 2 

http://www.supermicro.com/support/faqs/faq.cfm?faq=11639