Re: Tevii S480 on Unicable SCR System

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

 



Em Wed, 08 Oct 2014 18:52:09 +0200
Ulrich Eckhardt <uli-lirc@xxxxxxxxxxxxxxx> escreveu:

> Hi,
> 
> I have digged a little bit deeper in the code and hopefully found a more general solution 
> by initializing the voltage in dvb_frontend.c in the function dvb_register_frontend.
> This should be a more global approach which may also fix this type of problems
> with other cards. I will test this patch the next days on a different system with a 
> CineS2 V5.5 card.
> 
> Any opinions about this patch or is my first attempt with patching only the code
> for the Tevii S480 a better solution?

You forgot to add your Signed-off-by to your patch...

> -----------------------------------------------------------------------------
> diff -r f62f56c648b0 drivers/media/dvb-core/dvb_frontend.c
> --- a/drivers/media/dvb-core/dvb_frontend.c     Wed Oct 08 17:30:52 2014 +0200
> +++ b/drivers/media/dvb-core/dvb_frontend.c     Wed Oct 08 17:40:20 2014 +0200
> @@ -2622,6 +2622,14 @@
>                              fe, DVB_DEVICE_FRONTEND);
>  
>         /*
> +        * Ensure that frontend voltage is switched off on initialization
> +        */
> +       if (dvb_powerdown_on_sleep) {

I'm wandering why to test if (dvb_powerdown_on_sleep) here...

MODULE_PARM_DESC(dvb_powerdown_on_sleep, "0: do not power down, 1: turn LNB voltage off on sleep (default)");

That controls what happens when the frontend's thread stops, and not
what happens during device initialization.

So, IMHO, it doesn't apply here.

> +               if (fe->ops.set_voltage)
> +                       fe->ops.set_voltage(fe, SEC_VOLTAGE_OFF);

I actually have different feelings with regards to the above: I don't
think that the core should take care of it, as this is part of device
initialization. I mean: the frontend driver should be the one responsible
to power off the voltage during module initialization.

Adding this to the core will add an uneeded initialization for most
drivers that do it already.

On the other hand, adding it would help to avoid one additional bug
to be handled when the developer forgets to add such voltage off
setting at the driver's init code, and the board is bad enough to
turn voltage on at reset.

My vote is to fix it at the driver's level.

Regards,
Mauro

> +       }
> +
> +       /*
>          * Initialize the cache to the proper values according with the
>          * first supported delivery system (ops->delsys[0])
>          */
> 
> -----------------------------------------------------------------------------
> 
> Am 01.10.2014 um 20:42 schrieb Ulrich Eckhardt:
> > Hi,
> > 
> > i have a development computer with a Tevii S480 connected to a Satellite channel
> > router (EN50494). As long as I haven't started a video application this
> > computers blocks any other receiver connected to this cable. I have measured the
> > output of the Tevii card and found, that after start of the computer, the output
> > is set to 18V. This is not reset after loading and initializing the drivers. So
> > no other receiver could sent DiSEqC commands to the SCR until
> > a video application at this computer initializes the voltage correctly. I think
> > the voltage needs to be switched off until this card is really in use by an
> > application.
> > 
> > I have patched the file drivers/media/dvb-frontends/ds3000.c to initialize the
> > voltage to OFF, which works for me. But I am not sure, if this is really the
> > correct solution:
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux