Mailing List archive

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

[linux-dvb] Re: change "STEPSIZE = 0"in dvb_frontend.c for DVB-C (Siemens) very bad! (CVS-Driver > 13.05.2003)




  Hi Uwe and sorry for your trouble, I feel responsible for breaking it
for you as I pushed this patch to allow TechnoTrend cards to work.  But
it seems this is the only way to get both cards working.. breaking them in
order for someone to step up and fix both at the same time.

On Sat, 17 May 2003, Uwe Scheffler wrote:
> I have testet the currend CVS-Driver!
> If i start VDR and tune of DVB-C-Program, then very long tuning this 2-5
> seconds!
> I comment on the following, have I tune no more problems!
>
>  --- driver/dvb_frontend.c
> +++ driver/dvb_frontend.c
> @@ -393,6 +393,8 @@
>
>                if (fe->info->type == FE_QPSK)
>                        stepsize = fe->parameters.u.qpsk.symbol_rate / 16000;
> + //              else if (fe->info->type == FE_QAM)
> + //                      stepsize = 0;
>                else
>                        stepsize = fe->info->frequency_stepsize * 2;


  Maybe you could also test changing the string 35937500 to 36125000 in
frontends/ves1820.c.

  Now how do we differentiate between the cases?  Is Siemens vs TT enough?
Maybe you could back out that stepsize thing and try this one below.
People who know the driver better probably have something more beautiful
to detect the card..

--- frontends/ves1820.c	13 May 2003 12:55:17 -0000	1.17
+++ frontends/ves1820.c	18 May 2003 23:16:36 -0000
@@ -172,6 +172,7 @@
 int tuner_set_tv_freq (struct dvb_frontend *fe, u32 freq)
 {
         u32 div;
+	u32 ifreq = 36125000;
 	static u8 addr [] = { 0x61, 0x62 };
 	static u8 byte3 [] = { 0x8e, 0x85 };
 	int tuner_type = GET_TUNER(fe->data);
@@ -180,8 +181,9 @@
 	if (tuner_type == 0xff)     /*  PLL not reachable over i2c ...  */
 		return 0;

-	/* div = (freq + 36125000 + 31250) / 62500; */
-	div = (freq + 35937500 + 31250) / 62500; /* works better for finland and sweden */
+	if (strstr (fe->i2c->adapter->name, "Technotrend"))
+		ifreq = 35937500;
+	div = (freq + ifreq + 31250) / 62500;
 	buf[0] = (div >> 8) & 0x7f;
 	buf[1] = div & 0xff;
 	buf[2] = byte3[tuner_type];


Jaakko

-- 
Foreca Ltd                                           Jaakko.Hyvatti@foreca.com
Pursimiehenkatu 29-31 B, FIN-00150 Helsinki, Finland     http://www.foreca.com


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



Home | Main Index | Thread Index