On Wednesday 29 June 2011 15:16:10 Sébastien RAILLARD wrote: > Dear all, > > We have found what seems to be a tuning issue in the driver for the ALPS > BSBE1-D01A used in the new TT-S-1500b card from Technotrend. > On some transponders, like ASTRA 19.2E 11817-V-27500, the card can work very > well (no lock issues) for hours. > > On some other transponders, like ASTRA 19.2E 11567-V-22000, the card nearly > never manage to get the lock: it's looking like the signal isn't good > enough. Afaics the problem is caused by the tuning loop for (tm = -6; tm < 7;) in stv0288_set_frontend(). I doubt that this code works reliably. Apparently it never obtains a lock within the given delay (30us). Could you please try the attached patch? It disables the loop and tries to tune to the center frequency. CU Oliver -- ---------------------------------------------------------------- VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/ 4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/ Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/ ----------------------------------------------------------------
diff --git a/drivers/media/dvb/frontends/stv0288.c b/drivers/media/dvb/frontends/stv0288.c index 8e0cfad..4ffe7da 100644 --- a/drivers/media/dvb/frontends/stv0288.c +++ b/drivers/media/dvb/frontends/stv0288.c @@ -488,6 +488,10 @@ static int stv0288_set_frontend(struct dvb_frontend *fe, /* Carrier lock control register */ stv0288_writeregI(state, 0x15, 0xc5); +#if 1 /* TEST */ + stv0288_writeregI(state, 0x2b, 0); + stv0288_writeregI(state, 0x2c, 0); +#else tda[0] = 0x2b; /* CFRM */ tda[2] = 0x0; /* CFRL */ for (tm = -6; tm < 7;) { @@ -503,6 +507,7 @@ static int stv0288_set_frontend(struct dvb_frontend *fe, stv0288_writeregI(state, 0x2c, tda[2]); udelay(30); } +#endif state->tuner_frequency = c->frequency; state->fec_inner = FEC_AUTO;