Re: Scanning for TV channels over DVB-T and DVB-T2

From: Marc Gonzalez
Date: Tue Jun 09 2020 - 10:37:01 EST


On 08/06/2020 17:30, Marc Gonzalez wrote:

> Suppose we know that several channels are transmitted on a given frequency
> by terrestrial antenna. However, we don't know if the signal is "encoded"
> (not sure this is the right term) in DVB-T or DVB-T2 modulation.
>
> Do we have to scan the frequency /twice/
> first with DTV_DELIVERY_SYSTEM = SYS_DVBT
> then with DTV_DELIVERY_SYSTEM = SYS_DVBT2 ?
>
> Or is there some optimization where both modulations are handled
> in a single step?
>
> Or maybe it depends on the tuner driver?

Digging a bit deeper...

My system sports a Silicon Labs Si2168 DVB-T2/T/C demodulator

The data sheet states:

"For DVB-T2 and T2-Lite:
DVB-T2 versus DVB-T automatic detection"

"In DVB-T and DVB-T2 reception, parameters necessary for device synchronization
are broadcast in the transmission parameters (respectively TPS and P1 symbol).
When these transmission parameters are found and decoded, the demodulator is
automatically and accordingly configured to achieve full synchronization."


This HW is supported upstream by drivers/media/dvb-frontends/si2168.c
https://elixir.bootlin.com/linux/latest/source/drivers/media/dvb-frontends/si2168.c

I have a nagging feeling because si2168_set_frontend() appears to
behave differently for SYS_DVBT and for SYS_DVBT2...

https://elixir.bootlin.com/linux/latest/source/drivers/media/dvb-frontends/si2168.c#L250
https://elixir.bootlin.com/linux/latest/source/drivers/media/dvb-frontends/si2168.c#L297
https://elixir.bootlin.com/linux/latest/source/drivers/media/dvb-frontends/si2168.c#L345

Maybe setting SYS_DVBT2 would also work for DVB-T transmissions?
(TODO: test that)

Any insight would be greatly appreciated.

Regards.