Using an old Supermicro IPMI to configure broken networking
The goal of this post is to demonstrate the usefulness of IPMI even in hobbyist or personal use. Anything that means less touching physical machines to power cycle them, or fix network misconfigurations, can save a lot of time.
I had broken my NAS’s networking by adding a bridge and attaching the existing
ethernet device to it. I forgot to configure the ethernet device to not try
to fetch an IP address (via DHCP), but instead only fetch an IP address on the
bridge itself. This had the surprising effect of both the bridge (
eth0) being given the same IP, as they both had the same mac
address (as the bridge was talking to my LAN over the
eth0 slave device).
Woops, stuff happens.
This NAS does not have HDMI, DVI, or DisplayPort. I do have a VGA monitor, but it was packed up in storage. First thought was I could use a serial console, but it appears I hadn’t configured the serial console correctly, as I got a blank terminal. Then I remembered, this thing has IPMI with full VGA console access. There is a nasty catch, which is what this post is about.
For anyone curious, here’s the specs for my NAS. It’s not very exciting, software configuration barely works, but is reliable. A TODO is to ansible-ize the configuration. The motherboard, cpu were purchased used off ebay, it was a good decision, as it was reasonably inexpensive.
Anyway back to solving that pesky networking issue…
§Using an Ubuntu VM
After installing Ubuntu 20.04 in VirtualBox, I set up the guest additions
sudo apt install build-essential followed by running the
VBoxLinuxAdditions.run off the Guest Additions ISO.) Then I Tried opening
the console just for fun. I was greeted by a warning that my Java was out of
date (a Browser
alert()), which I ignored.
After clicking on the console, I got a prompt to do something with the
java web start file. Ubuntu didn’t know what to do with it so I gave did some
looking around and found this helpful stock overflow post. It says I should
sudo apt install icedtea-netx). After
installing it, then clicking on the console thumbnail again, I was again
prompted to do something with the file, but was given the option to “Open with
IcedTea Web Start (default)”. After clicking OK, I was greeted with a Java
application asking it can trust the web start application as the digital
signature could not be verified. Here are the two warning dialogues. I’d
recommend doing this is a throw away VM, it’s old crufty software.
After clicking “Run” and “Yes” at the security prompts, I was greeted with the VGA console.
§WinXP for the fun of it anyways?
I had initially set up Windows XP assuming I wouldn’t be able to get this to work on a modern linux distro. But as the above section demonstrates, it’s possible to do it on Ubuntu 20.04. But I figure It’d be fun to leave this section in here for the reader’s enjoyment. I learned my lesson: try stuff before you assume anything.
WinXP is available on archive.org free of change. I don’t know how the licensing works, though it has been on archive.org for many years with CD keys, so it must be fine, or Microsoft doesn’t care.
After installing Windows XP (and installing VirtualBox guest additions), you might need to install a browser that can access websites that use strict TLS/SSL ciphers for HTTPS. I found this very cool website that describes how to get started with Windows XP in 2021. Folks still run it unironically for fun and profit. Crazy! But I’m also that crazy, so let’s grab a good browser.
Enter Mypal. It has a cute mascot of a Raccoon. It also seemed to work more reliably than the version of Artic Fox I tried (it kept hanging ???). You can download it here from its GitHub releases page. Enjoy the following screenshot!
Now we have a modern-ish web browser we can access the webpages that offer Java installers for Windows XP. Unfortunately, Oracle seems to have removed all references to legacy Java builds that work on Windows XP. I get an error message when trying the old Java releases on Windows XP:
An hour of Google head-bashing later, I found this link to a questionable
website called Filepuma that offers a usable Java installer. For the esteemed
reader, here is the output of
Running it, one gets the usual security warning followed by a setup screen. Success!
§Finally, accessing the console
After a reboot, I fired up Internet Exploder again, logged into the IPMI webpage. After clicking on the console preview, the interactive VGA console automatically opened up in Java WebStart. Fanstatic! I was able to log in to the console and fix the networking issue. All from my desk, without touching the affected computer.