Mailing List archive

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

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



From: "Antti Kaihola" <antti.kaihola@linux-aktivaattori.org>
> I'm having tuning problems on my budget DVB-C card. When I get a good
> tuning, everything works perfectly. Unfortunately I get occasional
> tuning failures all the time.

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. If the latter is the case, could you read the AFC value when
the demodulator failed to lock?

When developing my Windows VES1820 driver, I found the following: 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.

Regards,
--
Robert Schlabbach
e-mail: robert_s@gmx.net
Berlin, Germany



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



Home | Main Index | Thread Index