Supermicro IPMI KVM: connection failed

I have several Supermicro servers, and I can't connect to any of their KVM's through IPMI anymore; I keep getting 'connection failed'. I first noticed it with one, but trying others resulted in the same error.

I tried:

  • Browser plugin (firefox+java7) on Windows server 2008.
  • Browser plugin (firefox+java7) on Windows 7.
  • Browser plugin Mac+safari+java7.
  • Browswer plugin Linux+openjdk-1.7+icedtea plugin.
  • stand-alone ipmi tool on Windows server 2008 (Supermicro's ipmiview).
  • stand-alone IPMI tool on Linux openjdk 1.6 and 1.7 (Supermirco's ipmiview).
  • resetting the IPMI controller (which is sometimes necessary because it crashes): ipmitool mc reset warm.

I keep getting 'connection failed', no matter what I try.

I did a tcp dump and analyzed it with wireshark, and all I see is that a SYN is sent by the client, and a [RST, ACK] is received, which wireshark marks red.

I used the console a lot in the past, so I don't know what is the problem here. I read something about java 1.6 (java 6) working, but that did not seem to help me.

Edit: it's not a network issue, because I can connect to the webadmin and control everything but KVM. I can even see the screenshots of the booted OS.

And some info:

# ipmitool mc info
Device ID                 : 32
Device Revision           : 1
Firmware Revision         : 2.0
IPMI Version              : 2.0
Manufacturer ID           : 47488
Manufacturer Name         : Unknown (0xB980)
Product ID                : 1541 (0x0605)
Product Name              : Unknown (0x605)
Device Available          : yes
Provides Device SDRs      : no
Additional Device Support :
    Sensor Device
    SDR Repository Device
    SEL Device
    FRU Inventory Device
    IPMB Event Receiver
    IPMB Event Generator
    Chassis Device
Aux Firmware Rev Info     : 
    0x06
    0x00
    0x00
    0x00

Edit2:

On my Linux machine, I use IPMIView-2.9.15-build121211-bundleJRE-linux, and even when using the included JRE (./jre/bin/java -jar JViewerX9.jar host ADMIN password), it doesn't work. Maybe it is a network issue, but I didn't change anything on our router/firewall (Debian Linux machine).


Solution 1:

What do you know; when I did ipmitool mc reset cold, it did work again.

The only problem is, that I can't do this on the machine I lost the connection to...

Solution 2:

For some reason any version of the IPMIView doesn't work with IPMI firmwares >= 3.32, including the last IPMIView one. You have to use the browser launching their Java plugin from a web-interface, and this has to be a specific Java version. This isn't fixed as of 3.43 version (for X10 controller at least), the only difference is that 3.32 version sends RST immidiately after receiving SYN on port tcp/5900, and 3.43 version passes the three-way handshake for tcp/5900 and sends RST 35 seconds afterwards -and that's what Connection failed Java error really means.

Another approach would be to downgrade IPMI firmware to a less recent verion, for example on X10 controller (this is mentioned in the firmware naming scheme - for instance, REDFISH_X10_343.zip) version 3.27 is working with IPMIView. IPMI firmwares for most recent Supermicro motherboards can be found here, you'll notice that Supermicro provides only one IPMI firmware version for a given motherboard, but you can download any firmware version as long as you stick with your BMC controller model - i.e., if your IPMI firmware file is named REDFISH_X10_XXX.zip, you can download and install any X10 version as long as it's for X10. Same rule applies to X11 and other controllers, except that I didn't try it personally, so there still may be some complications.

This way I successfully restored KVM connectivity on a X10DRU-i+ motherboard.

Update: Supermicro TechSupport insists that for firmware versions >= 3.32 a latest IPMIView should be used. Didn't had the chance to check it myself, but just for those who came here in search for a solution - feels like I should mention it.

Solution 3:

IPMI KVM (X9DRD-if motherboard, SuperMicro server)

WORKED WITH

  • Macbook + Chrome + Java7 at home connected by wifi to a ROUTER WITH STATIC IP
  • Windows 7 + IE7 + Java7 at home connected by LAN in a ROUTER WITH STATIC IP
  • Linux Virtual Machine + Firefox inside MacBook at home connected by wifi to a ROUTER WITH STATIC IP

IT DIDN'T WORKED WITH (connection failed, every time)

The same Macbook with any of IE/Chrome/Firefox + Java6/7 connected TO THE UNIVERISTY'S CAMPUS WIFI

ANALYSIS

It is not the OS, the browser or the java version which is faulty, it is your router's configuration or other network settings.

SOLUTION

Change network. If you are at work/university/place_with_fancy_wifi and can't access other internet network(s), run the java JVM at home or somewhere with a static IP, and connect by TeamViewer or VPN to your home to control your server.