Mailing List archive

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

[vdr] Re: Problem switching channels



On Friday 12 July 2002 16:01, Klaus Schmidinger wrote:
> Helmut Auer wrote:
> > Hello
> > Sometimes during zapping it happens that a channel is not shown (
> > screen is black ). Then I switch up and down and the channel is
> > here.
> > e.g. it happens very often when I switch up from SAT1 to RTL or
> > back from SAT1 to ZDF
> >
> > [...]
>
> I just tried this with VDR 1.0.4 and heavily switched between these
> three channels, but not in a single case did I observe any problems.
> I also use SuSE 7.3 and a Siemens DVB-S rev 1.3.

I can confirm the problem (Haupauge DVB-S 2.1, DiSEqC enabled).
If the error occurres, switching from vertical to horizontal 
polarisation is not recognized by the switch.

The problem doesn't exist with the  original Haupauge software.

I looked into the DiSEqC specs and the vdr/driver code but I
could not see any error. Unfortunately, I don't have the equipment 
to check the generated signals. Looks like a driver/firmware problem.

Finally, I found a simple workaround: The problem disappears if Mini-DiSEqC
is used. Perhaps you might try the following patch against vdr-1.0.4:

------------------------------ snip -------------------------------------
--- vdr-1.0.4/dvbapi.c	Sat May 18 16:15:36 2002
+++ vdr-1.0.4-new/dvbapi.c	Sun Jul 14 20:26:04 2002
@@ -2415,9 +2415,13 @@

             secCmdSequence scmds;
             scmds.voltage = volt;
-            scmds.miniCommand = SEC_MINI_NONE;
-            scmds.continuousTone = tone;
             scmds.numCommands = Setup.DiSEqC ? 1 : 0;
+            if (Setup.DiSEqC == 2)
+                scmds.miniCommand = (Diseqc) ? SEC_MINI_B : SEC_MINI_A;
+            else
+                scmds.miniCommand = SEC_MINI_NONE;
+            scmds.continuousTone = tone;
+            scmds.numCommands = (Setup.DiSEqC == 1) ? 1 : 0;
             scmds.commands = &scmd;

             CHECK(ioctl(fd_sec, SEC_SEND_SEQUENCE, &scmds));
--- vdr-1.0.4/menu.c	Wed May  1 16:54:10 2002
+++ vdr-1.0.4-new/menu.c	Sun Jul 14 20:25:44 2002
@@ -2158,7 +2158,7 @@
   Add(new cMenuEditIntItem( tr("Setup.LNB$SLOF (MHz)"),               &data.LnbSLOF));
   Add(new cMenuEditIntItem( tr("Setup.LNB$Low LNB frequency (MHz)"),  &data.LnbFrequLo));
   Add(new cMenuEditIntItem( tr("Setup.LNB$High LNB frequency (MHz)"), &data.LnbFrequHi));
-  Add(new cMenuEditBoolItem(tr("Setup.LNB$Use DiSEqC"),               &data.DiSEqC));
+  Add(new cMenuEditIntItem( tr("Setup.LNB$Use DiSEqC"),               &data.DiSEqC));
 }

 // --- cMenuSetupCICAM -------------------------------------------------------
------------------------------ snip -------------------------------------

After applying the patch, you have to change Setup->LNB->Use DiSEqC to "2"
(0 = No DiSEqC, 1 = DiSEqC, 2 = Mini DiSEqC).

Perhaps Klaus might add this patch to the next VDR release.

Regards, Oliver





Home | Main Index | Thread Index