[linux-dvb] stv0297: improvement for qam256 modulated channels

Manu Abraham abraham.manu at gmail.com
Sat Nov 3 14:19:01 CET 2007

Oliver Endriss wrote:
> e9hack at googlemail.com wrote:
>> 2007/10/28, e9hack <e9hack at googlemail.com>:
>>> I've seen two different values for the carrier offset on Windows XP for a
>>> TT-C2300. Registers 20/21h
>>> are programmed with 3c0a or 3ba4 (carrier offset 6763 or 6718). The value
>>> depends on the driver
>>> revision. On a TT-C1500, this value is 4000 (carrier offset 7209). It may
>>> be possible, that the
>>> value is calculated from some other values. I know, that the patch has no
>>> effect for some testers.
>>> This is the first report with a failure. So it isn't possible to add the
>>> patch.
>>> In my case, I've some channels in the UHF range with a poor signal
>>> strength. Without the patch, I
>>> got ber ~3500h and unc >10h. With the patch, I get ber ~b00h and unc 0.
>> Sorry, 'carrier offset' should be 'initial demodulation frequency'.
> What shall we do with this patch?
> I think we cannot apply it right now.

Carrier offset as by STM what i understand is like this: the free running 
demodulator can detect how far it is away from the center freq. "fc". 
usually the the tuner has a b/w and the number of steps can be calculated, 
eventually the demod is stepped through, but not set_frontend as a whole, 
but certain stages in the demod

The problem what i understand is that the windows driver uses the tuning 
algorithm as specified by STM, where as it is absent in our drivers.

I did find this as the case for the STV0299 a while back. Some people said
they had problems to tune to certain frequencies, ie it will just lock to adjacent 

But to fix the same in the current stv0297 driver implies that a large chunk 
would need to be reworked, afaics. I don't know whether it is worth that effort.

I had done this for the STB0899 since i felt the same very early itself.


You can look at the algorithm defined (Master state machine diagram) for 
the STV0297, it will give you a better idea on it. ie the Carrier offset is detected 
in the Acquisition phase, the offset is applied to the digital oscillator and mixer 
of the initial demodulator.

That said, tuning algorithms are far advanced than a simple zig-zag that we do in


More information about the linux-dvb mailing list