public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Josef Wolf <jw@raven.inka.de>
Cc: linux-media@vger.kernel.org
Subject: Re: SYS_DVBS vs. SYS_DVBS2
Date: Wed, 19 Dec 2018 12:11:17 -0200	[thread overview]
Message-ID: <20181219121117.0a942d85@coco.lan> (raw)
In-Reply-To: <20181219121649.GK11337@raven.inka.de>

Em Wed, 19 Dec 2018 13:16:49 +0100
Josef Wolf <jw@raven.inka.de> escreveu:

> Thanks for your response, Mauro!
> 
> On Wed, Dec 19, 2018 at 09:22:11AM -0200, Mauro Carvalho Chehab wrote:
> > Em Wed, 19 Dec 2018 11:28:46 +0100
> > Josef Wolf <jw@raven.inka.de> escreveu:  
> 
> > > I would like to know how to know whether for a specific program SYS_DVBS or
> > > SYS_DVBS2 should be specified to the FE_SET_PROPERTY ioctl() call.  
> > 
> > This is not specific to a program. It affects the hole transponder. Either
> > the transponder is DVB-S or DVB-S2.  
> 
> Yes, I'm aware of it. In my question I meant: when I want to tune to some
> program, I need to set the SYS_DVBx property in addition to the other tuning
> parameters (like frequency, polarization, FEC etc/pp)
> 
> > > Is this somehow broadcasted in some PAT/PMT tables?  
> > 
> > It is at the NAT tables. They contain all needed information to properly
> > tune into the transponders. There are different tables, depending if the
> > transponder is -S or -S2.  
> 
> OK.
> 
> > > Or is it possible to simple always specify SYS_DVBS2 and the kernel will
> > > manage the backwards compatibilities when a DVB-S transponder is specified in
> > > the tuning parameters?  
> > 
> > The Kernel can't and shouldn't guess the tuning parameters. It depends
> > on userspace to parse the NAT tables and get it right.  
> 
> It is pretty much obvois to me that the kernel can't guess tuning parameters
> like diseqc-sequence, polarity, frequency and symrate. This is because the
> kernel needs those parameters to get a signal at all.
> 
> But, on the other side, there are lots of parameters that the kernel (or
> hardware?) _can_ guess: INVERSION_AUTO, FEC_AUTO, QAM_AUTO just to name some.

The Kernel implements only INVERSION_AUTO. The rest is implemented by
the device itself, if it has support for it.

> So what' so special about SYS_DVBS/SYS_DVBS2 that it has to be handled
> differently from those other parameters?

DVB-S2 adds a lot more parameters, including the possibility of using
different modulations (QPSK, 8PSK, 16APSK, 32APSK). DVB-S was just QPSK.

The rolloff parameter also can be changed. DVB-S was just 0.35. On
DVB-S2 it can also be 0.20 and 0.25. That affects frequency filtering.

It even allows to have multiple MPEG-TS streams inside a physical
transponder, each with a separate ID. 

If, for example, there are multiple streams, neither the device nor 
the Kernel could know what ID would contain the MPEG stream that
the user wants.

It may also use a scrambling code, with requires userspace to
pass the gold code, in order to de-scramble it.

So, if the transponder is using those extra features provided by
DVB-S2, the device has to know how to properly tune transponder and 
how filter/de-scramble the transport stream that contains the program
the user wants.

It is worth to say that DVB-S2 is a superset of DVB-S. If your
tuner can do DVB-S2 and you want to tune to a DVB-S transponder,
provided that you properly fill all DVB-S2 properties to match
a DVB-S channel (rollback, modulation, ...), in thesis[1] you could
use SYS_DVBS2 as delivery system.

[1] In practice, I'm not so sure, as this is something that
developers don't usually test. Both userspace apps and Kernelspace
don't assume that. So, it is not warranted to work.
I guess that, if one uses SYS_DVBS2 to tune, the results will vary
from driver to driver. Things like gold code and PLS ID, if set wrong,
could prevent the channel to tune.

Thanks,
Mauro

      reply	other threads:[~2018-12-19 14:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-19 10:28 SYS_DVBS vs. SYS_DVBS2 Josef Wolf
2018-12-19 11:22 ` Mauro Carvalho Chehab
2018-12-19 12:16   ` Josef Wolf
2018-12-19 14:11     ` Mauro Carvalho Chehab [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181219121117.0a942d85@coco.lan \
    --to=mchehab+samsung@kernel.org \
    --cc=jw@raven.inka.de \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox