[vdr] : Positioner and multi-tuner setup?
Klaus.Schmidinger at tvdr.de
Thu Feb 21 09:33:25 CET 2013
On 21.02.2013 00:21, Antti Hartikainen wrote:
> On Wed, Feb 20, 2013 at 11:11:31PM +0100, Klaus Schmidinger wrote:
>> On 20.02.2013 21:52, Teemu Suikki wrote:
>>> I'm replying to an old message, because soon I will have similar setup so I'm interested. :)
>>> I currently have two tuners with fixed dish to S1.0W, and third tuner with diseqc motor. I'm using diseqc.conf and the gotoxx patch, it works very well!
> I mgot gotoxx working too. For some reason my motor doesn't work with 18V so needed to change it to use
>>> However I'm adding fourth tuner soon. It will be connected to the motor dish too.
>>> I have been examining vdr's Device Bonding feature. If two devices are bonded and Diseqc is enabled, vdr will compare the diseqc strings of the already tuned master, with the diseqc string of the new channel on the other device. If they match, channel change is accepted.
>>> So basically it should work if you simply have same diseqc config for both bonded devices.
>>> However, there is a problem that also the polarisation and low/high frequency range is compared. This means that the bonded device is restricted to same polarisation and frequency range. This would need some patching in dvbdevice.c..
>> And what exacly would you want to patch there?
>> Bonded devices are connected to the same antenna cable, and on one cable you
>> can only convey one polarization (H or V) and one frequency band (high or low)
>> at the same time. So the restriction to same polarisation and frequency range
>> is necessary for device bonding, and I don't see how using a motor dish would
>> make any difference there.
> To connect 2 tuners to one motor, need to do a little patch to restrict both tuners to same source,
> instead of restricting high/low freqs and polarisation, as both tuners would have own cables.
Oh, I see. I guess I misunderstood your posting and assumed there was
only a single antenna cable.
> I have made ugly hack to dvbdevice.c to send diseqc positioning commands using only tuner which is
> connected to the motor. Basicly I just took fd_frontend of device connected to the motor and use it for
> diseqc commands ioctl().
> If both tuners are used with my hack as is, motor is turning wildly between satellites on source change.
> Lets take an example: At begining both tuners are tuned to 1.0W and I change to channel which is on 13E.
> Tuner #1 stays tuned to 1.0W and wants motor to go there, and at the same time tuner #2 is trying to get
> motor to 13E. So some patching is needed to restrict selected tuners to same source with eachother.
So what you're trying to do is to "bond" the two devices in a way that
only takes into account the antenna position.
Maybe you could achieve this by changing cDvbTuner::GetBondingParams() in a way that
extracts the positioning part from the DiSEqC commands and returns just that.
Then, with bonded devices, it should use only one of them for positioning,
and both will only tune to transponders from that position.
More information about the vdr