< Back to Posts

Yepkit USB Switchable Hub

Joe Ellis


I thought this was a cool product, so here I am writing a post about it.

Some background: I had an issue at work where a USB device plugged into a server would sometimes lock up and need a hard power-cycle. In the office, this is a minor inconvenience; you can physically unplug the device and re-plug it in a matter of seconds. But because of COVID-19, nobody’s in the office – so this is no longer an option.

I thought that it might be possible to remove power to a single USB port on the machine (or even remove power to the entire USB subsystem) for remote power-cycling. However, this isn’t as easy as I thought it might be. Most USB hubs don’t support this.

Even warm rebooting the server remotely doesn’t work, because power to peripheral devices is never interrupted.

So, after some Googling I found this: Yepkit USB Switchable Hub. It’s a USB hub that lets you control power to each of its ports. The control application is on GitHub here. It makes use of libusb for Linux builds and hidapi for Windows. I’ve had a cursory glance through the code and it’s pretty clean. It’s super easy to integrate this driver into your code as you see fit.

They have a few other nice products, too, like a single-port switchable hub if you don’t need all the extra ports. Check out their homepage for more.

If anybody else is grappling with the problem of remote power-cycling, this solution might work for you.