zappanaut / pikvm-usb-atx-ctrl

Enable PiKVM to control ATX operations of multiple computers via USB.
MIT License
47 stars 6 forks source link

pikvm-usb-atx-ctrl

Enables PiKVM to control ATX operations of multiple computers via USB.

screenshot

HOWTO

What you need:

Setting up the DLN-2 device driver

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.

Flashing the RP2040

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.

Building the USB-ATX-CTRL Board

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.

Setting up PiKVM

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.

Future development

The board's I/O capabilities can be used for many kinds of telemetry like e.g. monitoring the temperature and voltages...

Disclaimer

Even though this setup is working for me, your mileage may vary...