Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Budget DVB-C tuning problems



on 2004-02-07 at 14:26, Robert Schlabbach wrote:
> Could you elaborate on the "tuning failures". What are you seeing? An error
> code returned by the frontend driver, or is it that the demodulator just
> does not lock.

Please see the snippets I cut and pasted to the end of my original
message.
This is what dvbtune tells:
FE_STATUS: FE_TIMEDOUT
Not able to lock to the signal on the given frequency

> If the latter is the case, could you read the AFC value when
> the demodulator failed to lock?

I haven't found a way to do that. The FE_READ_AFC symbol seems to be
removed from the dvb-kernel driver, and dvbtune tries to use that to
retrieve the AFC value. The ves1820 module only logs the AFC value after
a successful lock.

Thanks for your description of the AFC logic and how you solved channel
changing reliability. Unfortunately I'm not competent to implement your
solution in the Linux driver.

Could one of the dvb-kernel gurus come up with a simple quick-and-dirty
debugging test to verify that this tuning problem is indeed caused by
flawed VES1820 AFC logic?		

> The VES1820 AFC logic is a bit flawed and can get "stuck" at a high
> off-center value. At this stage, you have to reset the VES1820 (set
> register 0 bit 0 to 0 then to 1) to reset the AFC, which will make the
> VES1820 lock.
> 
> I found a way to both optimize the channel changing times and to make
> channel changes reliable at the same time: When only the tuning frequency
> has changed (i.e. the demodulator settings are unchanged), do _NOT_
> immediately reset the demodulator. Instead, wait 10 milliseconds and then
> read the VAFC register. If it is outside the range [-4 ... +4], reset the
> demodulator.
> 
> This way, channel changes will typically occur in less than 10 ms (if no
> reset was necessary), and if the AFC gets stuck, it will lock in typically
> less than 50ms (after a reset, the VES1820 needs at least 35ms to lock).
> 
> If you're up to it, try implementing this in the Linux driver. It is
> working very well in my Windows driver.




-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index