[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