Many of us will have the problem of several computers on the same desk, and to avoid clutter we’ll use a KVM switch to share the peripherals. [The Turbanned Engineer] has an interesting solution to this problem in the form of a USB triplexer. It’s a device that routes USB data lines depending upon which of its connections is powered up.
The circuit is simple enough: a CMOS analogue multiplexer does the routing, and a set of opto-couplers do the selecting based on the power inputs. A set of USB A sockets connect to the computer, and a USB B socket connects to the peripheral.
We’re not entirely sure whether an analogue multiplexer chip would be good for the higher-speed USB data rates, but since keyboards and mice talk at the slowest data rates, we think he’ll get away with it. Either way making a USB switch however basic with such mundane components has something of the hack about it. What he does with the display we’re not so sure about, but at least his keyboard and mouse woes are dealt with.
Other similar switches we’ve featured have been somewhat more basic.
Hi Jenny, it seems from the linked article that the B type ports go to the computers and the A ports are where peripherals are plugged in (seems to be backwards in your description)
I have a (commercially made) HDMI triplexer that works on the same principle – one output to TV, three inputs from devices, and whichever device powers on most recently is what gets displayed (and when it powers off, display reverts to the #1 device). Handy for sharing a port where the devices are usually off unless used (e.g. DVD player, game console; my always-on media player is on port #1). Could really easily pair with this device to drive an HDMI display from whichever computer is on and getting mouse+kb.
While I’m always happy to applaud a clever hardware hack, and having built a similar device in the pre-USB era, doing this in software is as easy as downloading Synergy, which lets you use a single kbd/mouse across many machines. I use it at my desk to switch seamlessly between 5 different computers and 3 OS. It JFW. Disclaimer: I’m nothing but a happy Synergy user, no financial interest.
Barrier (https://github.com/debauchee/barrier) is a great open source alternative to Synergy. I use it between Linux and Windows machines every day.
barrier + x11vnc ftw
I’ve been using this combo with a Sony P11Z for more than a decade now. Whenever the cat climbs the table, i just close the lid on the keyboard. Extending the desktop on a small extra display is just as awesome.
Thank you so much for pointing me to barrier. I’ve been using (open source) synergy for years and was very happy with it – until I wanted to update my mac to catalina…
I just installed barrier on my mac, win10, win7 and linux box and it works as expected. So glad!
Another happy Synergy user here: 2~5 machines also with different OSes.
And copy/paste text between machines, is something that no cheap hardware solution can do.
Software solutions are great in some cases, but when you have 3 computers on 3 different network (not connected to each other), this is a good tool. Moreover when you are not admin of 2 of them, and thus can’t install / run what you want on them.
I agree, hardware is better than software. My work and home laptops live side by side on my desk, but work VPN and lack of admin rights makes a software solution impossible. I have a commercial USB a-b switch to swap the keyboard/mouse back and forth. I built a simple audio source switch with some trrs jacks and a latching switch.
Indeed in my case I got a HDMI and USB KVM selectable IO switch because I needed to be able to put the machine I am working on up on the big screen and use my normal keyboard – my desk has been at various times overloaded with my old 122 key terminal keyboard and 2-3 model M with usb adaptors and the the stack of half working systems. Which made working on all the systems I end up doing stuff with at once possible, but…
If you end up waiting several hours on a system you can perhaps unplug the keyboard and mouse and leave it be, but when playing tech support to systems with many tasks take substantial time to process, but not that long that you can just leave it all day/overnight…
The software solutions are great for your personal fleet, or if its standard practice for whomever you work for. But they don’t remove the need for hardware solutions entirely.
Synergy is great. It not only lets one keyboard control many computers, it also allows many computers to control one computer at the same time (with some command line tricks). It’s very versatile.
Can’t be done by software alone must have a hardware connection to the computers
If you like synergy… Check out acrosscenter. Does what synergy does, but can also emulate a bluetooth kb/mouse. So you can use it to connect to your phone, tablet, or laptop wirelessly without software on the device (if you can use the device’s display). Best $100 I ever spent.
There are a lot of devices that will use a USB device that don’t have synergy or barrier ports. E.g., oscilloscopes, transceivers, etc.
I have always wondered if a regular switch would work for this. I have a old printer switch that could work for this. What am I missing besides it would not be automatic?
Could you be missing… The headache of it being automatic when all three are on at the same time?
I’ve used KVMs that used a mechanical dial for selection to nice digital ones repairing computers so I could alternate between 5 computers (never needed more than that though. I thought, that’s alot of effort for just 3, last time I looked… (looks again), holy crap! $30 for a 2x KVM and then it jumps to $160 for 4x… OK I get it. I’d still just use 2 2x KVM switches and hit two buttons instead though
I worked a contra t job at a nuclear site. Had to image 16 computers by the next day. Had a 4 port kvm, the guy who was in the office next to me had a 8 port kvm. That 8 port wouldve saved me 6 hours…
I TeamViewer between machines but they are all windows boxes.
“Weβre not entirely sure whether an analogue multiplexer chip would be good for the higher-speed USB data rates, but since keyboards and mice talk at the slowest data rates, we think heβll get away with it. ”
Not sure about that statement: the CD4052 he used has a bandwidth of 25MHz and the drop-in replacement XMUX4052 has a bandwidth of 500MHz. Seems plenty enough?
USB2 400Mbps mode would probably need at least twice that, for its signal to pass relatively unarmed…
unharmed
I still haven’t seen anyone publish a cheap design or device that could be used as a USB filter. You may get want to let a customer plug in a USB key so you could read a picture off it, but block attempts to plug a keyboard in via that port. Or protect the customer’s key by refusing to let the system issue write operations to it no matter how corrupted the main system is.
I know there are “forensic” tools which do this, but they’re at a high price point, assuming that anyone who buys them is going to charge _their_ customer high enough fees to cover that cost. Seems to me that this should be doable much less expensively if all you want is to filter, not analyse, perhaps with nothing more than a Pi if you’re willing to accept a bit of latency…?
USBIP is a thing, share USB devices over a TCP/IP connection, and there is code to do it using an ESP32 so basically any USB device and ESP32 can emulate or act as a bridge for can then be mounted by a remote machine as if it was a local device. Also keep in mind that up to 127 devices can sit on a single USB port real or virtual so keyboard and mouse can use a single USBIP ESP32 bridge.
Can you make a device driver so that you can control it with a taskbar icon?