[vdr] Transfer mode and a motorised dish

Seppo Ingalsuo seppo.ingalsuo at iki.fi
Tue Aug 9 10:47:40 CEST 2005


Hi,

Malcolm Caldwell wrote:

>I have a dxr3 based system and a motorized dish.  The problem is vdr
>only waits a few seconds (TUNER_LOCK_TIMEOUT set in device.c) before it
>reports "ERROR: device %d has no lock" and gives up.
>  
>
I get the same error with both softdevice and dxr3. The default 5s 
TUNER_LOCK_TIMEOUT is also unfortunately sometimes too short for a 
terrestial tuner (Hauppauge Nova-T) lock. There could be something in 
2.6.x DVB as well which has increased lock time from 2.4.x. I have 
increased the timeout in vdr to 8s which seems to fix it.

>Maybe some of this could be fixed by to rotor plugin, however the rotor
>plugin should not be needed in this setup (I just define things in
>diseqc.conf).  The better fix IMHO would be in vdr itself.  I think a
>parameter that says "maximum timeout when changing source" might help
>the recording problem.  Not so sure for the transfer mode problem.
>  
>
I agree. For diseqc motors it could be based on motor speed. Correct 
lock cannot be done before a turn degree dependent minimum time. It 
could happen that e.g. when moving from 13.0E to 28.2E vdr could 
temporarily lock to 19.2E and receive whatever channel updates and EPG data.

There is one more thing which could be fixed for motorized dishes. The 
EIT scan moves the dish all the time wildly. Some motors are too noisy 
(like mine) and may wear mechanically for this. I have added this ugly 
hack to eitscan.c to limit scanning to afternoon/evening hours.
 
...

void cEITScanner::Process(void)
{
  struct tm now_tm;
  int enablescan;

  if ((Setup.EPGScanTimeout || !lastActivity) && Channels.MaxNumber() > 
1) { // !lastActivity means a scan was forced
    time_t now = time(NULL);
    now_tm = *localtime( &now );
    if ((now_tm.tm_hour >= 21) || (now_tm.tm_hour <= 14))
      enablescan = 0;
    else
      enablescan = 1;

    if ( (now - lastScan > ScanTimeout) && (now - lastActivity > 
ActivityTimeout) && (enablescan > 0) ) {

   ...

A decent solution for limiting optionally EIT scan should be DVB adapter 
specific and the time for allowing scan should be configurable from vdr 
setup.

BR,
Seppo





More information about the vdr mailing list