Translate

Sunday, November 6, 2022

PiKVM - a KVM <-> IP on System76

Is always better to have a Plan B if the main plan fails.
My server has an embedded KVM (with an extra module installed - see the article Fixing the server - KVM <-> IP) but surprise surprise the actual KVM functionality is not working because the motherboard is not supporting an extension module.

This article discuss about the KVM <-> IP solution with a Raspberry Pi on the open source project PiKVM as a way to have the KVM functionality on my server.

The PiKVM 

Build it from scratch ?

There are many ways to put together the project and USUALLY would make sense to buy the single parts and then assemble everything.
So I did start to set up the shopping list and, maybe because the current economic situation, in the end buying everything around is not really a saving experience and even worse one have to wait quite a while to receive all the pieces and put everything together.
IMHO probably buying it already made make more sense, both for the cost and time involved.

The shopping list

The assembled unit come in a metal container plus the ATX interface and the necessary cables.
Better to plan to buy also a power supply.

There is not really a good documentation to easy set up a built unit.
In the end for my specific needs I would have to have :
  • the PiKVM unit
  • the ATX interface
  • the power supply
  • a HDMI <-> VGA cable
  • a USB-A <-> USB-C adapter

Connecting PiKVM to the server

There are three main connection to do and at least one requires to be done inside the server.

  • ATX connection
  • Video connection
  • USB connection

ATX connection

Note !  In this paragraph I did explore the possibility to interface the ATX BUT at the moment I will use the native KVM capability in the server for this since allows me to access to more information, like the RPM of the fans and diagnostics.

The PiKVM has the capability also to control the power supply of the server, i.e. will be possible also to turn OFF and ON the server remotely as well as monitor the status of the server power and working.
Neat !
But in order to do is necessary to connect an interface (included in the PiKVM kit) inside the server.

Every server is different so is hard to have a universal guide, the PiKVM project gives some suggestions.

After opening the server the first task is to find a place where to install the interface, inside the server leaving an access for the RJ45 port.

The critical part however is to connect the ATX interface of PiKVM with the server.

CAUTION !!! 
The ATX interface is connected to the PiKVM via a UTP Cat5 cable, however that cable has NOTHING to do with the network  connection !!

The ATX interface board allows to connect 2 LED for the status and 2 pushbuttons 

Picture taken from the PiKVM documentation

Basically the interface acts as pass-through, allowing to maintain the connection between the motherboard and the front panel.

Picture taken from the PiKVM documentation

Cable colors

This a legend of the colors used for the connections, to simplify the identification.

Motherboard connections

Now is matter to identify on the motherboard the connections.
The most probable place where to set up the connections is the Front Panel connector (section 8.4 - connector J1E1).

Table from the motherboard datasheet

Probably is necessary to build a PCB to port out the necessary signals from this connector, this would be the better way to proceed.  

This the connection between the ATX board and the J1E1



In that case the original double cable set up in the PiKVM ATX card is not necessary.
Fortunately the connector is on the side of the motherboard so should be plenty of space to work on.

In the center of the picture is the J1E1 connector (gray flat cable)

The idea is to design a PCB capable to bring "out" the necessary signals.
Note that the proposed connection need to be tested !!! 
It is possible some pins need to be connected differently !


Video connection

 
The server has an embedded VGA port, not very great for graphics.
The previous system based on Ubuntu 16.04 LTS didn't even installed X11 since the graphic card in the server is not supporting very well even the basic GUI.

Anyway, the PiKVM has only a HDMI port so a VGA <-> HDMI converter is necessary.

So in the order, connect the VGA from the server to the converter and then plug the converter in the PiKVM HDMI input port.

Keyboard connection


Then connect a USB-A-USB-C  cable between a server USB port and the USB port of the PiKVM

Resources

No comments:

Post a Comment