How to reconfigure a legacy Supermicro KVM card

I often work wiith servers that are physically very far away. Sometimes they are literally thousands of miles away. As you can imagine it's a real pain if I have to call and ask people to do things for me ("Please, can you log into the root account on the server and type a few commands for me? No? Do you know anybody who can?")

KVM over ethernet is great. As networks around the world get faster it's getting to the point where there's little difference between actually sitting physically in front of the computer vs. using KVM from thousands of miles away. A good KVM card can also do more than just keyboard and video. Among other things it can allow the server to boot a simulated floppy disk, flash drive or CD. It's a bit tricky to setup a boot CD on a samba share that's accessible over the public internet - but it's worth the effort. I can remotely wipe all the drives on a server and install a new operating system - all from the comfort and convenience of my desk.

Once this is done, of course, there's no need to use the KVM card for many months. When the next major OS or hardware upgrade comes along I can count on the card being there to ensure that the work will go smoothly... except that the service provider may have made changes to the network and the KVM card may not be responding.

Ouch! What to do?

The answer is relatively simple: Find an appropriate IPMI binary for the card, reset the card and perform a fresh setup.

It took me a while but I eventually found a zip file on the Supermicro web site called IPMICFG-Linux_1.57.zip for one legacy system that I manage. It contains statically linked binaries for Linux (one each for 32 & 64 bit systems.) It also contains dynamically linked binaries but they depend on shared object files that might not be found on some systems - so I prefer the statically linked versions.

The ipmicfg-linux.x86_64.static utility works for me and has the necessary features: It can reset the KVM device to factory default settings (ie: wipe-out the various account/password, network settings and restrictions that had become invalid over time,) and it can be used to set a basic network configuration. Of course the remaining setup can be completed using the main web-based GUI interface.

Check the documentation that comes with your card and your utility software. The utility that I have emits a paged help text when called without parameters.

It turns out to be important to access the card to get a sense of what it might do and how long it might take to do it. I found it helpful to be able to simply check the IP address of the card and the MAC number. To do this I ran the utility using the -m option:

$ sudo ./ipmicfg-linux.x86_64.static -m
IP=192.168.1.23 MAC=12:34:56:78:9A:BC

The card responded fairly quickly and produced meaningful output when the utility was able to talk properly with the KVM card. This is not true of some of the other informational options. Many of them produced no output or took a long time before producing output.

The first step was to reset the card back to factory defaults. This was done using the -fd parameter:

$ sudo ./ipmicfg-linux.x86_64.static -fd

After that I was confused for a while because I didn't realize that the card would take a few minutes to reset. Yes, the reset operation actually took a few minutes to complete. During that time the card did not respond and any attempt to access it returned various error messages that made me wonder if I was using an appropriate utility for my hardware/firmware. So remember to try to query your card before you try to reset it.

Once the card has been reset the remaining tasks are quick and easy: (1) Set the desired IP, (2) set the desired network mask and (3) set the gateway IP and (4) complete the setup using the web-based GUI:

$ sudo ./ipmicfg-linux.x86_64.static -m 192.168.1.123
$ sudo ./ipmicfg-linux.x86_64.static -k 255.255.255.0
$ sudo ./ipmicfg-linux.x86_64.static -g 192.168.1.1

Finally: Browse to the web-based KVM GUI interface. By default the user ID (for my specific card and firmware,) was ADMIN (upper case) and the password was ADMIN (also upper case.)

Remember that the details for your KVM card will be different from the details for the card I was using. Check carefully the model number and the firmware revision when searching for help on the web. In my case I didn't actually know the model number or firmware version so I had to tinker a bit to get it going - but I got it.

Of course I'll forget all this in a few days. Hopefully I'll remember that I wrote this note so that I don't have to go through this again!

Tags: