The Switching Saga

I work from home full time, and for most of that time I’ve used my own personal computer for doing my work – after all, I built it specifically to meet my needs as a developer, with exactly the right combination of processing power, performance, and disk space that I knew I was going to need.

However, recently my company has tightened up their policies, and no longer allows personal device use – instead, they want all employees to use machines that are provided by the company so they can be fully managed by IT. This is certainly understandable, especially in this day and age – while I’ve never had any problems, the same can’t be said of everyone else, and it’s generally not good policy to make exceptions.

So, now I have a company-provided laptop that I need to use to do all my work… so what’s the problem?

The problem is that I still have my personal computer at my desk, along with the 2 monitors and all the USB peripherals (webcam, headset, etc.) which I would like to continue to use. I can’t exactly put my computer away when I’m not using it (it’s a big, heavy tower) and I don’t have the space on my desk or in my office to set up a second “station” of monitors, etc., for my new work laptop. So all of this is going to have to share the same desk, and share the same devices.

The obvious answer to this is a KVM switch – a device specifically made for connecting multiple computers to a single set of devices (KVM standing for “keyboard, video, and mouse”). However, as it turns out my particular situation is not quite so simple.

First off is the fact that I have 2 monitors, not 1. Most KVM switches only switch a single video source, which would not work for me – I need my 2 monitors.

Second off is that I’m not just switching “keyboard, video, and mouse.” I’m actually switching a keyboard, a headset, a webcam, and (technically) a USB hub. So really, what I need is a “dual video and USB” switch.

The final wrinkle is that I’m not switching between two desktop computers – I’m switching between a laptop and a desktop, and the laptop doesn’t have the same outputs/ports as the desktop. So I need a switch that has different inputs for each device – standard HDMI/DisplayPort and USB for the desktop computer, and (ideally) USB-C for the laptop.

In a way, it’s like a combination of a dual-monitor & USB KVM and a laptop “docking station” – and while I certainly could go that route and get a dock for the laptop and hook that up to a (relatively) simple KVM switch, that seems a bit overkill to me… not to mention the absolute mess of cables it would almost certainly be. I’ve already got a bunch of cables what with all my monitors and devices – I don’t want to make it any worse!

Finding a switch that does all of this (dual monitors, USB switching, different inputs) was actually quite difficult – there are precious few companies making exactly this sort of device. However, I was eventually able to find one that would do what I needed.

Anker 553 USB-C dock/KVM

This is the device – an Anker 553 USB-C Docking Station/KVM switch. It connects to my laptop with a single USB-C cable (as a docking station might), but also accepts the HDMI & DisplayPort cables from my desktop, along with a single high-speed USB connection for my desktop. On the output side it has the same HDMI & DisplayPort outputs, along with a couple of USB ports to connect all the downstream devices.

Labeled ports for the Anker 553 USB-C docking station/KVM switch

It also technically has audio output (for headphones), but I’m not using this – as it turns out, my desktop speakers (a pair of Edifier bookshelf style speakers) have dual inputs, so they can take care of the audio side of things on their own.

This switch also has a handy wired “remote” for triggering the switch, so you can keep it tucked out of the way while still having access to the switch trigger.

With all of this, I finally had my perfect setup.

I got a small laptop stand to keep my laptop on top of my desktop (and give it plenty of airflow for cooling), ran everything to a small panel that hangs from the back of my desk and tidied up the cables as best I could (I have a standing desk so I needed some slack in the cables for it to go up & down), hooked everything up and pressed the button.

At first, it seemed to work – it switched inputs from one computer to another, as if I had unplugged everything and plugged it into the other machine. Success! Or, at least, almost… until I went to switch back. My desktop refused to reconnect the USB devices – which was a bit of a problem!

At first I thought it was because I’d daisy-chained too many USB hubs – the switch counts as a hub of sorts, and each of my monitors also has a hub with USB ports on the back. But even unplugging that didn’t help.

Fortunately, I was able to figure out the problem – a setting, buried deep in Windows called “USB selective suspend.” This is intended as a power-saving feature, but on my desktop it really isn’t needed and it was this that was causing the USB subsystem to freak out when reconnecting everything. I disabled it and now the switching works without a hitch!

The only downside to this setup is that it does technically disconnect all of the devices when it switches – so from my computer’s point of view, it goes from having 2 monitors to having none, which causes the display to reconfigure itself each time. So if I have programs open, when I switch and come back they might end up on different monitors when things get re-connected (because Windows isn’t great about remembering which monitor a program was on previously). It also tends to cause my desktop background wallpapers to get confused – but again, a very minor issue.

Overall, I’ve been pretty pleased with this setup so far – and as an unintended bonus, it gives me a hard “switch” for when I “leave work” at the end of the day.

By Keith Survell

Geek, professional programmer, amateur photographer, crazy rabbit guy, only slightly obsessed with cute things.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.