Hardware Watchdog
os-watchdog · Система
Взводит аппаратный watchdog хоста, чтобы остановившийся хост сбрасывало его собственное оборудование, и читает из чипсета, почему хост был сброшен в последний раз.
В меню
- С установленным os-xgs-npu: XGS: Hardware Watchdog
- Без os-xgs-npu: System: 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