[mythtv] Re: (Hauppauge DVB-s Nova / Hauppauge WinTV DVB-s) patch

Jörg Bakker joerg at hakker.de
Thu Jul 1 15:55:27 EDT 2004


Think I got it now :-))

My multiswitch just needs a plain full DiSEqC sequence, it doesn't even work 
with the backward compatible methods. The patch from Christain just packs a 
full DiSEqC sequence into ToneVoltageLnb().

Setting diseqc_type == 2 should do the job, but actually the DiSEqC command 
isn't send to the switch, as the following line DIDN'T appear in my log:

DVB#0 DiSEqC Sending 1.0 Command: e0 10 38 f3

It isn't executed because diseqc_port == 0 in my setup and the if condition 
before sending the DiSEqC command isn't true. Shouldn't diseqc_port == 0 be 
valid? Judging from tuning.diseqc_port > 3 is a condition for more than 4 
ports, it should.

The second little thing I did, was swapping the conditional assignment of 
0 : 1 in the DiSEqC command when switching tone on or off. This yields to the 
same DiSEqC command as used in other DVB applications.

It works great now, even without disabling DiseqcReset(). For the complete 
little patch, please see below.

Joerg



--- dvbdiseqc.cpp.orig  2004-06-26 22:38:25.000000000 +0200
+++ dvbdiseqc.cpp       2004-07-01 21:34:04.000000000 +0200
@@ -315,7 +315,7 @@

     GENERAL(QString("DiSEqC 1.0 Switch - Port %1").arg(tuning.diseqc_port));

-    if (tuning.diseqc_port != 0 &&
+    if (//tuning.diseqc_port != 0 &&
         ((prev_tuning.diseqc_port != tuning.diseqc_port ||
           prev_tuning.tone != tuning.tone ||
           prev_tuning.voltage != tuning.voltage) || reset))
@@ -332,7 +332,7 @@
         cmd.msg[DATA_1] = 0xF0
                           | (((tuning.diseqc_port) * 4) & 0x0F)
                           | ((tuning.voltage == SEC_VOLTAGE_18) ? 2 : 0)
-                          | ((tuning.tone == SEC_TONE_ON) ? 0 : 1);
+                          | ((tuning.tone == SEC_TONE_ON) ? 1 : 0);

         if(!SendDiSEqCMessage(tuning,cmd))
         {




More information about the mythtv-dev mailing list