if (ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_A ) == -1)
{
ERRNO("FE_DISEQC_SEND_BURST failed");
return false;
}The sending of this command follows the sending of the correct Diseqc command and causes my switch to revert to the A input. According to diseqc specs equipment should ignore backwards compatible bursts after valid diseqc command but mine certainly doesn't and it is a common type in the UK claiming Diseqc and mini-diseqc comptability. With this commented out Live Tv now works and I can see channels from both sats. Unfortunately it does not cause the setup scan to work - this appears to be a further problem where dvbdiseqc.cpp is being called from the scanning program with the diseqc type set to 0 - forgive me but my c++ isn't quite up to following where in the scanning software this is not being properly setup. With dvbdiseqc.cpp hard coded to type 4 scan seems work ok. I hope this helps those I have seen on lists saying diseqc is not working for them. I also noted another bug in DVBDiSEqC::ToneSwitch which seems to be expecting tuning.diseqc_port to be set to 1 or 2 rather than the 0 or 1 it is currently being set to. The attached patch corrects both of these issues for me.
--- mythtv/libs/libmythtv/dvbdiseqc.cpp 2005-01-23 22:45:30.000000000 +0000
+++ mythtv-cvs/libs/libmythtv/dvbdiseqc.cpp 2005-03-07 10:39:32.652308128 +0000
@@ -133,15 +133,16 @@
bool DVBDiSEqC::ToneSwitch(dvb_tuning_t& tuning, bool reset, bool& havetuned)
{
- CHANNEL(QString("DiSEqC Tone Switch - Port %1/2").arg(tuning.diseqc_port));
+ CHANNEL(QString("DiSEqC Tone Switch - Port %1/2").arg(tuning.diseqc_port+1));
if (prev_tuning.diseqc_port != tuning.diseqc_port || reset)
{
- if (tuning.diseqc_port > 2)
+ if (tuning.diseqc_port > 1)
ERRNO("Tone Switches only supports two ports.");
if (ioctl(fd_frontend, FE_DISEQC_SEND_BURST,
- (tuning.diseqc_port == 1 ? SEC_MINI_A : SEC_MINI_B )) < 0)
+ (tuning.diseqc_port == 0 ? SEC_MINI_A : SEC_MINI_B )) < 0)
{
ERRNO("Setting Tone Switch failed.");
return false;
@@ -239,7 +240,7 @@
usleep(DISEQC_SHORT_WAIT);
}
}
-
+/*
if (ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_A ) == -1)
{
ERRNO("FE_DISEQC_SEND_BURST failed");
@@ -247,7 +248,7 @@
}
usleep(DISEQC_SHORT_WAIT);
-
+*/
if (ioctl(fd_frontend, FE_SET_TONE, tuning.tone) == -1)
{
ERRNO("FE_SET_TONE failed");
@@ -308,13 +309,13 @@
}
usleep(DISEQC_SHORT_WAIT);
}
-
+/*
if (ioctl(fd_frontend, FE_DISEQC_SEND_BURST, SEC_MINI_A ) == -1)
{
ERRNO("FE_DISEQC_SEND_BURST failed");
return false;
}
-
+*/
return true;
}
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
