Motorola MC3190 - Windows CE 6.0 zum Konfigurieren der Gerätezeit über die Registrierung

6592
Nzall

Ich muss ein Motorola MC3190 mit Windows CE 6.0 so konfigurieren, dass ein Zeitserver verwendet wird, um die Zeit nach einem Kaltstart einschließlich der Zeitzone automatisch einzustellen.

Dies ist meine aktuelle Konfiguration, die sich in Timereg.reg im Abschnitt "Anwendung" auf dem Gerät befindet:

REGEDIT4  [HKEY_LOCAL_MACHINE\Services\Timesvc] "Treshold":REG_DWORD "Threshold"=5265C00 "RecoveryRefresh":REG_DWORD "RecoveryRefresh"=36EE80 "Refresh":REG_DWORD "Refresh"=5265C00 "Server":REG_MULTI_SZ "Server" = "0.be.pool.ntp.org 1.be.pool.ntp.org 2.be.pool.ntp.org 3.be.pool.ntp.org"  "ServerRole":REG_DWORD "ServerRole" = 0 "Trustlocalclock":REG_DWORD "Trustlocalclock" = 0  "Keep":REG_SZ "Keep"=1  [HKEY_LOCAL_MACHINE\nls] "DefaultLCID" : REG_DWORD "DefaultLCID" = 2060   [HKEY_LOCAL_MACHINE\nls\overrides] "LCID" : dword "LCID" = 2060  [HKEY_LOCAL_MACHINE\Time] "@": REG_SZ @ = "Romance Standard Time"  [HKEY_LOCAL_MACHINE\Time Zones] "@": REG_SZ @ = "Romance Standard Time"  [HKEY_LOCAL_MACHINE\Time Zones\Romance Standard Time] "MUI_Display"="@tzres.dll,-300" "TZI"=hex:c4,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,00,\ 00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00 "Std"="Romance (standaardtijd)" "MUI_Std"="@tzres.dll,-302" "Dlt"="Romance (zomertijd)" "MUI_Dlt"="@tzres.dll,-301" "Display"="(UTC+01:00) Brussel, Kopenhagen, Madrid, Parijs"  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Clock] "AutoDST" : REG_DWORD "AutoDST" = 0  

Ich versuche, es so einzurichten, dass die Maschine bei einem Kaltstart die Zeitserver kontaktiert, aber es funktioniert nicht. Die Zeitzone ist ordnungsgemäß auf Romance Standard Time eingestellt, aber die Zeit beim Booten bei Kaltstart bleibt der 1. Januar 2009 um 12:00 Uhr. Ich bin mir ziemlich sicher, dass keine NTP-Anfragen gesendet werden (wireshark zeigt keine vom Gerät an), daher stimmt die Konfiguration nicht. Ich weiß nicht was, aber ich habe alles so konfiguriert, wie es sein sollte. Wohin gehe ich falsch?

Bearbeiten:

Ich habe herausgefunden, was das Problem war. Es stellt sich heraus, dass das Gerät den NTP-Server nicht kontaktiert, wenn er sich noch in der Ladestation befindet. Wenn Sie es aus der Ladestation entfernen, tritt dieses Problem nicht mehr auf.

Mein aktuelles Problem ist, dass es ein Problem mit der Zeitzone gibt: Es ist um 7 Stunden abgelaufen. Es scheint, als ob es auf der Texas-Zeitzone basiert, wo diese Maschine anscheinend hergestellt wurde. Gibt es eine Möglichkeit, dies zu ändern?

Aktualisieren:

Nach einigen weiteren Tests stellten wir fest, dass die Zeitzonenänderung nach dem ersten Warmstart nach einem Kaltstart ordnungsgemäß angewendet wurde. Wir wissen nicht, warum das so ist. Wir haben mehrere Kombinationen von Sequenzen von Registrierungsdateien ausprobiert, aber das war schon ein langer Weg. Weiß jemand, warum dies passiert und wie wir das ändern können?

1

2 Antworten auf die Frage

2
Nzall

Nach einigen Tests haben wir festgestellt, dass die neuen Registrierungseinstellungen erst in die Registrierungseinstellungen importiert werden, nachdem die Zeitzone eingestellt wurde. So führt das Gerät einen Kaltstart durch, liest die Registrierung, legt den Zeitzonenwert fest und DANN importiert die Registrierungseinstellungen. Dies bedeutete natürlich, dass die Zeit immer noch auf der alten Registrierungseinstellung beruhte.

Wir haben dies behoben, indem wir ein kleines Programm geschrieben haben, das nach einem Kaltstart automatisch einen Warmstart durchführt, sodass die Registrierung ordnungsgemäß konfiguriert ist.

Kannst du mir mehr über dein kleines Programm erzählen? Auf dem MC3190 kämpfen wir seit mehreren Monaten mit demselben Problem :( Vielen Dank im Voraus für hilfreiche Informationen! vor 9 Jahren 0
Grundsätzlich hat WinCE eine Anzahl von Booten an einem beliebigen Ort (nicht sicher, wo Sie suchen müssen). Ich glaube, dies ist 0 nach dem ersten Kaltstart und 1 nach dem ersten Warmstart. Ich habe ein 5-Zeilen-Programm in C # geschrieben, das diese Anzahl von Starts gelesen hat, und den Computer neu gestartet, wenn es 0 war. Ich legte diese Datei in den Autostart-Ordner und danach funktionierte sie. Nzall vor 9 Jahren 1
0
capcj

@Nzall answer inspirierte mich dazu, weiter zu gehen: Anstatt eine Art Anwendung zu erstellen, um den Warmstart nach einem Kaltstart zu verwalten, fügte ich einen Aufruf zu einer warmboot.exe (sehr beliebt im xda devs-Forum) im Verzeichnis StartUpCtl / OnRestore hinzu Damit wird sichergestellt, dass nach dem vollständigen Kaltstart der Warmstart ausgeführt wird. Die Zeitzone wird nun korrekt konvertiert, da @Nzall sich selbst entdeckt hat (Danke!).

StartUpCtl ist ein bekanntes Programm, das dafür verantwortlich ist, Routinen auf dem Handheld nach Belieben auszuführen - Programme ausführen, Dateien kopieren / löschen usw.