Motorola MC3190 - Windows CE 6.0 настроить время устройства через реестр

6609
Nzall

Я должен настроить Motorola MC3190 под управлением Windows CE 6.0 для использования сервера времени для автоматической установки времени после холодной загрузки, включая часовой пояс.

Это моя текущая конфигурация, найденная в Timereg.reg в разделе приложения на устройстве:

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  

Я пытаюсь настроить его так, чтобы машина работала с серверами времени при холодной загрузке, но это не работает. Часовой пояс установлен на Romance Standard Time, но время загрузки при холодной загрузке остается 1 января 2009 года в 12:00. Я вполне уверен, что NTP-запросы не отправляются (wireshark не показывает никаких запросов с устройства), поэтому что-то не так с конфигурацией. Я не знаю, что, хотя, я все настроил так, как должно быть. Куда я иду не так?

Редактировать:

Я понял, в чем проблема. Оказывается, устройство не связывается с NTP-сервером, если оно все еще находится в базовой станции. если вы удалите его из колыбели, у него больше не будет этой проблемы.

У меня сейчас проблема в том, что есть проблема с часовым поясом: он выключен на 7 часов. Похоже, что он основан на часовом поясе Техаса, где эта машина, очевидно, была сделана. Есть ли способ изменить это?

Обновить:

После еще одного тестирования мы выяснили, что изменение часового пояса было применено правильно после первой перезагрузки после холодной загрузки. Мы не знаем, почему это происходит, хотя. Мы перепробовали несколько комбинаций последовательностей файлов реестра, но это было само по себе. Кто-нибудь знает, почему это происходит и как мы можем это изменить?

1

2 ответа на вопрос

2
Nzall

После некоторого тестирования мы выяснили, что новые параметры реестра не импортируются в параметры реестра до тех пор, пока не будет установлен часовой пояс. устройство выполняет холодную загрузку, читает реестр, устанавливает значение часового пояса, затем импортирует настройки реестра. Конечно, это означало, что время все еще основывалось на старых настройках реестра.

Мы исправили это, написав небольшую программу, которая автоматически выполняет горячую перезагрузку после холодной загрузки, поэтому реестр настроен правильно.

не могли бы вы рассказать мне больше о вашей маленькой программе? Мы боремся с той же проблемой на MC3190 в течение нескольких месяцев :( Большое спасибо заранее за любую полезную информацию! 9 лет назад 0
По сути, WinCE где-то подсчитывает количество загрузок (не знаю, где, для этого вам придется поискать в Google). Я считаю, что это 0 после первой холодной загрузки и 1 после первой горячей перезагрузки. Я написал 5-строчную программу на C #, которая считала это количество загрузок, и перезагрузил компьютер, если он был 0. Я поместил этот файл в папку автозапуска, и после этого он заработал. Nzall 9 лет назад 1
0
capcj

Ответ @Nzall вдохновил меня пойти дальше: вместо того, чтобы создавать какое-то приложение для управления «горячей» загрузкой после «холодной» загрузки, я добавил вызов warmboot.exe (очень популярного на форуме разработчиков xda) в каталоге StartUpCtl / OnRestore, гарантируя, что после полной загрузки холодной загрузки будет выполнена горячая загрузка, правильно преобразовав часовой пояс, как обнаружил @Nzall (спасибо!).

StartUpCtl - это известная программа, которая отвечает за обработку любых подпрограмм в контроллере по вашему желанию - запуск программ, копирование / удаление файлов и т. Д.