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

Darron Broad darron at kewl.org
Wed Nov 12 21:54:29 CET 2008

In message <c74595dc0811121232s48a95a14v93edf27360ed5c21 at mail.gmail.com>, "Alex Betis" wrote:
>Hi All,


>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
>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.

This hasn't been done as yet.



 // /
{:)==={ Darron Broad <darron at kewl.org>
 \\ \ 

More information about the linux-dvb mailing list