[linux-dvb] Re: [dvbtools-devel] dvbtune-0.5 inverts diseqc pol and band bits

Zoilo Gomez zoilo at xs4all.nl
Mon Apr 30 21:34:59 CEST 2007


Nico Sabbi wrote:
> Zoilo Gomez wrote:
>
>> dvbtune-0.5 source apparently contains a bug where it inverts both 
>> the polarization and high/low band bits in the diseqc command ... as 
>> I cannot find any info on this anywhere, I am posting my results here.
>>
>> I discovered this while using a KNC1 DVB-S card to compare diseqc 
>> handling with VP1034 (because diseqc is not (yet) working on my 
>> VP1034). I am using a Spaun 17089-NF 16-input switch (4 sats) + 8 
>> outputs, which supports up to Diseqc 2.0.
>>
>> First I got confused, because the Mantis driver simultaneously uses 
>> the old 18/13V+22kHz method to control polarization and band, as well 
>> as the Diseqc method. So for a while I believed that Diseqc was 
>> (partially) working, until I found out that in fact 18/13V+22kHz 
>> seems to be responsible for the (partial) job!
>>
>> As a result of no Diseqc-functionality on VP1034, it seems that with 
>> VP1034 on my switch, sat-selection is always fixed to sat=1 (makes 
>> sense, = the first 4 inputs, which happens to be Hotbird 13.0E in my 
>> setup), however input selection from the 4 feeds V/H and H/L works 
>> fine and correctly, although based on 18/13V+22kHz.
>>
>> When I compared this with my KNC-1 DVB-S card (to find out why 
>> Sat-selection is not working with VP1034), I found that with KNC1, 
>> Sat-selection does switch to Sat=2 (so it must be using diseqc), but 
>> polarization and band-selection were inverted ... So when I issued 
>> the following command:
>>
>> "dvbtune -D 2 -f 10832000 -p H -s 22000"
>>
>> I found that it was actually selecting sat=2 pol=V band=H ("e0 10 38 
>> f5"= switch input 7), instead of sat=2 pol=H band=L (= switch input 6 
>> / "e0 10 38 f6").
>>
>> The Diseqc-specs at 
>> http://www.eutelsat.com/satellites/pdf/Diseqc/Reference%20docs/bus_spec.pdf 
>> (table on page 13) confirm that dvbtune is in fact sending the wrong 
>> command.
>>
>> With a patched dvbtune (pol-bit and band-bit both inverted) it works 
>> OK, and is also according to the Eutelsat specs.
>>
>> Hope someone benefits from this.
>>
>> Z.
>>
>>  
>>
> nice, but i don't see the patch, but I wonder how I can have been 
> using my sat switch

I have attached a patch for you.

The problem is only in dvbtune (version 0.5); you may not have been 
using dvbtune (dvbtools); dvbscan and szap (linuxtv-dvb-apps) do not 
suffer from this problem.

Z.

-------------- next part --------------
diff -Naur dvbtune-0.5.orig/tune.c dvbtune-0.5/tune.c
--- dvbtune-0.5.orig/tune.c	2004-02-06 15:00:36.000000000 +0100
+++ dvbtune-0.5/tune.c	2007-04-30 21:22:53.000000000 +0200
@@ -203,7 +203,7 @@
     * bits are: option, position, polarizaion, band
     */
    cmd.cmd.msg[3] =
-       0xf0 | (((sat_no * 4) & 0x0f) | (hi_lo ? 1 : 0) | (pol ? 0 : 2));
+       0xf0 | (((sat_no * 4) & 0x0f) | (hi_lo ? 0 : 1) | (pol ? 2 : 0));
 
    diseqc_send_msg(secfd, pol,
 		   &cmd, hi_lo,


More information about the linux-dvb mailing list