Enables PiKVM to control ATX operations of multiple computers via USB.
What you need:
- Your favorite PiKVM setup
- RP2040-Zero (RP2040-Pico should work, too)
- DLN-2 device drivers as part of your distribution or from here: https://github.com/zappanaut/dln2-dkms
- The USB-ATX-CTRL PCB or a breadboard
The PiKVM image is lacking the DLN2 device drivers. To install these you can follow the instructions from the dln2-dkms repository.
It is important that the udev rule files are also installed and the directory /dev/gpio-by-serial
exists. This also applies to distributions that already come with the DLN2 drivers!
Each board has a (hopefully) unique serial number, that is used by a udev rule to create a symlink to the actual device in /dev/gpio-by-serial/
. This way the boards can be referenced independently from the kernel's enumeration.
The firmware sources can be found in the pico-usb-io-board repository. Make sure you are using the usb-atx-ctrl branch!
Or simply use the firmware image firmware/dln2.uf2
from this repository.
There is yet another repository with KiCAD and Gerber files for a PCB, that can be attached to a slot bracket.
It is also possible to build this on a breadboard. You may want to have a look at the PiKVM documentation and in particular the "ATX control board". The schematics are very similar.
There are no special requirements regarding the PiKVM installation itself. This setup is using only mechanisms that are already in place.
Use the kvmd/override.yml
and kvmd/web.css
as a starting point and copy them to the /etc/kvmd/
directory after editing.
In particular replace [RP2040-serial]
in override.yml
with the serial numbers of your boards.
The board's I/O capabilities can be used for many kinds of telemetry like e.g. monitoring the temperature and voltages...
Even though this setup is working for me, your mileage may vary...