I keep seeing people asking about support for these two devices, so I figured I should provide a status update.
Just so you know, they are basically both the same piece of hardware – em28xx bridge, xc3028 tuner, and drx-d demodulator. The issue preventing it from being supported is the drx-d demod.
With Michael Krufky’s help, I did get the board working in the mainline kernel and am pretty satisfied with the tuning performance. The only big issue remaining is we need to write a firmware extraction script for the drx-d microcode, since we do not have the legal rights to redistribute it.
Now, typically such a script just has to unzip the windows driver and run “dd” against a particular set of bytes in one of the DLLs, writing the output to a file. However, the drx-d firmware format that Henk setup when he wrote the original reverse engineered driver is much more complicated. Like the xc3028 firmware format, the file contains a series of images, and there needs to be a proper encapsulation so that the different images can be found.
To make matters worse, Henk created his file based on a usbsnoop trace (which is perfectly reasonable), and therefore it contains encapsulation that is normally done by the driver (and hence not a part of the binary firmware image stored in the Windows driver DLL).
I’m also not yet confident that the firmware currently shipping in the Hauppauge and PCTV Windows drivers is the same Henk used when he wrote the original support. If it’s different then it is unlikely to work with the driver he wrote. This had me scouring the Internet for ancient versions of the Windows driver (he wrote the support almost two and a half years ago).
In other words, it’s a whole lot more work than is typical for a firmware extraction script. I spent about five hours working on it last night, and it’s pretty clear that more time is required. I’ve had to take the time to fully understand the firmware format used by the Windows driver as well as the encoding scheme Henk used.
I was really hoping this would be a quick project I could knock out in one night, but it turned out to be quite a bit more.
Unfortunately, I can’t make any promises when I will have a tree that users can try out. For me, this is just a side-project I am working on in between consulting projects.