Mailing List archive

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

[linux-dvb] Re: Problem with low frequencies on DVB C card




On Wed, 2 Oct 2002, Holger Waechtler wrote:

> jan.b wrote:
> > hi some low frequencies under 131 Mhz seems not to work on my peanut vdr
> > i checked them in windows they seems ok
> > 
> > when i look into DVB/driver/tuner.c i see that some ranges seems a 
> > little high to me
> > maybe it s not a known bug since all the cable.conf i ve seen were 
> > german and with mid frequencies only
> 
> that's exactly the problem, we can't test the unusual frequency bands 
> here. Please download the datasheet of the PLL and try to play with the 
> 5 byte string you send to the tuner.
> 
> Maybe you have to use a smaller frequency divisor for low frequencies, 
> maybe you have to try other charge pump current settings. Send me a 
> patch when you can fix a problem.
> 
> Please use the NEWSTRUCT branch for experiments, there you have much 
> more flexibility to set up the PLL, in tuner_set_frequency() 
> (frontends/ves1820.c) you can apply different settings for each 
> frequency range. Look in the grundig_29504-401 example to see how it's 
> done there.

Hello!

I've had exactly the same problem since I got my DVB-c card (Hauppauge rev 
2.1) in May. Here is a list of the lowest frequencies in use here and 
the status with different drivers:

Frequency                       dvb-20021007  NEWSTRUCT
------------------------------  ------------  ---------
130 MHz, QAM 64, 7146000 S/s    NO            NO
140 MHz, QAM 64, 7146000 S/s    NO            NO
150 MHz, QAM 64, 7146000 S/s    NO            YES
162 MHz, QAM 64, 6875000 S/s    NO            YES
270 MHz, QAM 64, 7146000 S/s    YES           YES
....                            YES           YES

Thanks to Holger's hints I found a solution by trial and error. :)
Both 0x88 and 0x8a seem to be working values for byte 5 for SP5659.

According to the specifications at:
http://assets.zarlink.com/products/data/datasheets/zarlink_SP5659_May_2002.pdf
these 4 LSB mean P3, P2, P1 and P0:
0x88 = 10001000  freq < 174000000   P3 = 1
0x84 = 10000100  freq < 470000000   P2 = 1
0x81 = 10000001  freq >= 470000000  P0 = 1
Any idea what the meaning of these "output state ports" are?

Below are both driver branches patched. The patch for NEWSTRUCT could 
probably be made a bit nicer.

Kimmo

========================== dvb 0.9.4 cvs ============================

--- dvb-20021007/driver/tuner.c 2002-10-07 11:57:00.000000000 +0300
+++ DVB/driver/tuner.c  2002-10-07 12:16:45.000000000 +0300
@@ -227,7 +227,7 @@
                 0xffffffffUL, 0xffffffffUL, 0x00, 0x00, 0x00, 0x88},
         {"SP5659C", MITEL, DVBC,
                   40000000UL, 870000000UL, 62500, 1, 36125000,
-                 174000000UL, 470000000UL, 0xa1, 0x84, 0x81, 0x85},
+                 174000000UL, 470000000UL, 0x88, 0x84, 0x81, 0x85},
        /*
         {"SPXXXX", MITEL, DVBC,
                  40000000UL, 870000000UL, 62500, 1, 38900000,

========================== NEWSTRUCT ================================

--- DVB.orig/driver/frontends/ves1820.c 2002-10-07 12:01:43.000000000 +0300
+++ DVB/driver/frontends/ves1820.c      2002-10-07 12:40:20.000000000 +0300
@@ -158,6 +158,8 @@
         u8 buf [4] = { (div >> 8) & 0x7f, div & 0xff,
                        byte3[tuner_type],
                        byte4[tuner_type] | (pwr << 6) };
+        if (tuner_type == 1)
+            buf[3] = freq < 174000000 ? 0x88 : freq < 470000000 ? 0x84 : 0x81;
 
         return tuner_write (frontend->i2c, addr[tuner_type], buf);
 }






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



Home | Main Index | Thread Index