Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Budget DVB-C tuning problems
Robert Schlabbach wrote:
> From: "Ingolf Haberer" <ingy@vorabend-einchecker.de>
>
> > kernel: ves1820_ioctl FE_READ_STATUS status=0x7 AFC=19 3997400Hz
> > kernel: ves1820_ioctl FE_READ_STATUS status=0x7 AFC=19 0Hz
>
> Hmm, the AFC output appears to be somewhat buggy:
>
> if (sync & 2)
> /* AFC only valid when carrier has been recovered */
> afc = ves1820_readreg(fe, 0x19);
> if (verbose)
> printk ("DVB: VES1820(%d): AFC (%d) %dHz\n",
> fe->i2c->adapter->num, afc,
> -((s32)(p->u.qam.symbol_rate >> 3) * afc >> 7));
>
> It doesn't make sense to output AFC if it hasn't been read,
Corrected.
> and AFC is interesting even if there is no sync.
(sync & 2) tests if the carrier has been recovered.
If we don't have a carrier, then AFC is undefined
(AFC := difference between given frequency and recovered carrier frequency).
> Also, the frequency offset
> calculation does not quite match the VES1820 docs. Try this instead:
>
> if (verbose)
> {
> afc = ves1820_readreg(fe, 0x19);
> printk ("DVB: VES1820(%d): AFC (%d) %dHz\n",
> fe->i2c->adapter->num, afc,
> ((s32)(p->u.qam.symbol_rate * afc) >> 10));
> };
The calcuation above avoids overflow errors at the expense of some
loss in precision.
> Anyway, back to your output:
>
> > last message repeated 9 times
> > kernel: ves1820_ioctl FE_READ_STATUS status=0x7 AFC=19 3997400Hz
>
> If the calculated AFC is right (which doesn't match AFC=19...), this looks
> like the "AFC getting stuck" I had mentioned earlier. You need to reset the
> VES1820 at this point to reset the AFC logic and make it sync.
The calcuation for the AFC is right, but the symbolrate seems wrong...
> I found that the most difficult channel changes to the VES1820 are
> between _adjacent_ channels, especially in downwards direction. Especially
> switching from S41 (466MHz) down to SK40 (458MHz) seems to be a problem to
> this board. Try switching between 442MHz, 450MHz, 458MHz and 446MHz up- and
> downwards a few times - I think you'll get a "no lock" very soon. You
> really need to implement the VAFC check and reset the VES1820 if VAFC runs
> out of a minimum range.
Hm.
Johannes
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index