[linux-dvb] [PATCH] Mantis Bug (was Technisat HD2 cannot szap/scan)
gimli
gimli at dark-green.com
Mon Jan 5 19:09:57 CET 2009
Hi,
checked it again. Your lnbp21 patch definitely kills S2 tuning
on the Terratec Cinergy S2 PCI HD.
mfg
Edgar ( gimli ) Hucek
>> Hi,
>>
>> with your patch i run into following problem on a Terratec Cinergy S2
>> PCI
>> HD :
>>
>> [ 143.818103] stb6100_set_frequency: Frequency=1588000
>> [ 143.826681] stb6100_get_frequency: Frequency=1587990
>> [ 143.840867] stb6100_get_bandwidth: Bandwidth=10000000
>> [ 150.568018] mantis_ack_wait (0): Slave RACK Fail !
>> [ 150.568372] stb6100_set_bandwidth: Invalid parameter
>> [ 156.596525] mantis_ack_wait (0): Slave RACK Fail !
>> [ 156.596880] stb6100_get_bandwidth: Invalid parameter
>> [ 162.784014] mantis_ack_wait (0): Slave RACK Fail !
>> [ 162.784368] stb6100_get_bandwidth: Invalid parameter
>> [ 168.848014] mantis_ack_wait (0): Slave RACK Fail !
>> [ 168.848368] stb6100_set_frequency: Invalid parameter
>> [ 174.896016] mantis_ack_wait (0): Slave RACK Fail !
>> [ 174.896371] stb6100_get_frequency: Invalid parameter
>>
>> cu
>>
>> Edgar (gimli) Hucek
>
> Hi Edgar,
>
> I don't believe the Slave RACK problem is caused by my LNBP21 patch -- I
> saw it before
> and I posted a fix for it already at
> http://linuxtv.org/pipermail/linux-dvb/2008-December/030829.html
>
> Here it is again:
>
> diff -r 28324bc3d694 linux/drivers/media/dvb/mantis/mantis_i2c.c
> --- a/linux/drivers/media/dvb/mantis/mantis_i2c.c
> +++ b/linux/drivers/media/dvb/mantis/mantis_i2c.c
> @@ -42,7 +42,7 @@ static int mantis_ack_wait(struct mantis
> dprintk(verbose, MANTIS_DEBUG, 1, "Master !I2CDONE");
> rc = -EREMOTEIO;
> }
> - while (!(mantis->mantis_int_stat & MANTIS_INT_I2CRACK)) {
> + while (!(mantis->mantis_int_stat & MANTIS_INT_I2CDONE)) {
> dprintk(verbose, MANTIS_DEBUG, 1, "Waiting for Slave
> RACK");
> mantis->mantis_int_stat = mmread(MANTIS_INT_STAT);
> msleep(5);
>
>
> Regards,
> Hans
>
>
>> >> With the Azurewave AD-SP400 (Twinhan VP-1041 / Technisat HD2 /
>> >> ?poss. Terratec Cinergy S2 PCI HD)
>> >> there seems to be a driver bug when tuning some channels immediately
>> >> after boot or after resuming from sleep (which is entered after 1
>> minute
>> >> idle).
>> >> So the initialisation seems to be unsuitable for tuning some
>> channels.
>> >>
>> >> But... if another channel is tuned successfully first then the bad
>> >> channels *CAN* be tuned
>> >> (if you are quick and do it before it sleeps again).
>> >>
>> >> It looks like the problem channels are all horizontal but perhaps
>> other
>> >> parameters are
>> >> relevant too/instead.
>> >>
>> >> Can anyone help?
>> >> Instructions for reproducing the problem on Astra 19.2E or Hotbird
>> 13.0E
>> >> are below.
>> >>
>> >> I don't know whether the problem is in the mantis, stb0899, stb6100
>> or
>> >> lnbp21 code.
>> >
>> > Problem solved with the patch below.
>> >
>> > I found that both problems tuning channels (#1 immediately after boot
>> and
>> > #2 after sleep) are
>> > caused by the lnbp21 voltage OFF setting. To fix #1: the LNB voltage
>> needs
>> > to be turned on when
>> > the lnbp21 is attached, and to fix #2: turning the voltage off on
>> sleep
>> > needs to be disabled.
>> >
>> > To keep the voltage on, we need to make sure that register bit
>> LNBP21_EN
>> > is always set.
>> >
>> > I note that as well as controlling the voltage regulator blocks this
>> > register bit also controls
>> > a loopthrough switch -- clearing the bit takes the lnbp21 out of the
>> LNB
>> > line, which could be
>> > used to allow other circuitry to do LNB power and control. I don't
>> have
>> > any info on how the
>> > card is actually wired. It seems best to keep the EN bit always set,
>> > because I know clearing
>> > it causes trouble.
>> >
>> > It turns out there is already a mechanism for specifying register bits
>> to
>> > be overridden in
>> > the lnbp21 attach call (already used for another card) and we just
>> need
>> to
>> > apply the following
>> > one-line patch to the VP-1041 attach.
>> >
>> > This is against the repository at
>> > http://mercurial.intuxication.org/hg/s2-liplianin.
>> >
>> > Signed-off-by: Hans Werner <hwerner4 at gmx.de>
>> >
>> > diff -r 28324bc3d694 linux/drivers/media/dvb/mantis/mantis_dvb.c
>> > --- a/linux/drivers/media/dvb/mantis/mantis_dvb.c
>> > +++ b/linux/drivers/media/dvb/mantis/mantis_dvb.c
>> > @@ -239,7 +239,7 @@ int __devinit mantis_frontend_init(struc
>> > vp1041_config.demod_address);
>> >
>> > if (stb6100_attach(mantis->fe,
>> > &vp1041_stb6100_config, &mantis->adapter)) {
>> > - if (!lnbp21_attach(mantis->fe,
>> > &mantis->adapter, 0, 0)) {
>> > + if (!lnbp21_attach(mantis->fe,
>> > &mantis->adapter, LNBP21_EN, 0)) {
>> > printk("%s: No LNBP21
>> found!\n",
>> > __FUNCTION__);
>> > mantis->fe = NULL;
>> > }
>> >
>> >
>> >
>> > Regards,
>> > Hans
>
> --
> Release early, release often.
>
> Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen:
> http://www.gmx.net/de/go/multimessenger
>
>
>
More information about the linux-dvb
mailing list