Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
In my experience this support was rare. I had an issue a few years ago with multiple USB 3 cameras (Intel Realsense) on a mobile robot that would periodically freeze up and need to be hard-reset, and a power-controllable hub seemed like the least-bad way to hack around it. I found my way to this tool, with its convenient list of compatible hardware:
https://github.com/mvp/uhubctl
Of the USB 3 options on the list, several were EOL or impossible to find, and when I ordered one each of the remainder, there was only one I could get working, and it wasn't reliable about being able to reset a device that had frozen to the point where Linux no longer had sysfs entries for it.
We ended up instead using a hub with an internal jumper to disable bus power, and then putting the self power line through a separately-controllable relay.
Last year I bought a second computer for my music studio. I wanted to use the same set of 2 monitors and wired keyboard + trackpad on both machines.
I wrote simple scripts to switch my monitor inputs with keyboard shortcuts (even simpler with Lunar, amazing new Mac app — https://lunar.fyi), which saved me from having to press annoying input-source buttons.
But I couldn't for the life of me find a simple, suitable software controllable KVM switch. That still requires the hardware button to be controlled, so frustrating.
I wonder if it supports software control? I haven’t messed with this in a long long time, but here’s a C program for controlling USB port power via software.
It works on a pretty limited set of hubs, because most cheap out on including the switches.
https://github.com/codazoda/hub-ctrl.c
Isn't that functionnaly the same as Synergy (which was opensource but isn't anymore), and it's opensource fork Barrier (https://github.com/debauchee/barrier) ?
I don't really see those as issues... The hub chip is cheap and doesn't directly do i2c, but, so ? Controlling VBus seems to be by design, exactly for devices that are separately powered to still work: see author's other project https://github.com/JimHeaney/usb-toggle . There should be a way to block further communication at the software level if that matters to one's use case. You can expand this, just plug a bunch of them into another hub...