[mythtv] Ticket #1945: DVB-S/diseqc patch
Yeasah Pell
yeasah at schwide.com
Fri Jul 21 02:02:29 UTC 2006
Mark Buechler wrote:
> Yeasah, I did notice a few times today something odd with your switch
> code. The very first switch command sent (as the backend starts)
> doesn't seem to work on either on my switches, or doesn't always work,
> anyway. I'm wondering if your diseqc reset is throwing the switch for
> a loop for a brief period. What's the wait time between switch
> commands? Is this reset necessary? Tomorrow I'll test by taking out
> the reset to see if that helps though this problem doesn't happen all
> the time for me.
>
> - Mark.
The reset is there just to get everything into an initialized state --
it only does it when the frontend device is first opened, as you say. It
isn't strictly required, since all the devices should be explicitly
reset to their desired values anyway, it's just in there to make sure
everything is completely sane before proceeding.
DiSEqCDevTree::ResetDiseqc is where the reset is done, you can look
there for details on what exactly happens at reset time. Basically the
reset delays are 100ms, and by default currently it power cycles the
diseqc devices as well. It would be interesting to know if the situation
improved if you disabled the power cycle (change it to call ResetDiseqc
with a the hard_reset parameter set to false).
Does this happen on more than one kind of DVB card, or have you only
noticed it on one type so far? I think you have a couple of twinhan dst
cards in your setup, don't you? I have a couple of patches outstanding
for that driver, one of which has been accepted but doesn't yet seem to
be in the main hg tree yet. One of them improves tone/power control, but
more importantly the other one improves error reporting. Without that
patch, failed commands would often not be reported to the application
(and in my experience there are times when the driver won't successfully
complete commands for extended periods of time, 100s of ms -- hence the
relatively lengthy ioctl retry sequences in the diseqc code.) I could
easily see that being part of the problem...
-y
More information about the mythtv-dev
mailing list