Jump to content


elpetro

Member Since 24 Mar 2015
Offline Last Active 24 Mar 2015 21:49
-----

Posts I've Made

In Topic: [ETxx00] PCTV nanostick T2 290e fully working (DVB-T + DVB-T2)

24 March 2015 - 19:55

Finally yesterday night I managed to fix the PCTV 290e driver in order to make it working also in DVB-T mode (DVB-T2 was already working as discussed in the old thread).

I spent quite a bit of time comparing logs, inserting debug code and dumping registers everywhere in the em28xx and cxd2820r driver modules.

In the end, in DVB-T mode the 290e was not able to acquire the lock on the channel due to timing issues. In fact, increasing the wait time from 50 to 200ms in the tuning loop was enough to get the lock on any channel. But channel change was quite slow and sometimes, doing an automatic scan, a frequency was not scanned properly (again for timing issues). So instead of playing with the timings I changed the condition to exit the wait loop from "HAVE_SIGNAL" to "HAVE_LOCK". I think this was the original intention of the driver author (I've asked his feedback on this point).

With this modification, channel scan is 100% reliable and channel change is really fast.

But there was a further issue: a few weak channels were plagued by high BER and badly corrupted pictures. The same channels were working fine on the A867 stick, so I tried to improve the reception.

I noticed that the driver has an option to enable a "Low Noise Amplifier" (LNA) before the demodulator. This LNA is enabled by default for DVB-T2 and DVB-C, but it was disabled for DVB-T.
So I tried to enable it and the reception of weak channels improved a lot!

I collected some data:

LNA OFF:

MUX AGC BER picture

RAI mux 4 72% 32000 corrupted
TIMB 2 75% 14 OK
TVA Vicenza 68% 32000 corrupted
TV7 77% 0 OK
RETE CAPRI 69% 0 OK <------- QPSK modulation!
RAI mux 2 78% 14 OK

LNA ON:

MUX AGC BER picture

RAI mux 4 73% 1500 OK
TIMB 2 76% 0 OK
TVA Vicenza 69% 0 OK
TV7 78% 0 OK
RETE CAPRI 70% 0 OK <------- QPSK modulation!
RAI mux 2 79% 0 OK


So it's clear that the LNA is very useful also for DVB-T reception and should be enabled by default.

In attachment you can find 3 patches. The first one is a collection of all the changes in the em28xx/cxd2820r/tda18271 drivers from kernel 3.1.0 to the latest linux-media drivers available (due for integration in Linux 3.2.0).
This patch adds also support for the PCTV 460e DVB-S2 USB stick. In fact I was too lazy to cherry-pick only the changes relevant to the PCTV 290e, so I just took all changes related to em28xx and dependent drivers. I have no idea if the driver is working or not since I don't have that stick.
The other 2 patches apply the 2 modifications described above (fixed wait loop exit condition and LNA enabled by default).

I think it's better to keep the 2 extra patches separated for the time being, as I don't know if and when they will be integrated in the kernel. I will propose them to the driver author and on the linux-media mailing list.

I'm also including a zip package with the modified modules already compiled (for ET9000).

How can I install this? I am running the latest OpenPLi on my vu duo 2