Re: How to use "DTV_FE_CAPABILITY" command for Frontend.h of Linux DVB

From: Mauro Carvalho Chehab
Date: Thu Jul 15 2021 - 03:59:43 EST


Em Fri, 9 Jul 2021 23:47:39 +0800
YP WU <yp.wu@xxxxxxxxxxxx> escreveu:

> >From: YP WU <yp.wu@xxxxxxxxxxxx>
> >>To: <mchehab@xxxxxxxxxx>
> >>Cc: <Jason-BF.Huang@xxxxxxxxxxxx>, <Lecopzer.Chen@xxxxxxxxxxxx>,
> >> <francis.lee@xxxxxxxxxxxx>, <gustavoars@xxxxxxxxxx>,
> >> <hverkuil-cisco@xxxxxxxxx>, <leo.hsiao@xxxxxxxxxxxx>,
> >> <linux-kernel@xxxxxxxxxxxxxxx>, <linux-media@xxxxxxxxxxxxxxx>,
> >> <yp.wu@xxxxxxxxxxxx>
> >>Subject: Re: How to use "DTV_FE_CAPABILITY" command for Frontend.h of Linux DVB
> >>Date: Fri, 2 Jul 2021 17:28:34 +0800
> >>Message-ID: <20210702092834.11699-1-yp.wu@xxxxxxxxxxxx> (raw)
> >>In-Reply-To: <20210623093312.6f9883a5@xxxxxxxx>
> >>
> >>Hello, Mr.Mauro,
> >><I need to understand more about the use case.
> >>-> About use case, I describe below:
> >>
> >> For our design of kernel, demod/tuner and LNB are registered to different frontend device nodes.
> >>We want to implement property command to know if the frontend device node is LNB device or demod/tuner device.
> >>If it is LNB device node, the value would return true
> >>If it is demod/tuner device node, the value would return false.
> >>
> >>Do you have better idea or suggestion for our usage?
> >>Please let me know if your have better suggestion.
> >>Very thank you for your help.
> >>
> >>BRs,
> >>YP
>
> Hello, Mr.Mauro,
> Frist of all, thanks for your reply.
> Based on previous discussion, we think we can create a new property command to achieve our goal.
> A new property command "DTV_FE_LNB_CAPABILITY".
> We can use "FE_GET_PROPERTY" with case "DTV_FE_LNB_CAPABILITY" to get LNB capability.
> We also should add a new variable named "LNB_capability" in dtv_frontend_properties. Like below:
> bool LNB_capability;
> If the device node is LNB, LNB_capability should set to TRUE.
> If the device node is demod/tuner, LNB_capability should set to FALSE.
>
> What's your opinion?
> If you have a better idea or suggestion, please let me know.

It sounds that there are some misunderstanding here, specially when you
mention a "LNB device node".

See this picture:
https://linuxtv.org/downloads/v4l-dvb-apis-new/_images/typical_media_device.svg

The way the DVB API maps the hardware is that the frontend groups:

- tuner;
- demod;
- Satellite Equipment Control (SEC).

While not explicitly there, LNB is part of the frontend (it is part of
the SEC, for satellite systems like DVB-S/S2). some tuners may
also have LNBs before them.

So, there's no separate device node for it. Everything is controlled
via the /dev/dvb/frontend* device nodes.

So, it is not clear yet why are you considering to have a separate
devnode for the LNB.

Thanks,
Mauro