Reviving Remote Access to Legacy Supermicro Servers: A Technical Guide
In the world of server management, remote access capabilities are essential - especially when dealing with hardware located in distant data centers. Recently, I encountered an interesting challenge with an older but fully updated Supermicro X9DRW server. Despite its age, this workhorse continues to perform excellently in 2025, but accessing its remote console proved to be an adventure worth documenting.
The Challenge: Java Console Access in a Modern World
Supermicro's older BMC (Baseboard Management Controller) implementations rely on Java for their remote console functionality, specifically their JViewer application. As Java has evolved and browser support for Java applets has diminished, accessing these consoles has become increasingly difficult.
My initial attempts to connect to the BMC's web interface worked fine - I could log in and navigate the interface. However, when trying to launch the remote console via JViewer, I encountered multiple roadblocks.
Error-Filled Journey Through Java Compatibility
My journey began with numerous frustrating errors when attempting to use native Java installations without OpenWebStart.
Native Java JAR Signing Issues
When trying to use standard Java Web Start (javaws), I encountered signing verification errors:
com.sun.deploy.net.JARSigningException: Found unsigned entry in resource: http://[BMC-IP]:80/Java/release/JViewer.jar
at com.sun.javaws.security.SigningInfo.getCommonCodeSignersForJar(Unknown Source)
at com.sun.javaws.security.SigningInfo.check(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
I even tried creating a permissive security policy file (policy.all) containing:
grant { permission java.security.AllPermission; };
And launching with:
javaws -J-Djava.security.policy=file:policy.all "path\to\jviewer.jnlp"
Initial OpenWebStart Attempts
My first attempts with stock OpenWebStart also failed with cryptic initialization errors:
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application.
The application has not been initialized, for more information execute javaws from the command line.
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:593)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:374)
at net.sourceforge.jnlp.Launcher.access$300(Launcher.java:72)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:661)
Finding the Right Java Combination
After several failed attempts with modern Java versions, I discovered that OpenWebStart paired with Java 1.8.0-262 OpenLogic - OpenJDK was the magic combination.
Here's how I got it working:
- Downloaded and installed OpenWebStart
- Obtained Java 1.8.0-262 from OpenLogic
- Imported this specific JDK into OpenWebStart
Interestingly, attempts to use even older Java versions (7 and even 6) failed because OpenWebStart wouldn't import these ancient JDKs.
# Command to check your java version if uncertain
java -version
# Expected output for working configuration
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
The "Invalid Session Token" Mystery
With Java finally configured correctly, JViewer would launch but immediately display an "invalid session token" error. This error message was particularly frustrating as it suggested authentication problems rather than the actual issue.
Digging deeper, I noticed that while the BMC web interface appeared functional (I could navigate menus and download the Java client), certain features like sensor readings weren't working. This suggested the BMC was in a partially hung state - alive enough to serve web pages but not fully operational.
The Remote Reset Challenge
The obvious solution was to reset the BMC, but this posed another challenge: how to reset remotely without physical access?
I attempted SSH access to the BMC and encountered a limited SMASH CLP interface:
ssh admin@bmc-ip-address
While connected, I found that direct reset commands didn't work:
-> reset
reset verb is not supported for /
-> reset -force
Method execution failed.
Even after navigating to seemingly appropriate targets:
-> cd /admin1/clpsvc1
-> reset
Method execution failed.
The Solution: BMC Factory Reset with Network Preservation
After exploring various options, I found the solution hiding in plain sight within the web interface. The trick was to use the "Reset Factory Defaults" option, but with a critical customization:
- Navigate to Maintenance > BMC Preserve Configuration
2. Check ONLY the "Preserve Network Settings" option (deliberately left "Preserve KVM Settings" unchecked to ensure the KVM subsystem would reset)
- Proceed with the factory reset
This approach allowed me to reset the hung BMC while maintaining network connectivity - avoiding a trip to the data center.
The Reward: A Surprisingly Excellent Console Experience
After the BMC reset and reconnecting with OpenWebStart, the JViewer console performed remarkably well. Despite the age of both the hardware and the software, the remote console experience in 2025 is excellent:
- No noticeable input lag
- No key repetition issues
- Full ISO mounting capabilities
- Virtual media redirection
- Hardware monitoring
- Power control operations
The console feels responsive and reliable, dispelling any notion that older technology necessarily means a compromised experience.
Lessons Learned
This experience highlights a few important points for anyone managing legacy server infrastructure:
- Don't assume older hardware can't be managed remotely - often there's a solution
- The combination of software versions matters significantly
- BMC interfaces can enter partially failed states where a reset is the only solution
- Factory resets with preserved networking can be a lifesaver for remote systems
The Supermicro X9DRW (product archive link) may be considered legacy hardware now, but with the right approach, it can be managed just as effectively as newer systems.
Coming Soon for Subscribers: A utility tool for generating serial keys to unlock BIOS and BMC upgrades through the BMC interface - bypassing Supermicro's peculiar decision to place these essential maintenance functions behind a paywall.
Support This Blog — Because Heroes Deserve Recognition!
Whether it's a one-time tip or a subscription, your support keeps this blog alive and kicking. Thank you for being awesome!
Tip OnceHey, Want to Join Me on This Journey? ☕
While I'm brewing my next technical deep-dive (and probably another cup of coffee), why not become a regular part of this caffeinated adventure?
Subscribe