Message ID | 201107040043.00393@orion.escape-edv.de (mailing list archive) |
---|---|
State | RFC |
Headers | show |
> -----Original Message----- > From: Oliver Endriss [mailto:o.endriss@gmx.de] > Sent: lundi 4 juillet 2011 00:43 > To: Linux Media Mailing List > Cc: Sébastien RAILLARD (COEXSI); Malcolm Priestley > Subject: Re: [DVB] TT S-1500b tuning issue > > 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. > Ok, I've tested this patch with ASTRA 19.2 #24 transponder that wasn't always working: it seems to work. I think it would be great to test it for few days more to be sure. > 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/ > ---------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2011-07-06 at 13:34 +0200, Sébastien RAILLARD (COEXSI) wrote: > > > -----Original Message----- > > From: Oliver Endriss [mailto:o.endriss@gmx.de] > > Sent: lundi 4 juillet 2011 00:43 > > To: Linux Media Mailing List > > Cc: Sébastien RAILLARD (COEXSI); Malcolm Priestley > > Subject: Re: [DVB] TT S-1500b tuning issue > > > > 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). It's actually quite slow caused by any delay in the I2C bus. I doubt given the age many controllers run at the 400kHz spec, if barely 100kHz. > > > > Could you please try the attached patch? > > It disables the loop and tries to tune to the center frequency. > > > > Ok, I've tested this patch with ASTRA 19.2 #24 transponder that wasn't > always working: it seems to work. > I think it would be great to test it for few days more to be sure. Unfortunately, this patch does not work well at all. All that is happening is that the carrier offset is getting forced to 0, after it has been updated by the lock control register losing a 'good' lock. The value is typically around ~f800+. Perhaps the loop should be knocked down slightly to -9. The loop was probably intended for 22000 symbol rate. tvboxspy -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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;