16 881
правка
Строка 462: | Строка 462: | ||
== Сторожевой таймер == | == Сторожевой таймер == | ||
=== Как устроен === | |||
В контроллере есть специальный сторожевой таймер watchdog, реализованный в embedded контроллере — он перезагружает контроллер при зависании ПО. | |||
Если таймер досчитывает до 60 секунд embedded контроллер выключает на 1 секунду питание, что приводит к перезагрузке контроллера. Отсчёт таймера начинается после загрузки ОС Linux, это где-то 120 секунд после включения контроллера. | |||
В нормальном режиме таймер циклично сбрасывается через внутренний интерфейс, по которому embedded контроллер общается с основным процессором. Сброс сторожевого таймера контролируется специальным сервисом Linux '''watchdog'''. | |||
На контроллере есть физическая кнопка сброса сторожевого таймера, находится она на плате и подписана как Watchdog OFF. Используйте её, если один из отслеживаемых сервисов зависает, или если вам нужно внести изменение в конфигурацию. | |||
=== Отключение === | |||
Отключайте слежение за сервисами только в крайнем случае, например, если вы не используете отслеживаемый сервис или он не работает должным образом. После устранения причин, сторожевой таймер надо включить. | |||
Watchdog следит за сервисами, указанными в файле <code>/etc/watchdog.conf</code> в разделе <code># Test if vital daemons are running</code>. | |||
Вы можете добавить в него свой сервис или отредактировать заводской список: | |||
# Разберите корпус контроллера. | |||
# Нажмите и держите кнопку Watchdog OFF на протяжении всей процедуры. | |||
# Включите контроллер. | |||
# Остановите сервис командой <code>systemctl stop watchdog</code>. | |||
# Измените список отслеживаемых сервисов в файле <code>/etc/watchdog.conf</code> | |||
# Запустите сервис командой <code>systemctl start watchdog</code>. | |||
# Отпустите кнопку Watchdog OFF. | |||
== Питание == | == Питание == |