2014-09-21

Linux DVB-T2 tuning problems

Linux DVB-T2 tuning problems

Quite many people have reported some sort of DVB-T2 tuning problems, in case of PCTV tripleStick (292e). DVB-T2 is broadcasting standard and it is many times called as a HD, even though technically HD and DVB-T2 are a bit different thing. Many have noticed that old PCTV nanoStick T2 (290e) appears to tune DVB-T2 channels on same configuration, whilst tripleStick not. That is because cxd2820r demod driver behind the nanoStick T2 does automatic switching from DVB-T to DVB-T2 and vice versa when requested TV standard does not lock (tune fails). So if application tries to tune DVB-T2 channel using DVB-T request, driver first tunes using DVB-T standard, then detects it does not work, then driver makes another tuning attempt using DVB-T2 standard and finally it succeeds. Application could not even know it is actually using DVB-T2, unless it does not check it after the successful tuning.

I made cxd2820r driver over three years ago, and it went eventually Kernel 3.0 (released 21 July 2011). It was very first chip and driver supporting DVB-T2. Because of that I decided add this kind of hackish solution to driver, in order to provide easy transfer to new technology. However, I decided not to do same for si2168 driver as I simply want get a rid of such hacks. Three years time to update apps should be enough :)

I don't know very well which apps supports DVB-T2. I use VLC to watch TV and at least it supports, has been supported many years. Another very popular app which supports DVB-T2 is w_scan, starting from version 20140727. Also all dvbv5 tools from v4l-utils supports it. Newer the v4l-utils package the better support is - a lot of improvements done recently.

If you know DVB-T2 support status of some other app, please add a comment.

I took three scan examples. First two are w_scan examples, one is using old PCTV 290e and another is taken with newer 292e. w_scan verbose switch is enabled in order to show how w_scan detects wrongly tuned channels in case of cxd2820r driver. Last output is taken from dvbv5-scan.

I can receive 4 DVB-T and 5 DVB-T2 multiplexes. All relevant information could be seen following input file I used for dvbv5-scan on last example.

mux-Oulu-t-t2, input file for dvbv5-scan



PCTV 292e w_scan (si2168 driver)



PCTV 290e w_scan (cxd2820r driver)



PCTV 292e dvbv5-scan (si2168 driver)