[linux-dvb] How do I use FE_DISEQC_SEND_MASTER_CMD and
FE_SET_FRONTEND correctly?
Oliver Endriss
o.endriss at gmx.de
Sat Dec 10 14:47:10 CET 2005
Reinhard Nissl wrote:
> when VDR switches to a different transponder the device driver is sent
> the above two ioctl()s with appropriate data.
>
> Just in case the multiswitch get's a damaged DiSEqC message, it won't
> choose for example a different polarisation and VDR won't ever get the
> expected signal without tuning again.
>
> I've patched VDR to repeat the DiSEqC message every 500 ms after
> FE_SET_FRONTEND until the device's tuner reports LOCKED. An oszilloscope
> shows me that the message get's sent on the cable about every 568 ms so
> the code seems to be correct.
Hm - it should be enough to send the message 2 or 3 times using
diseqc.conf. If this does not work there is a severe problem.
> But for any reason, the tuning doesn't succeed. I've further added a
> timeout of 3000 ms after which FE_SET_FRONTEND is issued again, which
> typically tunes successfully then.
>
> So, it seems that I'm wrong with my assumption that the device keeps on
> tuning for at least 2000 ms (BTW: I've never seen the flag TIMEOUT while
> tuning) and that repeating the DiSEqC messages should lead to successful
> tuning.
>
> Is it therefore necessary to repeat FE_SET_FRONTEND too at an interval
> of 500 ms?
>
> Would it be ok to shorten the time further (e. g. 300 ms) without
> messing up FE_SET_FRONTEND's design (i. e. the current tuning operation
> is aborted and a new one is triggered)?
>
> Is it likely that retuning that fast turns out to be bad on DVB-T or
> DVB-C systems?
If the first tuning attempt failes the frontend thread starts zip-zag
scan. It will take some time until the center frequency is tried again.
For details see dvb_frontend.c.
> BTW: I'm using DVB-S (NOVA-S), dvb-kernel CVS snapshot of March 2005.
Hm - which Nova exactly? Sub-system type from 'lspci -vn' output?
The bit-banging diseqc implementation in budget.c cannot work in a
reliable way. Interrupts or preemption will distort the diseqc message.
Disabling interrupts would probably fix this but imho it is not
acceptable to disable interrupts for 54ms!
Recently I noticed that problem with an old 13c2:1003 Nova.
For my card I have a perfect solution but I'm not sure whether it will
work for all Novas with BSRU6 tuner.
Oliver
--
--------------------------------------------------------
VDR Remote Plugin available at
http://www.escape-edv.de/endriss/vdr/
--------------------------------------------------------
More information about the linux-dvb
mailing list