The PCTV 340e is one of those unfortunate situations that I (Devin Heitmueller) personally take alot of criticism over. About two years ago I bootstrapped the driver, got it working with the hardware, but then never got around to cleaning up the code enough to get it upstream. This has resulted in the HG tree I created to fall behind current kernels, as well as people being frustrated that the work isn’t available in the upstream kernel where they wouldn’t have to recompile my driver every time they do a kernel update.
While I generally strive to get my changes upstream so that they help out the maximum number of people, this is a case where I clearly failed. I invested between 30-40 hours bringing up the device. This included:
- Negotiating with Xceive Inc. to get access to reference driver code as well as firmware redistribution rights that would allow inclusion in Linux distributions.
- Working with DibCom to identify, understand, and workaround bugs in the dib0700 chip’s i2c implementation
- Working with PCTV Systems to get sample devices as well as engineering details about their specific hardware implementation.
- Using the above information to actually write a driver which works, and test it under a variety of signal conditions. This included dealing with the fact that I’m actually not in a country that receives DVB-T, so I had to use a signal generator instead.
Most of this effort occurs in private emails with the vendors and is largely invisible to users who just want their device to work. However it’s a necessary evil if the intention is to deliver a driver which actually works and that can be used by regular users.
I’m happy to say that in the last 24 hours, there has been renewed interest in getting the driver upstream. This includes other developers contributing to take my patches, do the cleanup needed, as well as extending the xc4000 driver to support analog tuning (something which is useful for the driver in general but won’t help for the 340e in particular for other reasons).
I look forward to seeing this work in the mainline kernel, and would like to thank those who are actively contributing to making this happen (both in development as well as testing):
- Istvan Varga
- Mauro Carvalho Chehab
- Dmitri Belimov
- Mohammad Bahathir Hashim
If you’re a 340e user who wants to help out, you should try out the tree that is actively being developed and report in your feedback on the linux-media mailing list.