Thanks: 0
Ergebnis 1 bis 1 von 1
-
10.11.2017, 16:42 #1
- Registriert seit
- 09.11.2017
- Beiträge
- 3
- Thanks (gegeben)
- 0
- Thanks (bekommen)
- 0
- Total Downloaded
- 0
- Total Downloaded
- 0
[HOWTO] Rotor mit Unicable / JESS
Da Rotor mit Unicable im OpenATV-Image leider anscheinend nicht gerade gut umgesetzt wurde und es für einige schon lang bekannte Probleme immer noch keine Lösung gibt (siehe z.B. Unicable und Rotorsteuerung), habe ich mal selbst Lösungen für die Probleme gebastelt.
Falls noch jemand außer mir einen Rotor mit Unicable verwendet, stelle ich hier kurz meine Lösungen für die Probleme vor. Um diese zu übernehmen, muss man das OpenATV-Image mit kleinen Änderungen selbst bauen!
Zunächst einmal meine Konfiguration:
Tuner A:
Konfiguration: Erweitert
Satellit: All satellites 1 (USALS)
LNB: LNB 65
Priorität: Auto
LOF: Unicable / JESS
Unicable Konfiguration: Unicable Benutzerdefiniert
Diction: JESS(EN50607)
Kanal: SatCR 1
Frequenz: 1210
LOF/L: 09750
LOF/H: 10600
Schwellwert: 11700
LNB/Switch Bootup time [ms]: 02700
Tuning-Algorithmus: klassisch (schnell)
Verbunden: nein
Schnelles DiSEqC: Ja
Toneburst: Keine
DiSEqC 1.0 command: Keine
DiSEqC 1.1 command: Keine
Sequenz-Wiederholung: Nein
Längengrad: xxx.xxx
Breitengrad: xxx.xxx
Spezielle Motoroptionen: Nein
Tuner B:
Konfiguration: Erweitert
Satellit: All satellites 1 (USALS)
LNB: LNB 65
Priorität: Auto
LOF: Unicable / JESS
Unicable Konfiguration: Unicable Benutzerdefiniert
Diction: JESS(EN50607)
Kanal: SatCR 2
Frequenz: 1420
LOF/L: 09750
LOF/H: 10600
Schwellwert: 11700
LNB/Switch Bootup time [ms]: 02700
Tuning-Algorithmus: klassisch (schnell)
Verbunden: Ja
Verbunden mit: Tuner A
Schnelles DiSEqC: Ja
Toneburst: Keine
DiSEqC 1.0 command: Keine
DiSEqC 1.1 command: Keine
Sequenz-Wiederholung: Nein
Längengrad: xxx.xxx
Breitengrad: xxx.xxx
Spezielle Motoroptionen: Nein
Tuner C:
wie Tuner B, nur bei Verbunden mit: Tuner B
Tuner D:
wie Tuner B, nur bei Verbunden mit: Tuner C
usw.
Mit dieser Konfiguration hat man nun folgende Probleme:
1) Ist Tuner A belegt, kann Tuner B weiterhin drehen - sollte er aber nicht!
Um das zu verhindern muss man in der lib/dvb/sec.cpp folgende Änderungen vornehmen:
Code:--- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -206,6 +208,15 @@ ret += 15; eSecDebugNoSimulate("[eDVBSatelliteEquipmentControl] ret2 %d", ret); } + else if (linked_in_use && is_unicable) + { + eSecDebugNoSimulate("[eDVBSatelliteEquipmentControl] satpos depends on linked_in_use"); + if (rotor_pos != sat.orbital_position) // new orbital position not equal to current orbital pos? + ret = 0; + else if (direct_connected) + ret += 10; + eSecDebugNoSimulate("[eDVBSatelliteEquipmentControl] ret2 %d", ret); + } else if ((rotor && satpos_depends_ptr != -1) && !(is_unicable && is_unicable_position_switch)) { eSecDebugNoSimulate("[eDVBSatelliteEquipmentControl] satpos depends");
Das liegt wohl daran, dass die zuletzt angesteuerte Satposition irgendwo verloren geht. Ich kann leider nicht sagen, warum das so ist, aber sie ist in der config weiterhin gespeichert, deshalb stelle ich sie aus der config einfach wieder her:
Dazu muss man die lib/dvb/sec.cpp wie folgt ändern:
Code:--- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -7,6 +7,8 @@ #include <lib/base/eerror.h> +#include <lib/base/nconfig.h> // access to python config + #include "absdiff.h" #define SEC_DEBUG @@ -695,6 +706,12 @@ } eDebugNoSimulate("[eDVBSatelliteEquipmentControl] RotorCmd = %04x", RotorCmd); } + if(lastRotorCmd == -1 && sat.orbital_position == eConfigManager::getConfigIntValue("config.misc.lastrotorposition", 0)) + { + lastRotorCmd = RotorCmd; + sec_fe->setData(eDVBFrontend::ROTOR_CMD, RotorCmd); + sec_fe->setData(eDVBFrontend::ROTOR_POS, sat.orbital_position); + } } if ( send_mask )
Vor dem letzten Schritt muss man natürlich noch die Änderungen hinzufügen.
Dazu kopiert die sec.patch aus dem Zip-Archiv im Anhang (die Datei müsst ihr evtl. anpassen, falls das openATV-Team Änderungen in der sec.cpp vornimmt) in das Verzeichnis:
/home/openatvbuilder/openatv/build-enviroment/meta-oe-alliance/meta-oe/recipes-oe-alliance/enigma2/enigma2
Anschließend ändert ihr im übergeordneten Verzeichnis in der Datei enigma2.bb die Zeile:
Code:SRC_URI = "${ENIGMA2_URI}"
Code:SRC_URI = " \ ${ENIGMA2_URI} \ file://sec.patch \ "
-
Advertising
Lesezeichen