Zum Inhalt springen
Start  › ... Service › Forum
mrth
  • mrth
  • 100% (Erhaben)
  • Advanced Member Thema Starter
vor 12 Jahre


Mit den aktuellen DD Treibern und einem CI Modul für mehrere Tuner passiert es so alle 30 bis 40 Aufnahmen das beim Aufwachen das CI Modul nicht richtig initialisiert wird. Alle verschlüsselten Aufnahmen schlagen dann fehl bis das CI Modul durch Deaktivieren/Aktivieren neu gestartet wird.In der aktuellen Version von vcr.net kann zwar im Profil ein Aufweckgerät angegeben werden, aber wenn wie hier nur ein Gerät für mehrere Tuner vorhanden ist, kommt es zu Störungen wenn dieses Gerät in mehreren Profilen verwendet wird. Das liegt daran, dass der Reset des Aufwachgerätes bei der ersten Aufnahme mit diesem Profil nach dem Aufwachen durchgeführt wird. Ein von einem anderen Profil bereits erledigtes Reset wird nicht berücksichtigt.



Ich habe mir deshalb mit einer Sammlung von Scripten und Tools einen globalen CI Modul Reset bei der ersten Aufnahme nach dem Aufwachen gebastelt.



Prinzip:

1. beim Booten: löschen eines Flags

2. beim Hibernate durch vcr.net: löschen eines Flags

3. beim Hibernate von Hand: löschen eines Flags

4. beim Aufwachen: Reset des CI Gerätes wenn das Flag gelöscht ist und setzen des Flags



Tools:

devcon (6.1.7600) aus dem Windows Device Driver Kit

Hibernate Trigger von http://www.desimonesystems.com/suspendtrigger/index.php



für 1. Aufruf des folgenden Scripts durch den Windows Taskplaner beim Starten mit höchsten Rechten. Bei den Rechten von th habe ich für Benutzer Vollzugriff erteilt, da sonst der Windows 7 UAC an manchen Stellen zuschlägt.

reg add HKLM\Software\JMS\th /v reset_cam /t REG_DWORD /d 0 /f



für 2. Hibernate Extension Script:

reg add HKLM\Software\JMS\th /v reset_cam /t REG_DWORD /d 0 /f

shutdown /h



für 3. Hibernate Trigger wird beim Windows Start gestartet und soll beim Hibernate von Hand das Script aus 1. starten.



für 4. BeforeprofileAccess Script:

rem echo %time% profile access >> c:\temp\reset.txt

for /f "tokens=3 delims= " %%i in ('reg query hklm\software\jms\th /v reset_cam') do set s=%%i

if %s% == 0x1 goto EOF

reg add HKLM\Software\JMS\th /v reset_cam /t REG_DWORD /d 1 /f

rem echo %time% cam reset >> c:\temp\reset.txt

rem "c:\program files\util\devcon" status "DD_DVB\VEN_DD01&CI" >> c:\temp\reset.txt

"c:\program files\util\devcon" disable "DD_DVB\VEN_DD01&CI"

rem "c:\program files\util\devcon" status "DD_DVB\VEN_DD01&CI" >> c:\temp\reset.txt

"c:\program files\util\devcon" enable "DD_DVB\VEN_DD01&CI"

rem "c:\program files\util\devcon" status "DD_DVB\VEN_DD01&CI" >> c:\temp\reset.txt



Falls jemand eine elegantere Methode hat: immer her damit.



 



Helmuth