KVM Nerd's home


First Ideas

In the time I had the fourth computer in my life, I came up with the idea how nice it would be to own more than one computer at the same time, up to then I sold my old computer when I bought a new one. It would be nice to keep the old computer and have it available for gaming, running old software and so on. This would have required an additional set of a keyboard, a mouse and a display for each computer, which wastes a lot of space. The obvious solution to this problem was to use a KVM switch.

I decided to use a cheap Gembird CAS-441 KVMA switch, which allowed to switch PS/2 keyboard and mouse, VGA display signal and stereo audio signals on four CPU ports. My computer at that time was an AMD Athlon64 4000+ with 4 GB DDR-400 RAM, an ATI X1800XT graphics card with 512 MB RAM, 500 GB hdd and an EIZO S2431w display with DVI-I and VGA input. The KVM switch did not really work the way I expected it, it had various problems with the keyboard and mouse.

A replacement with the same model did not work, so I decided to go for a more expensive KVM switch and ended up with the ATEN CS-1758. This was a huge difference to the KVM I was using before, because this time it worked very well. The device allowed to switch USB mouse and keyboard, VGA and stereo audio together with microphone signals.

The only problem was that I wanted to use DVI with my main computer, what the KVM switch did not allow, so I connected the DVI port of the display to my main computer, and the KVM switch to its VGA port. To keep everything under control, mouse, keyboard and audio were still connected to the KVM switch on one port, ignoring the VGA signal. Because the KVM switch asked for an empty username and password, I had to press enter twice blindly before I could use my main computer, if I did not want to switch the display to the VGA input everytime. One very good point of the KVM switch is that it allows both PS/2 and USB input devices on the CPU side, which makes it quite unique.

More than just connecting Computers to a KVM Switch

In the meantime I managed it to get an old 19" server cabinet from the data center I worked for while studying, formerly used for a Compaq HSG-80 storage system which I removed beforehand. This was perfect, because I could put all the computers into it and mount the KVM in the 19" rack. To switch the computers on and off in the cabinet, I bought a simple 19" switch console with mechanical switches. The idea was not to run all the machines at the same time, but to fire up only the machine(s) needed, which also significantly reduces the maximum current the system draws, allowing to use normal plugs used in a household. For the old XT and AT machines it was obvious to keep them switched on and turn them on with the switch console. The ATX machines can be configured to turn on when the power comes “back” (PSU state in APCI).

Then the time came when I wanted to have a new computer, which I wanted to be small, silent and energy saving. I decided to go for an AMD E-350 with 8 GB DDR-3@1600 MHz RAM and a 2 TB hdd. The old computer should still remain for gaming purposes. This required a KVM switch which was able to switch DVI together with audio signals, and my choice was the ATEN CS-1784. This device even allowed to switch DVI-I, which enabled me to cascade the CS-1758 to it, which works quite well when using different hotkey settings for each KVM level.

My original idea was to have only mouse, keyboard, display and audio on my desk, using 5 meter connections between the console port and the devices. This did not work very well because I had signal quality problems, both on the digital and analog display signals due to the cable length; The digital DVI signal showed colorful errors, and analog VGA signals showed some shadows behind sharp edges. The only solution was to shorten the distance between the KVM and the console.

By the time I was using the new KVM, I found out that it sometimes caused some strange behaviour with hanging keys, repeating the last key pressed until another one was hit. I thought my device would be faulty, so I sent it back to the shop I bought it and replaced it with the newer CS-1784A. When I set it up, I found out that cascading the CS-1758 to the CS-1784 did no longer work. I asked the ATEN support for a solution, but the only answer was that cascading between a CS-1758 and other devices is not supported, unless the other device is also a CS-1758. This was disgusting, so I decided to refund the CS-1784A and bought a used CS-1784 again.

Because I was not happy with the speed of the energy saving computer I bought, I decided to replace it with a new computer, an AMD A10-7850K with 16 GB DDR4@3200 MHz. Due to an extra salary I was able to buy a new flat TV for the living room, which also became a display for my old computer, which got a new life as an HTPC then.

Getting deeper into it

In the meantime I got another old server cabinet, which also was a similar cabinet used for another Compaq HSG-80, I guess a mirrored system. Surprisingly, the cabinet differed in some small details, but I was okay with it, because they look nearly similar.

To add more DVI computers, I then decided to buy a CS-1788, which works for USB keyboard and mouse, DVI-I and audio/microphone signals. It also did not work to cascade it to the CS-1784. I again asked the ATEN support for a solution and they told me that it only works to cascade a CS-1758 to a CS-1784 and a CS-1788 to a CS-1784A, which led me to the suspicion that each of those devices use the same firmware base. Their solution was to connect the USB-connection from the CPU port of the CS-1784 to the USB-hub of the CS-1788, which I did not find satisfying, because it took me the possibility to use the hotkey functions on the CS-1788. So I would have needed a KVM switch which is a mixture of a CS-1784 and a CS-1784A, which does not exist.

At this time I was playing around with the SteamLink device which I bought for cheap money. It was nice to be able to play games on the TV in the living room with it, but I struggled with the compromise between picture quality and delay, which was very unsatisfying for fast games. My search for a solution of this problem ended up with a HDbaseT 2.0 KVM extender, which solved all problems including picture quality, delay and software support problems. The KVM extender uses HDMI 2.0 with 10.2 Gbit/s, supporting USB 2.0, Toslink, analog stereo audio and a serial connection.

From this time on I was even able to configure the UEFI of my main computer on the couch, but only for this computer, because I could only connect it to one device with HDMI. I noticed that the device was offered with HDMI support using HDMI to DVI adapters, so I tried the same with my CS-1784 and found out that it also worked, even though it is not mentioned anywhere. To my surprise it was also possible to use keyboard and mouse connected to the KVM extender together with my KVM switch setup, including the hotkeys.

Making it a real Project

A project I was planning for a longer time came to reality at this time: A desk with two 19" 15 U racks on each side. This allows to mount all stuff in a structured way, reducing overall mess, especially cable mess. I also bought a bunch of cheap 19" 4 U (TS100) cases for the ATX computers to have them all mounted in the cabinets.

For my main computer I chose to have a better quality case and went for a Fantec 4860X-07. Surprisingly they do not offer fitting slide rails for this case anymore, so I modified one of the GHA-SL26 kits I bought for the cheap cases, which worked out very well.

To avoid replugging all the cables when switching between my desk console and the TV together with the KVM extender, I looked for a solution and found the ATEN CS-226 reverse KVM switch, which supports DVI, audio signals and USB keyboard and mouse. I hooked the device up to the console port of my CS-1784, but it did not really work as expected. I was unable to use screen resolutions higher than 1920x1080, because the CS-226 creates a “mixed” EDID of both displays connected, supporting only the highest resolution both displays offer, which ended up this way. It also had problems with USB keyboard and mouse, which led me to the decision to remove the device and replace it with a super simple HDMI 1:2 switch. This was much cheaper and worked exactly the way I expected it, but it leaves the problem of switching the input devices.

In the meantime the IOGEAR GCS-1784 arrived from overseas. I tested it in different cascading setups and found out that it behaved exactly the way the ATEN CS-1784 did, so I think they are both using the same firmware base. It was even possible to cascade it to the CS-1784.

Using the KVM extender together with my KVM setup only enabled me to use computers with DVI or HDMI outputs, and only the latter together with sound. To be able to also use computers with VGA and analog sound, I bought an analog to S/PDIF converter and an S/PDIF + DVI to HDMI converter and reactivated a VGA to DVI converter which I bought years ago. I connected it all in the signal line between the CS-1758 and the CS-1784 and it worked very well, but not the VGA to DVI converter, which only created a weak to no picture.

A friend of mine replaced his HDMI receiver because he thought had problems but found out it was okay after he replaced it, so he gave the old one to me.

I again searched for DVI rack mountable KVM switches and found the IOGEAR GCS-1784. This device is very unique for its ability to switch DVI-I together with analog 7.1 audio, which I found quite impressive, and it would enable me to use 7.1 audio, which did not come to my mind until that time.

All this rose up the idea to have a central audio routing device to connect different signals together the way I needed them: Analog signals from the old computers (2.0, 4.0, 5.1 and 7.1) and S/PDIF from the newer ones. Together with the KVM extender I had, I got the idea to make it possible to convert all audio and video signals to HDMI, and all input devices to USB.

I got some multi switches from some old data switches and bought some new multi switches to build a mechanical audio routing switch, which was planned to switch four stereo inputs, four 7.1 inputs and 6 S/PDIF inputs to the same amount of outputs. Another idea was to buy some mechanical USB switches to route the USB signals between the input devices, the KVM switch and the KVM extender.

At this point, when I was celebrating my birthday party and showed the guests the actual status of my project, and one guest was asking me why I did not automate all the switching. I was so impressed by this idea that I wanted to make it real.

Automate everything to master its Complexity

The first step was to buy some used switchable PDUs to control the switching of all the computers. I chose APC AP7952 (230 V 16 A single phase) for the cabinets, because they are affordable and short, and could easily be integrated because of their C20 mains connectors.

To switch all the devices in my desk and the PDUs in both cabinets I looked for another APC AP7951/2/4 and ended up buying an APC AP7953 230 V 32 A single phase PDU. It cost only half of the price of one used AP 7952, and it has the advantage of two 16 A fused banks, which I could maybe use in the future if I had a 32 A fused connection available, normal wall sockets only allow 16 A. In the meantime I am using it with a 16 A fused connection, which should not be a problem.

For energy saving reasons it is nice to have a main switch for all the electricity, which needs very low standby power, instead of using the desk PDU for this purpose. I was planning to use a Tasmota compatible device controlling a 230 V 16 A relais which can be switched via WLAN and found the Sonoff POW R2, which is able to switch at least 15 A. A better solution would be to have a device which can be controlled by wired ethernet, but the only connection available in my room is the switch output of my VoIP phone, which is used as the uplink by the central switch in my desk, which I would not like to run all the time.

I wired the AP7953 to the Sonoff POW R2 and it worked well at first, but after one or two days the controller of the APC AP7953 was losing its settings and started to behave strangely. Luckily I could replace the controller with a controller of the same type removed from a defective device, and after the swap it worked very nice since then.

Last updated on 16 Jul 2020
Published on 23 Apr 2020
 Edit on GitHub