I recently upgraded the BIOS on my server’s SuperMicro X9DRL-iF board, and ran into a strange issue, which I fixed, and upon reflection, think I know why it happened. The BIOS fix was a Spectre fix, so it wasn’t a case of don’t-fix-unless-broken, as Spectre is a critical fix, so it was a must-do as it’s an internet facing server powering Kitamura’s infrastructure.
I upgraded the IPMI/BMC firmware first, as it still had the original version less than v2.0. I did it in DOS as it’s a simple dUpdate.exe -f nameofupdatefile.bin dance. If i’d done it through the IPMI interface, I’d have needed a serial key, which I don’t have. When the update finished the BMC/IPMI rebooted itself, and, I wrongly assumed, reset its configuration.
Second I flashed the BIOS, which again was a simple “ami.bat X9DRL8.712” command, and upon reboot, everything seemed fine, until the server suddenly ramped up the fans followed by a loud beeping while Windows loaded. This started and stopped, with the fans speeding up and slowing down. I logged into Windows Server, and used HWMonitor to check temps, all good. I opened SuperDoctor, and the PSU had an exclamation. Strangely I noticed it wasn’t showing temps. True enough, hooking an LED up to the overheat LED header showed it was in fact an overheat condition, even though it wasn’t, ha. My X9DRL is custom built into a Phanteks Enthoo Pro tower case, so doesn’t have all the extra LED’s the original rack chassis did.
Eventually I hooked up a laptop to the IPMI port and logged in to the IPMI interface. True enough, all the sensors were showing N/A. I reset the IPMI/BMC, and upon a reboot, all sensors were showing again, and the annoying issue stopped. NOTE a full power cycle is needed, just letting the BMC reset isn’t enough.
Note to self, use the -r option switch next time to reset IPMI/BMC config! Something must have changed in the 3.31FW from 1.8 that was causing the sensors not to read, and go into panic!