I recently found some USB devices on eBay (Epiphan VGA2USB LR) that could take VGA as input and present the output as a webcam. Given that I was keen on the idea of not needing to lug out a VGA monitor ever again and there was claimed Linux support I took the risk and bought the whole job lot for about lb20 (25 USD).
When they arrived, I plugged one in under the expectation that it would come up as USB UVC Devices but they did not. Was I missing something?
Turns out that he was, and that was the start of a rather wild ride.
That is an excellent article Thom!
It touches on some aspects of kernel development that I’ve never done myself and it would prove a useful guide if I ever find myself in a similar boat as the author.
I’ve once reverse-engineered the protocol for controlling the RGB LEDs in a mechanical keyboard (HyperX) using USB traces from the Windows control software. User-mode LIBUSB.
Treza,
While esoteric hardware can be a problem, a bigger issue IMHO is with new mainstream hardware. My new system has a corsair usb fan controller for AIO pump. It’s rather annoying that they don’t provide any linux support. I cannot adjust the speed curves (or the leds for that matter), but at least the defaults seem good enough. I don’t have windows on this machine and installing it just to reverse engineer the windows driver doesn’t seem worth the effort. Maybe I could reverse engineer the corair driver in a VM, but I probably won’t get around to it.
A bigger problem for me is the gigabyte motherboard’s GPIO controller is not supported by linux and neither sensors nor fan control work properly under linux. The kicker is that the author already developed a fix, but unfortunately both ubuntu and linux upstream sources are distributing an obsolete driver with no apparent plans to merge the new ITE driver.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1740736
There is benefit in buying a turnkey linux computer from a specialized linux system builder if you can afford it, everything should work out of the box with no fussing around.