diff -Naur mythtv-master-20201010-g68e85b9-old/mythtv/libs/libmythtv/diseqc.cpp mythtv-master-20201010-g68e85b9-new/mythtv/libs/libmythtv/diseqc.cpp --- mythtv-master-20201010-g68e85b9-old/mythtv/libs/libmythtv/diseqc.cpp 2020-10-10 16:07:19.956666666 +0200 +++ mythtv-master-20201010-g68e85b9-new/mythtv/libs/libmythtv/diseqc.cpp 2020-10-10 16:07:21.493333333 +0200 @@ -512,8 +512,13 @@ return false; } - // apply any voltage change - ApplyVoltage(settings, tuning); + // apply any voltage change for non-SCR systems + DiSEqCDevSCR *scr = FindSCR(settings); + if (!scr) + ApplyVoltage(settings, tuning); + else + LOG(VB_CHANNEL, LOG_INFO, LOC + "SCR bus->skiping setting LNB Voltage"); + // turn off tone burst first if commands need to be sent if (m_root->IsCommandNeeded(settings, tuning)) @@ -754,13 +759,15 @@ diseqc_bus_already_reset = false; } + // make sure the bus is powered + SetVoltage(SEC_VOLTAGE_18); + usleep(DISEQC_POWER_ON_WAIT); + // some DiSEqC devices need more time. see #8465 + usleep(DISEQC_POWER_ON_WAIT); + + if (!diseqc_bus_already_reset || !is_SCR) { - // make sure the bus is powered - SetVoltage(SEC_VOLTAGE_18); - usleep(DISEQC_POWER_ON_WAIT); - // some DiSEqC devices need more time. see #8465 - usleep(DISEQC_POWER_ON_WAIT); // issue a global reset command LOG(VB_CHANNEL, LOG_INFO, LOC + "Resetting DiSEqC Bus");