[DVB] TT S-1500b tuning issue

Message ID 201107040043.00393@orion.escape-edv.de (mailing list archive)
State Rejected, archived
Headers

Commit Message

Oliver Endriss July 3, 2011, 10:42 p.m. UTC
  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
  

Comments

Sébastien RAILLARD (COEXSI) July 6, 2011, 11:34 a.m. UTC | #1
> -----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
  
Malcolm Priestley July 6, 2011, 8:35 p.m. UTC | #2
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
  

Patch

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;