Перейти к содержанию

Hardware Watchdog

os-watchdog · Система

Взводит аппаратный watchdog хоста, чтобы остановившийся хост сбрасывало его собственное оборудование, и читает из чипсета, почему хост был сброшен в последний раз.

В меню

  • С установленным os-xgs-npu: XGS: Hardware Watchdog
  • Без os-xgs-npu: System: Hardware Watchdog
Hardware Watchdog в веб-интерфейсе
Его страница в веб-интерфейсе, на английском.

OPNsense сам не взводит никакого watchdog. Когда настройка включена, этот плагин при каждой загрузке взводит сторожевой таймер чипсета с помощью watchdogd(8) и снимает его при каждом выключении, чтобы выключенная машина оставалась выключенной. Драйвер таймера зависит от процессора: amdsbwd на AMD, ichwd на Intel.

На процессорах AMD семейства 17h и новее он также при каждой загрузке читает, почему хост был сброшен в последний раз, - регистр S5_RESET_STATUS в FCH, по биту на каждую причину, - сохраняет прочитанное и очищает регистр для следующей загрузки.

На Sophos XGS с os-xgs-npu таймер уже взводит os-xgs-npu, и он же читает запись о сбросе, поэтому этот плагин отходит в сторону: не запускает свой watchdogd и показывает watchdogd os-xgs-npu, а вместо чтения регистра берёт запись, которую os-xgs-npu прочитал в этой загрузке. Его собственные настройки вступают в силу, как только os-xgs-npu перестаёт взводить таймер.

Возможности

  • Таймер взводится при загрузке

    watchdogd(8) взводит таймер чипсета при каждой загрузке и снимает его при каждом выключении.

  • Две настройки

    Включено или выключено, и тайм-аут: 64, 128 или 256 секунд.

  • Последний перезапуск

    Почему хост был сброшен в последний раз, как это записал чипсет, с каждым установленным битом и его значением. На процессорах AMD семейства 17h и новее.

  • Кто держит таймер

    Страница показывает, взведён ли таймер и кем: этим плагином, os-xgs-npu или другим watchdogd. Watchdogd, запущенный чем-то другим, не трогается.

  • Один читатель на загрузку

    Первое чтение за загрузку очищает запись, поэтому, если её прочитал os-xgs-npu, плагин берёт его запись.

Установка и обновление

Начиная с релиза os-xgs-npu, следующего за 0.1.0-alpha.7.1, XGS: Updates показывает его на вкладке Plugins — установленная копия обновляется там вручную, а отсутствующая там же устанавливается, — и готовые образы, собранные из этого релиза, содержат его; до тех пор он устанавливается и обновляется, как описано ниже. Ни одна запись cron не запускает обновление. Установить его на устройстве XGS или на любом другом OPNsense можно от root: из checkout репозитория командой sh install/install.sh, которая помещает страницу под XGS при os-xgs-npu и под System без него и сохраняет настройки при повторном запуске; или из пакета релиза os-watchdog-1.0.0.pkg, проверенного по SHA256SUMS и добавленного через pkg. Установленная так копия обновляется собственным self-update.py. В репозитории плагинов OPNsense его нет.

Ограничения и то, что ещё не проверено

  • Взведение и снятие таймера этим плагином: на каждом устройстве с os-xgs-npu он отходит в сторону.
  • Таймер ichwd процессоров Intel.
  • Пакет, собранный tools/make-package.sh и добавленный через pkg.
  • Установка на OPNsense без os-xgs-npu.
  • Обновление через вкладку Plugins или self-update.py: 1.0.0 - первый релиз, поэтому ни один ещё не опережал установленную копию.

Репозиторий

Первый выпуск: 2026-10-25

os-watchdog Выпуски