An exploded view render of a red 3D printed case with a green PCB is inside with visible USB-A connectors with a mouse and keyboard graphic above each and "A" and "B" labels above USB-C connectors on the other side.

Building A Better Keyboard And Mouse Switch

Switching inputs between desktops seems like something that should be simple but can prove to be a pain in reality. [Hrvoje Cavrak] decided to take matters into his own hands and build a better keyboard and mouse switch.

DeskHop is built from two Raspberry Pi Pico boards connected via UART and separated by an Analog Devices ADuM1201 dual-channel digital isolator. Through the magic of Pico-PIO-USB these RP2040s can be both host and device. To keep things simple, the PCB is single-sided, and the BOM only has five distinct components.

Once hooked up to your Windows, Mac, or Linux device, your mouse pointer “magically” goes from one screen to the other when dragged across the screen edge. Keyboard LEDs can be reprogrammed to indicate which device is active, and the real beauty of the device is that since it’s a hardware solution, you don’t have to install any software on a computer you might not have admin access to.

If you want to see some more ideas for keyboard and mouse switching, check out this Pi KVM with ATX signaling, this USB triplexer, or this Pi KVM on a PCIe card.

This Week In Security: Terrapin, Seized Unseized, And Autospill

There’s a new SSH vulnerability, Terrapin (pdf paper), and it’s got the potential to be nasty — but only in an extremely limited circumstance. To understand the problem, we have to understand what SSH is designed to do. It replaces telnet as a tool to get a command line shell on a remote computer. Telnet send all that text in the clear, but SSH wraps it all inside a public-key encrypted tunnel. It was designed to safely negotiate an unfriendly network, which is why SSH clients are so explicit about accepting new keys, and alerting when a key has changed.

SSH uses a sequence counter to detect Man-in-the-Middle (MitM) shenanigans like packet deletion, replay, or reordering. That sequence isn’t actually included in the packet, but is used as part of the Message Authentication Check (MAC) of several encryption modes. This means that if a packet is removed from the encrypted tunnel, the MAC fails on the rest of the packets, triggering a complete connection reset. This sequence actually starts at zero, with the first unencrypted packet sent after the version banners are exchanged. In theory, this means that an attacker fiddling with packets in the pre-encryption phase will invalidate the entire connection as well. There’s just one problem.

The innovation from the Terrapin researchers is that an attacker with MitM access to the connection can insert a number of benign messages in the pre-encryption phase, and then silently drop the first number of messages in the encrypted phase. Just a little TCP sequence rewriting for any messages between, and neither the server nor client can detect the deception. It’s a really interesting trick — but what can we do with it?

For most SSH implementations, not much. The 9.6 release of OpenSSH addresses the bug, calling it cryptographically novel, but noting that the actual impact is limited to disabling some of the timing obfuscation features added to release 9.5.

Continue reading “This Week In Security: Terrapin, Seized Unseized, And Autospill”

PCIe For Hackers: External PCIe And OCuLink

We’ve seen a lot of PCIe hacks on Hackaday, and a fair few of them boil down to hackers pulling PCIe somewhere it wasn’t meant to be. Today, we routinely can find PCIe x1, x2 and x4 links sitting around in our tech, thanks to the proliferation of things like NVMe SSDs, and powerful cheap SoCs that make PCIe appear at your fingertips.

In the PCIe For Hackers series, we’ve talked about PCIe and how cool it is, all the benefits it has for hackers, gave you layout and interconnection rules, and even went into things like PCIe switches and bifurcation. However, there’s one topic we didn’t touch much upon, and that’s external PCIe links.

Today, I’d like to tell you about OCuLink – a standard that hackers might not yet know as an option whenever we need to pull PCIe outside of your project box, currently becoming all that more popular in eGPU space. Essentially, OCuLink is to PCIe is what eSATA is to SATA, and if you want to do an eGPU or an external “PCIe socket”, OCuLink could work wonders for you.

Respectable Capabilities

Just like any high-speed standard, PCIe has some tight requirements when things get fast. Even though PCIe is known to be not as sensitive to lower-quality links due to its link training and generation downgrade abilities, at higher link speeds, even through-hole vs SMD sockets can make a difference. So, if you want to go high-throughput, you want proper cabling and connectors, intended for out-of-chassis use – and OCuLink gives you all of this, at a low price.

Continue reading “PCIe For Hackers: External PCIe And OCuLink”

Cheap Computer PSU Puts On Weight With Box Of Iron

Humans are funny creatures. For whatever reason, when handling a piece of electronics, we tend to equate heft with value.  If something feels too light, it gives the impression of being cheap or inferior. As such, it’s not unheard of for gadgets to include a little chunk of metal that serves no purpose other than to add weight.

But a recent discovery by the aptly named [RedditCringe990] really takes things to a new low. Upon opening up the cheap power supply that came with their computer case, they noticed an odd little box that didn’t appear to have any electrical connection to the rest of the device. After unscrewing it from the metal body of the power supply and pulling the bottom panel off, they found it was packed full of iron filings.

At some level, you have to appreciate the attention to detail here. At first glance, especially if you were peeking through the PSU’s air vents, you could be forgiven for thinking the box was some kind of transformer. It’s even got some alphanumeric gibberish written on the side to help complete the look. Makes us wonder how many of these things might actually have gone undetected by less curious PC-builders.

As you might expect, the weighted box is only one of the issues with this particular PSU. As pointed out by fellow Redditor [Hattix], even the functional components are worthy of suspicion. There’s no protection on the input or output, no safety capacitor, and (unsurprisingly) no regulatory marks.

We’d say the thing might still be useful as a boat anchor, but now that the box of iron fillings has been removed, it’s probably not even heavy enough. Stay safe out there, folks.

A Single Board Computer, With Vacuum Tubes

We have occasionally featured vacuum tube computers here at Hackaday and we’ve brought you many single board computers, but until now it’s probable we haven’t brought you a machine that combined both of these things. Now thanks to [Usagi Electric] we can see just such a board, in the form of his UE-0.1, a roughly 260 by 210 mm PCB with 24 6AU6 pentodes on board that implements a simple one-bit CPU.

The architecture starts with the MC14500B 1-bit microcontroller, which was the subject of a previous vacuum tube computer. People found the unusual architecture difficult to understand, so this board is an even simpler take. It doesn’t have all the features of the Motorola original but it is (just) enough to be a CPU.

The tubes are arranged in groups of four with heaters in series from a 24 V supply, while the inputs and clock come in the form of on-board suitably retro-looking switches. The final touch is a VFD of the type used in bar graphs, were used to show the state of the various bits. It’s a fully working computer in the simplest sense, and definitely worth a look in the video below the break.

It would be interesting to see whether the tube count could be reduced further, or is this a record. The number of physical devices could be cut by using tubes with more than one device in them such as double-triodes, but perhaps that would be cheating.

Meanwhile, if you think vacuum computing is all about the old stuff, perhaps you should look at the state of the art.

Continue reading “A Single Board Computer, With Vacuum Tubes”

Mini Meters Monitor Microprocessor Maximization

[Lex] over at Computing: The Details loves to make fun projects. Recently, they have created a hardware CPU monitor that displays how PCs are parallelizing compile tasks at a glance. The monitor is built from 14 analog meters, along with some WS2812 RGB LEDs.

Each meter represents a core on [Lex]’s CPU, while the final two meters show memory and swap usage. The meters themselves are low-cost 5 mA devices. Of course, the original milliamps legends wouldn’t do much good, so [Lex] designed and printed graduations that glue over the top. The RGB LED strip is positioned so two LEDs fit under each meter. The LEDs allow a splash of color to draw attention to the current state of the machine. The whole bank going red would sure get our attention!

The system is controlled by an Arduino Mega, with the meters driven using the PWM pins. The only extra part is a 1 kΩ resistor. The Arduino wrangles the LEDs as well. Sadly [Lex] did not include the software. They did describe it though. Basically they are using a Rust program to call systemstat, obtaining the current CPU utilization data in Linux. A bit of math converts this into pointer values and LED colors. The data is then sent via USB-serial to the Arduino Mega. The software savvy will say it’s pretty easy to replicate, but the hardware-only hackers among us might need a bit of help.

This isn’t the first custom meter we’ve seen on Hackaday. Your author’s first project covered by Hackaday was for a meter created using an automotive gauge stepper motor. I didn’t include source code either – but only because [Guy Carpenter]’s Switec X25 library had me covered.

Continue reading “Mini Meters Monitor Microprocessor Maximization”

A Handheld Hackintosh, But So Much More

As handheld computing has solidified alongside everything else into the mobile phone, it’s sad that the once promising idea of a general purpose machine in the palm of the hand has taken a turn into the dumbed-down walled-garden offered by smartphone vendors. There was a time when it seemed that a real computer might be a common miniaturized accessory, but while it’s not really come to pass, at least [iketsj] has taken a stab at it. His handheld Hackintosh runs MacOS on a miniature scale, and looks rather nice.

At its heart is the LattePanda Alpha x86 single board computer, with a small custom expansion board  for a couple of buttons, a USB hub, a small keyboard, and a display. These parts are all mounted to a baseboard with metal stand-offs, and the power is sourced from a single USB-C socket at the bottom edge. What makes it more extraordinary is that it’s not the first handheld Hackintosh from this maker, the previous one being significantly bigger.

On one hand then, this is home-built PC like any other, assembled from off-the-shelf-parts. But on the other it’s far from normal, for despite its simplicity it forms a very usable small form factor device. The Akruvia Una keyboard uses tactile switches so maybe it’s not the machine to type your thesis on, but other than that it makes a great little machine for MacOS, Linux, or Windows. We like it, and we think you will too when you see the video below the break.

Continue reading “A Handheld Hackintosh, But So Much More”