Just don’t ask why, really, but (under the influence of my wife) we bought a AverMedia Hybrid (DVB-T + Analogue) + FM Radio USB 2.0 box. It’s a nice little USB device, and it also has composite and s-video input, audio input, and a remote control.
And of course it works under that proprietary . Then we realized it has rather serious issues with the composite-in being a bit slow (both slow frame rate and sometimes laggy).
As a Linuxer, naturally I then tried the device under Linux. Only just halfly expected, there is no driver for Linux yet. That’s no better way to spend your holidays overseas? I decided to spend a little on looking into the possibility to reverse engineer the windows driver.
Doing things on windows is always painful. Though I got one of the windows USB sniffer working, it wasn’t as convenient as doing things on Linux. So I went for using QEMU booting into windows and capture all the USB traffic. Unfortunately, windows (xp) crashes (classic BSOD style) while installing the device driver. I thought for a second, maybe it’s QEMU not emulating something that is needed?
Someone on #bochs pointed me to VirtualBox, so I gave it a go. Still out of luck though, windows xp crashes at the exact same spot. Damn.
On the bright side, I have discovered VirtualBox – yet another virtualizer for x86 hardware, and it’s pretty awesome:
- (On this Pentium M 1.6GHz laptop) VirtualBox is much much faster than QEMU (with kqemu) for, well, running windows xp.
- It has a GUI frontend for setting up VMs. As much as I prefer text/command-line based apps, a GUI frontend does help new users to try things out a lot.
Having said that, VirtualBox (currently anyway) is not entirely open source. It has two editions. And the version I tried was the one with those closed-source features. On the other hand they did say “some of these features will eventually be made available with the open-source version as well”.
So, no, I didn’t go very far with the reverse engineering. It’s usually a painful and time-consuming process. I did have some of the USB traffic sniffed and logged under windows, but I haven’t done much with them yet.
I have some more photos and info of the device here, including photos of it pulled apart.