[linux-dvb] S2API tune return code - potential problem?

Alex Betis alex.betis at gmail.com
Wed Nov 12 22:04:37 CET 2008


On Wed, Nov 12, 2008 at 10:54 PM, Darron Broad <darron at kewl.org> wrote:

> In message <c74595dc0811121232s48a95a14v93edf27360ed5c21 at mail.gmail.com>,
> "Alex Betis" wrote:
> >
> >Hi All,
>
> Hi.
>
> >A question regarding the error code returned from the driver when using
> >DTV_TUNE property.
> >Following the code I came to dvb_frontend_ioctl_legacy function and
> reached
> >the FE_SET_FRONTEND case.
> >Looking on the logic I couldn't see any handling of error tuning, an event
> >is added to the frontend and zero is returned:
> >
> >        fepriv->state = FESTATE_RETUNE;
> >        dvb_frontend_wakeup(fe);
> >        dvb_frontend_add_event(fe, 0);
> >        fepriv->status = 0;
> >        err = 0;
> >        break;
> >
> >How should an application know that DTV_TUNE command succeed?
> >Monitoring the LOCK bit is not good, here's an example why I ask the
> >question:
> >
> >Assuming the cx24116 driver is locked on a channel. Application sends tune
> >command to another channel while specifying
> >AUTO settings for modulation and FEC. The driver for that chip cant handle
> >AUTO settings and return error, while its still connected
> >to previous channel. So in that case LOCK bit will be ON, while the tune
> >command was ignored.
> >
> >I thought of an workaround to query the driver for locked frequency and
> >check whenever its in bounds of frequency that was ordered
> >to be tuned + - some delta, but that's a very dirty solution.
> >
> >Any thoughts? Or I'm missing something?
>
> Correct me if I am wrong, but I remember looking at this before...
>
> The problem is that no capabilities are available for S2API demods as yet
> so TUNE always succeeds whether the parameters are wrong or right.
>
> What is needed is:
> 1. caps for s2api aware demods.
> 2. extend dvb_frontend_check_parameters() for s2api aware demods.
>
You mean passing the parameter to the demods to be checked before performing
the tuning?
Is there an example of that usage?
What about some unexpected failures that can't be checked before the tuning?
Can't think of a real example since I'm not too familiar with
the code.
I thought about a property of "last error code" that can be queried from the
driver, but in that case the application has to be aware when
the tuning is finished.


>
> This hasn't been done as yet.
>
> cya
>
> --
>
>  // /
> {:)==={ Darron Broad <darron at kewl.org>
>  \\ \
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20081112/3e326e0a/attachment.htm 


More information about the linux-dvb mailing list