USB WatchDogs — небольшой обзор

Posted: 2018-01-12 in Hardware, IT
Метки:,

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

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

Я рассмотрю два очень похожих девайса —
USB Watch Dog Pro2 от Open-Dev.ru и очень на него похожий, но немного отличающийся
Bitroleum Watchdog

Они настолько похожи, что сложно сказать, кто у кого позаимствовал. Но что хорошо — у них совершенно одинаковый протокол управления.

Принцип работы прост до безобразия:
— одной частью таймер включается в порт USB
— второй частью проводными шлейфиками таймер подкючается параллельно кнопкам Reset и Power.

Будучи USB-RS232 портом по сути, он видится в системе как /dev/ttyACM0, куда можно отправлять команды — обычные текстовые последовательности. Текстовый протокол — это изумительно ! Нам не надо писать сложный код на каких-то сложных языках и фреймворках. Основной сигнал ~U, который мы может периодически отправлять таймеру вот таким скриптом:

#!/bin/bash

PORT=/dev/ttyACM0

while true
do
echo -n "~U" > $PORT;
sleep 5;
done

Скрипт запускаем в фоне, и он в бесконечном цикле каждые 5 секунд шлет команду «~U» в порт таймера. Опция -n нужна в echo, чтобы туда не отправлять перенос строки, он не нужен.
Получив такой сигнал, таймер понимает, что комп жив, и понимает, что ничего делать не надо. Если же в течении трёх минут сигналов такого типа не было — таймер активирует оптопару на линии резета примерно на полсекунды. Если и следующий защитный интервал будет без сигналов — будет на 3 секунды включена оптопара линии питания.

Полный мануал есть на сайте разработчика.

Текстовый протокол воистину прекрасен, что позволяет на том же bash реализовать весьма заковыристые сценарии по сути встроенными средствами ОС.

Но есть ряд важных ньюансов аппаратного толка.

Первый и самый важный — распиновка линий питания/резета.

У оригинального опен-девовского таймера линии независимы, и контактные колодки кнопки / шлейфа ставятся перепендикулярно плате, тогда как у битролеума — параллельно плате. Эти отличия я постарался наглядно пометить на фотке.

Второй важный момент — полярность. Оптопара — девайс полупроводниковый, и при подаче сигнала она пропускает ток только в одну сторону. Тут есть второе важное отличие — если у опен-девовского деваса (черного) подключить линию резета/питания не той полярностью, то система на это никак не отреагирует вообще. Лучше проверить корректность подключения ручной подачей команды:

# Manual Reset:
echo -n «~T1» > /dev/ttyACM0

# Manual Power:
echo -n «~T2» > /dev/ttyACM0

То есть у опендевовского таймера просто стоят две совершенно независимые оптопары на каналах.

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

Второй важный ньюанс именно с полярностью — на разных материнках полярность линий резета / питания на контактной площадке может отличаться, и часто вообще не указана, поскольку там ожидается механическая кнопка, а не оптопара.

Можно заметить, что на самой материнке полярность определить можно только подбором.

Третий важный момент — USB, в варианте для установки на плату.

На разъёме под материнку у вотчдогов нет глухого отверстия, и надо быть очень внимательным при подключении в материнку. Я выделил USB-Key (позиция для отсутствующего контакта) на первой фотке. Иногда разъём немного шире окантовки — в этом случае окантовку можно аккуратно снять.

Из мелких отличий — у опен-девовского вотчдога два светодиода — зеленый мигает, когда приходит сигнал ~U или иное управление, а красный — когда сигнал пропущен. Перед самым резетом красный сигнал мигает гораздо чаще. У битролеумовского же таймера только один желтый светодиод, который мигает от любого сигнала и не такой яркий.

Но опен-дев также упоминает в мануале, что возможно и полностью ручное управление каналами, что даёт возможности прикручивать всякую более интересную автоматику.

Вот такие вот железячки.

Реклама
- комментарии
  1. Вот чего мне не хватало для моего deep learning рига!

  2. Amin:

    learning настолько deep, что оно зависает ? =)

  3. Да просто паранойя. Комп стоит в другом городе. А вдруг выключат электричество больше чем на зарядку УПСа, а родственники уедут в гости?

  4. Amin:

    для этого ИБП и комп должны при пропадании питания стартовать автоматом. В биосе есть опция «Last Power State» — поставить On. Про ИБП хз, зависит от модели ИБП.
    Хотя да, тяжело править биос по удалёнке, когда она SSH, а не IP-KVM.

  5. sll:

    По софту и документации сразу видно, что Bitroleum — унылая подделка под WatchDog Pro2.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.