Amin 's Blog
Сегодня я расскажу о паре устройств, предназначенных для аварийной перезагрузки зависших компьютеров — аппаратных вотчдогах. Если вам интересно, что это и как подключать — прошу под кат.
Применяются такие устройства там, где в случае зависания более желательно сразу же ребутнуть машину, а не ждать, пока к ней приедет техник. Платёжные терминалы, майнинговые фермы, компьютеры для опроса установленных в труднодоступных местах датчиков — прекрасные кандидаты для установки таких модулей.
Я рассмотрю два очень похожих девайса —
USB Watch Dog Pro2 от Open-Dev.ru и очень на него похожий, но немного отличающийся
Bitroleum Watchdog
Они настолько похожи, что сложно сказать, кто у кого позаимствовал. Но что хорошо — у них совершенно одинаковый протокол управления.
Принцип работы прост до безобразия:
— одной частью таймер включается в порт USB
— второй частью проводными шлейфиками таймер подкючается параллельно кнопкам Reset и Power.
Будучи USB-RS232 портом по сути, он видится в системе как /dev/ttyACM0, куда можно отправлять команды — обычные текстовые последовательности. Текстовый протокол — это изумительно ! Нам не надо писать сложный код на каких-то сложных языках и фреймворках. Основной сигнал
U, который мы может периодически отправлять таймеру вот таким скриптом:
while true
do
echo -n «
U» > $PORT;
sleep 5;
done
Скрипт запускаем в фоне, и он в бесконечном цикле каждые 5 секунд шлет команду «
U» в порт таймера. Опция -n нужна в echo, чтобы туда не отправлять перенос строки, он не нужен.
Получив такой сигнал, таймер понимает, что комп жив, и понимает, что ничего делать не надо. Если же в течении трёх минут сигналов такого типа не было — таймер активирует оптопару на линии резета примерно на полсекунды. Если и следующий защитный интервал будет без сигналов — будет на 3 секунды включена оптопара линии питания.
Текстовый протокол воистину прекрасен, что позволяет на том же bash реализовать весьма заковыристые сценарии по сути встроенными средствами ОС.
Но есть ряд важных ньюансов аппаратного толка.
Первый и самый важный — распиновка линий питания/резета.

У оригинального опен-девовского таймера линии независимы, и контактные колодки кнопки / шлейфа ставятся перепендикулярно плате, тогда как у битролеума — параллельно плате. Эти отличия я постарался наглядно пометить на фотке.
Второй важный момент — полярность. Оптопара — девайс полупроводниковый, и при подаче сигнала она пропускает ток только в одну сторону. Тут есть второе важное отличие — если у опен-девовского деваса (черного) подключить линию резета/питания не той полярностью, то система на это никак не отреагирует вообще. Лучше проверить корректность подключения ручной подачей команды:
# Manual Reset:
echo -n «
# Manual Power:
echo -n «
То есть у опендевовского таймера просто стоят две совершенно независимые оптопары на каналах.
Вотчдог от битролеума (красный) имеет общую землю между каналами и дополнительные диоды. Поэтому в случае неправильного подключения битролеумовский ватчдог будет держать материнку в вечном резете, что сразу сигнализирует о неправильной полярности включения.
Второй важный ньюанс именно с полярностью — на разных материнках полярность линий резета / питания на контактной площадке может отличаться, и часто вообще не указана, поскольку там ожидается механическая кнопка, а не оптопара.

Можно заметить, что на самой материнке полярность определить можно только подбором.
Третий важный момент — USB, в варианте для установки на плату.
На разъёме под материнку у вотчдогов нет глухого отверстия, и надо быть очень внимательным при подключении в материнку. Я выделил USB-Key (позиция для отсутствующего контакта) на первой фотке. Иногда разъём немного шире окантовки — в этом случае окантовку можно аккуратно снять.
Из мелких отличий — у опен-девовского вотчдога два светодиода — зеленый мигает, когда приходит сигнал
U или иное управление, а красный — когда сигнал пропущен. Перед самым резетом красный сигнал мигает гораздо чаще. У битролеумовского же таймера только один желтый светодиод, который мигает от любого сигнала и не такой яркий.
Но опен-дев также упоминает в мануале, что возможно и полностью ручное управление каналами, что даёт возможности прикручивать всякую более интересную автоматику.
USB Watchdog (как его готовить?)
Китаец прислал кучу вотчдогов, скинул на почту ПО.
в ПО куча малваров, но суть не в этом.
Запускаю ПО, жму кнопку Reset — реле щелкает, ага значит работает.
ПО отсчитывает секунды ватчдог мигает.
Выключаю ПО вотчдог горит но не ресетит ферму.
Отключаю хард от системы делаю мертвый висяк, вотчдог молчит, не ресетит.
Что за дерьмо?
Потом опытным путем выяснил что резет срабатывает через 3 минуты после отключения ПО, хотя я ставлю что 10 секунд.
Он что не обновляет в вотчдог инфу о том что теперь надо через 10 секунд щелкать?
Кароче странное устройство пока не понимаю ему применение, а главное спасет ли оно в случае чего.
Риги в 500 км от дома, прав на ошибку нет, а риги постоянно зависают.
Как работает usb watchdog




Eсли вы используете HiveOS, то устанавливать ПО не требуется.
Поддержка USB WatchDog уже реализована разработчиками Hive OS.
Более подробно с возможностями можно ознакомиться на сайте ОС.
RaveOS, NiceHash по нашим сведениям также имеют встроенное ПО для работы, но у нас нет подробной информации об этом. За подробностями, лучше обращаться в ТП данных дистрибутивов.
WatchDog имеет сразу два USB интерфейса:
USB HID — для тех, кто хочет простой установки (драйвер не требуется, минималистичная программа).
USB CDC — для тех, кто хочет иметь больший контроль и гибкость работы или использовать скрипты.
Программа wdtmon3-mini работает с интерфейсом USB HID.
Программа wdtmon3 работает с интерфейсом USB CDC.
Программа wdtmon4 работает с интерфейсом USB CDC.
Устанавливать нужно только одну из этих программ.
Программа, которая работает с USB WatchDog и позволяет:
1. Изменять настройки USB WatchDog;
2. Управлять каналами вручную;
3. Смотреть информацию об устройстве;
4. Следить за доступностью интернета;
5. Следить за процессом.
Скачать Win/Linux/macOS
Страница подробной инструкции по программе доступна по ссылке.
Перед работой с wdtmon3, возможно, понадобится установить драйвер.


Автозапуск материнской платы после подачи питания
После настройки сторожевого таймера необходимо зайти в настройки БИОСа материнской платы и включить там две опции:
1. «Включение компьютера после подачи питания» (доступна ли эта опция и как она называется зависит от конкретной модели мат. платы — эта информация должна быть в инструкции к мат. плате).
2. Подача питания на порты USB при выключенном компьютере (опять же — обратитесь к инструкции к мат. плате). Например, для мат. платы Asus Z370-P необходимо включить в BIOS опцию «USB Charger in state S5«. Возможно питание будет подаваться не на все USB порты — необходимо подключить WatchDog к тому порту, на который подается питание. Проверить это можно подключив вачдог (или например мышь со световой индикацией питания) к порту на выключенном компьютере. WatchDog Pro2 должен через какое-то время замигать красным.
Тогда после потери электропитания компьютер включится сам (если настроена опция 1.). Если опция 1 по какой-то причине не сработала, вачдог через определенное время (два раза по T1 — см. инструкцию к устройству) запустит систему (при условии что настроена опция 2).
Обратите внимание, что WatchDog Pro2 запустит систему не сразу, а через время 2*T1.
Если на вашей материнской плате питание на USB не включается, то вам поможет «источник бесперебойного питания для WatchDog Pro2» USB PS.

1. После установки и настройки программного обеспечения на устройстве должен начать мигать зелёный светодиод — это означает, что устройство видит свою управляющую программу и находится в штатном режиме. Если устройство мигает красным — программа не запущена или не настроена.
2. В wdtmon3-mini и wdtmon3 есть кнопки для тестовой проверки работы перезагрузки пк.
Необходимо в ручном режиме убедиться, что провода reset и power подключены правильно. Для этого можно нажать кнопку «Reset»/»Перезагрузка» для тестирования канала «Reset» и (в серии Pro) «Power»/»Жёсткая перезагрузка» для тестирования канала «Power». Если после нажатия перезагрузки не произошло, нужно проверить, что подключение сделано верно или поменять полярность подключения проводов на каналах «Reset» и «Power» .
Ко входу Вх/In USB WatchDog Pro2 можно подключить внешний термодатчик на базе DS18B20. Для этого к «-» входа подключаются объединённые контакты GND и VDD датчика DS18B20, а к «+» DQ датчика.
Входу в программе wdtmon3 (параметр IN channel) необходимо установить значение «Temperature».

G (см. таблицу 1 раздела «Продвинутое управление устройством»). Данные о температуре следует считывать не чаще, чем 1 раз в 3 секунды.
Автоматическая перезагрузка при превышении температуры
Если значение Temperature treshold (критический порог температуры) установить больше 0, то включается режим автоматического контроля за температурой.
В этом режиме USB WatchDog анализирует значение температуры каждые 3 секунды.
При превышении температуры выполняются те же действия, что и при переполнении таймера, которые определяются конфигурацией каналов. Например, возможна настройка автоматического перезапуска или выключения устройства при перегреве.
К сторожевому таймеру можно подключить какой-либо дискретный сигнал: кнопку, геркон и т.п.
Для активации режима следует настроить вход на режим работы с внешним сигналом в программе wdtmon3.
Ко входу Вх/In USB WatchDog возможно подключение нормальнозамкнутого/нормальноразомкнутого концевого датчика согласно рисунку.
Значение данного входа можно программно считывать с помощью текстового протокола.
Следует помнить, что вход идет напрямую на процессор. Подача на этот вход сигналов напряжением выше 3.6В и ниже -0.6В приведет к порче процессора.

Connect.UnitX — облачный минималистичный сервис для удалённого контроля сенсорных устройств.
Облачный сервис не является частью данного продукта, но может пригодиться, если нет другой возможности узнать о состоянии устройства через интернет.
- История работы устройства.
- Контроль температуры (для USB Watchdog Pro2 с термодатчиком).
- Автоматические оповещения при перезагрузке или превышении температуры.
На графике мы видим сигналы «столбцы» от сторожевого таймера: это значит, что сторожевой таймер online и исправно отсылает свой статус.
Если произошла включение/перезагрузка — «столбец» будет вдвое выше.
Если компьютер выключен или нет сети — появится промежуток между столбцами, по которому можно будет понять, сколько не было работы.

Это один из самых частых вопросов, поступающих в техподдержку. Попробуем разобраться, что приводит к такой ситуации и как ее решать.
Спойлер: не настроено (или настроено неверно) программное обеспечение.
Во-первых — почему вачдог перезагружает систему, раз она не повисла?
Вачдог сам ничего не знает о работоспособности системы. У него есть таймер (настроенный, по-умолчанию, как раз на 5 минут). Если вачдог не получит сигнал от программы (или bat-файла) в течение этого времени, система будет перезагружена.
Как решать проблему?
Убедитесь, что вы выполнили все пункты по настройке вачдога, драйвера вачдога и программы, перечисленные в статье.
Далее, проверяйте по шагам этапы настройки:
1. В диспетчере устройств вачдог определяется как последовательный порт (COMx), рядом со значком устройства нет восклицательного знака, в свойствах написано что «Устройство работает нормально».
2. В программе (или bat-файле) указан верный порт (COMx). COM1 — зарезервирован в о.с. Windows, если указан COM1 — точно работать не будет.
3. В случае программы, должна мигать зеленая лампочка справа от кнопки Scan, при этом на самом вачдоге тоже должна мигать зеленая лампочка. Если что-то из этого не работает, проверьте пункт 1, затем проверьте что (если включен мониторинг сети) указан существующий интернет-адрес и ваша система подключена к сети, если включен мониторинг процесса — убедитесь, что указан существующий процесс и этот процесс не повис. На этапе настройки, особенно если что-то пошло не так, лучше отключить обе галочки — их можно будет включить потом, когда все заработает.
4. Убедитесь, что настройки программы (в первую очередь номер порта) сохранились.
5. Убедитесь, что настроен автозапуск программы — перезагрузите систему и убедитесь, что программа запускается при старте системы.
Вероятнее всего, вам придется настроить правила udev для устройства.
Вы можете взять готовый файл для HID инетрфейса https://software.open-dev.ru/software/98-odhid.rules.
Если нужен доступ к CDC, можно дописать ещё строку:
KERNEL==»ttyACM[0-9]*», SUBSYSTEM==»tty», ATTRS
В первую очередь, нужно иметь в виду, что перезагрузка происходит не сразу, а через t1 (по-умолчанию 5 минут) нажимается Reset и еще через t1 нажимается Power.
В очень редких случаях может происходить одна из следующих ситуаций:
1. Неправильная полярность подключения проводов от USB WatchDog к материнской плате, но тестовая перезагрузка проходит, а при реальном повисании — эффекта нет. Решение: поменять полярность, проверить, работает ли тестовая перезагрузка и дождаться следующего повисания.
2. Настройки t2-t5 не подходят для данной мат.платы. Решение: попробовать другие параметры нажатий Reset и Power с помощью программы wdtmon3.
Варианты решения проблемы:
1. Отключить обновления системы или перевести их в ручной режим
2. Создать скрипты в редакторе локальной групповой политики, которые ставят вачдог на паузу при выключении ПК и снимают с паузы при включении. Для этого в редакторе локальной групповой политики необходимо добавить в раздел «Сценарии (запуск/завершение)» -> «Завершение работы» bat-скрипт со следующим содержанием: set /p x=»
P1″ <nul >\\.\%PORT%, где %PORT% — имя последовательного порта вачдога. Для снятия с паузы при включении необходимо добавить в раздел «Автозагрузка» добавить bat-скрипт со следующим содержанием: set /p x=»
P0″ <nul >\\.\%PORT%, где %PORT% — имя последовательного порта вачдога.
Если для отрисовки окна приложения wdtmon3 недостаточно ресурсов системы (например, если видеокарты загружены, или осуществляется доступ к системе через TeamViewer), в окне программы может ничего не отображаться (пустое белое окно).
- Производить работу с программой напрямую (без использования удаленного доступа, например, программы TeamViewer).
- Снизить загрузку системы, временно остановив исполнение ресурсоемких приложений.
- Запустить программу wdtmon3 в режиме «Программный рендеринг». В этом режиме программа менее требовательна к ресурсам системы, однако отрисовка окна программы может производиться с задержкой и с артефактами.
- открыть командную строку (cmd.exe для о.с. Windows, gnome-terminal/konsole/. для о.с. Linux, Terminal.app для о.с. macOS)
- перейти в папку, где находится исполняемый файл программы:
- windows: cd C:\Path\to\wdtmon3_win32\
- linux: cd /path/to/wdtmon3_lin64/
- macOS: cd /path/to/wdtmon3.app/Contents/MacOs/
- windows: wdtmon3.exe —softgl
- linux, macOS: wdtmon3 —softgl
Отключить режим «Программный рендеринг» можно выключив соответствующую опцию во вкладке About (О приложении). Режим будет выключен при следующем запуске приложения.
Обратите внимание, что при включенном программном рендеринге возможны артефакты отображения окна программы
Использование Watchdog v 9.0 для обеспечения бесперебойной работы рига
Любое оборудование при продолжительной работе может сбоить из-за различных причин. В майнинге это, как правило, проблемы, связанные с переразгоном, перегревом, критическим накоплением программных ошибок, переполнением доступной памяти, распространением помех по сети и прочим.
При простое оборудования, использующегося при майнинге, происходит потеря дохода. Для уменьшения простоев, вызванных сбоями в работе оборудования, стоит использовать программные watchdog’s («сторожевые собаки»), а также аппаратные устройства.
Использование аппаратных устройств оправдывается тем, что они должны срабатывать даже при полном зависании операционной системы или появлении критических ошибок, в случае которых программный вотчдог не сработает.
Такие устройства, как правило, стоят не очень дорого и их можно купить в местных магазинах или заказать на Aliexpress.
В этой статье рассматривается один из последних аппаратных Watchdog-ов, производимых в Китае фирмой Finedar – USB устройство версии 9.0 (стоимость около 3,5 долларов США):

Описание и технические данные USB Watchdog v 9.0:
Преимущества USB вотчдога версии 9.0:
- имеется достаточно большой цифровой экран и звуковая сигнализация (зуммер);
- поддержка большинством материнских плат с интерфейсом USB от версии 2.0 (тип A);
- гарантирована работа в операционных системах семейства Windows x86/x64 (включая версии XP, Win7, 8/8.1, 10), а также в ОС семейства Linux;
- есть возможность установки времени отключения/перезагрузки и включения майнинг рига;
- имеется опция мониторинга работоспособности видеокарт и наличия подключения к интернету;
- возможность логирования состояния работы устройства.
Существует две версии комплектации устройства: в корпусе из оргстекла и без него (опция with shell / no shell).. В комплект поставки входят: watchdog (в прозрачной коробочке или без нее), две пары проводников для коммутации линий power on/off и Reset.
Устройство обладает следующими параметрами:
- габаритные размеры 65x23x14 мм;
- драйвера и программное обеспечение скачивается из интернета по ссылке;
- длина проводников для коммутации линий включения и перезагрузки – 500 мм;

- потребляемый ток от линии 5 вольт USB – не более 0,2 ампер;
- диапазон времени для отсрочки перезагрузки – от 10 до 1270 секунд (по умолчанию – от 180 секунд);
- диапазон времени для осуществления запланированного перезапуска (дней) – 1-99, при установке значения в ноль автоматический перезапуск по таймеру осуществляться не будет;
- параметры отображения на дисплее устройства: номер хоста, время работы системы, количество видеокарт, код ошибки, состояние связи;
- автоматическая перезагрузка происходит при следующих ошибках: критические сбои в работе компьютера, синий экран, необычное состояние видеокарт, отсутствие подключения к интернету.
На плате устройства имеется кнопка On для запуска системы (дублирует функцию кнопки включения питания).
На дисплее устройства отображается номер рига (четыре символа в формате xxxx), который можно установить программным способом. Отображение количества доступных видеокарт производится с использованием двух символов в формате D-xx.
Как использовать watchdog версии 9.0
Для использования watchdog 9.0 нужно выполнить следующие действия:
- загрузить программное обеспечение для работы с устройством. Это можно сделать по ссылке производителя (сайт иногда работает очень медленно) или по ссылке отсюда;
- установить драйвер watchdog-а в работающей операционной системе с помощью программы WatchdogDriverSetup.exe и выключить компьютер;
- подключить пару проводников к двум контактам “RST” устройства (используется для перезапуска компьютера, обычно синяя пара проводов) и скоммутировать их к разъему материнской платы “Reset”;
- подключить пару проводников к разъему устройства “PWR” и скоммутировать их к разъему материнской платы “PWR BTN”;
- вставить устройство в разъем USB на материнской плате;
- включить риг и войти в систему. Если компьютер автоматически не сартовал, то осуществить запуск с помощью кнопки On на устройстве;
- запустить программное обеспечение PCWatchDog_V9.0.exe для мониторинга сторожевой собаки и настроить его параметры ,а также добавить его в автозагрузку.
Для добавления программы мониторинга PCWatchDog_V9.0.exe в автозагрузку нужно создать ее ярлык и поместить его в папку “C:\Users\Z370\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”.
Для проверки работоспособности устройства нужно нажать на кнопку “Reset now” в программе watchdog-а и убедиться, что компьютер перезагрузился и все необходимые программы запустились в автоматическом режиме.
Для проверки также можно просто закрыть программу мониторинга watchdog-а и проследить, чтобы риг перезагрузился по истечении времени, выставленного в поле таймаута перезагрузки (10-1270 секунд). Это значение нужно выставлять больше на не менее 20-30 секунд чем время, необходимое для загрузки операционной системы и программы мониторинга.
Установка драйверов для watchdog
Установку драйверов для watchdog можно осуществлять и без подключения самого устройства к материнской плате. Она производится следующим образом:
- Нажать программу установки драйверов WatchdogDriverSetup.exe:

- В появившемся окне нажать кнопку Install:

- Подождать пару секунд. При успешной установке драйверов появится следующее сообщение:

Запуск и настройка программы PCWatchDog_V9.0
Если программа PCWatchDog не работает, а устройство подключено к USB-разъему, то на дисплее не отображаются контрольные данные. При этом, как правило, светятся цифры 9999 и дисплей выглядит так:

Запуск и настройка программы PCWatchDog_V9.0.exe для мониторинга watchdog-ом работы майнинг рига осуществляется так:
- Активируется файл PCWatchDog_V9.0.exe:

- В появившемся окне производят настройку параметров мониторинга:

- Ползунком Timeout устанавливают время ожидания, после которого компьютер будет автоматически перезагружен при появлении сбоев.
- При необходимости, ползунок Scheduled Restart используется для установки времени перезагрузки рига в днях.
- В поле website monitoring можно вставить адрес сайта для мониторинга подключения к интернету (например, www.google.com).
- В поле specified program monitoring вставляют название программы для майнинга (нужно проверить прваильность настройки кнопкой Test).
- Мониторинг видеокарт осуществляется установкой галочки в строке Video Card Monitoring.
- В поле watchdog display setup можно установить номер рига и опции отображения времени.
- После установки всех параметров PCWatchDog_V9.0нужно не забыть нажать кнопку Save config.
Окно настроенной программы PCWatchDog_V9.0.exe выглядит так:

Watchdog при нормальной работе циклически отображает количество видеокарт в системе, системное время. номер рига и прочие параметры, выставленные при настройке.
Скриншот отображения видеокарт в системе на WatchDog_V9.0:

Watchdog версии 9.0 также работает при использовании программного обеспечения версии 6.1.9, но при этом полный перечень функций устройства не доступен.
Скриншот окна Watchdog версии 9.0 при использовании программы 6.1.9:

Возможные проблемы при работе устройства
При неподключенном к ригу watchdog-е появляется сообщение watchdog error:

Для устранения этой ошибки нужно проверить правильность подключения сторожевой собаки к USB-разъему.
Периодически при работе программы мониторинга вотчдога возникает сообщение об ошибке в приложении такого вида:

Эта ошибка не влияет на работоспособность устройства и может игнорироваться.
На дисплее watchdog-а отображаются следующие коды ошибок:
- E-00 – внутренняя ошибка watchdog;
- E-01 – отсутствует напряжение питания или ошибка подключения к линии USB;
- E-02 – не подключен проводник к линии перезагрузки (Reset);
- E-03 – сторожевая собака была перезапущена в течение 5 раз, но система нормально не загрузилась;
- E-04 –не запустилась программа по управлению watcdog-ом.
При мигании индикаторов watchdog происходит обмен между устройством и системой. В нормальном состоянии индикаторы светятся постоянно.
Если компьютер/система не работает или имеются другие неисправности, то экран watchdog-а не горит вообще.
Заключение
Использование watchdog-а является оправданным даже при правильном даунвольтинге и небольшом разгоне майнинг рига, так как позволяет восстановить его работу после сбоев по питанию и серьезных ошибок типа синих экранов, при которых программные способы восстановления работоспособности не срабатывают.
Небольшая стоимость устройства оправдывает наличие дополнительных функций мониторинга и потенциальную возможность сокращения простоев майнинг ферм.
Вам также может понравиться

Обзор особенностей райзеров для видеокарт

30 ноября, 2019
О замене полевых транзисторов фаз питания видеокарт и материнских плат
11 февраля, 2022
