As another comment has pointed out, the flaw was the firmware on the cameras. Canon 60D and 600D were the two models I was using and they were so lible to freezing (i.e. stop responding on USB or to button presses on the camera) that I had to set up a relay on the tethered power supply to be able to hard reset them from time-to-time. I'm 100% sure libgphoto2 wasn't to blame because I also used a tethered capture tool from Canon on windows and that also suffered from the same symptoms.
Great library though and great maintainers!
I’ve found that libusb has some useful tools for working around this kind of problem. There is a useful CLI tool for resetting individual ports on some hubs (https://github.com/mvp/uhubctl) which makes good use of this feature. May not fix everything but works for most use cases.
Is remote camera control the main use case now? Are there other use cases?
Edit: The Entangle link in this discussion appears to support this assumption.
I'd say switching comes down the switch's goal and how committed you are to that goal versus how committed you are to your current workflow. At the level of mouse movements, switching means abandoning your LightTable workflow and making a new one in Darktable. At the level of tooling, switching means finding equivalent tools and/or combinations of tools to achieve your photographic results...or living without some LightRoom tools. At the high level, the proof is in the print.
It might be worth watching some of Bruce Williams Darktable tutorials on Youtube. https://www.youtube.com/channel/UCkqe4BYsllmcxo2dsF-rFQw
As much as I find Adobe distasteful, it's a much, much smoother experience. If you don't mind hacking away to find a workflow that works for you, you'll get similar results out of open source tools -- but the path to those results is much longer.
The archive is independently backed up and remains a pristine home for all my digital negatives, without the risk of me annihilating things in digiKam/Darktable, which I am wont to do ;).
When the online backup disk is full, I archive it and buy another. Likewise with the SD cards from the camera, I shoot until they are full and then archive them. I don't delete images off of them and replace them when full. I treat SD cards as a consumable...like film.
For example: you shoot a photo, then the camera sends it via USB to the host. Takes multiple seconds, instead of just saving it to the SD-card. No queuing either, so you need to wait before shooting again.