Chinese Watchdogs

watchdog

#21

В свое время я делал самопальный watchdog на мелкой Arduino с USB-to-serial on-board, и столкнулся с проблемой под Linux. Сейчас ситуация один в один повторяется с китайским вотчдогом и hiveOS. Проблема не хайва, но, возможно, кто-то ее решил.

Симптом: после подачи питания на плату с установленным вотчдогом (например, после отключения электроэнергии) с какой-то вероятностью плата уходит в бесконечную перезагрузку с интервалом минут в 5 (об этом писали выше).

Причина в том, что при наличии stand-by питания на USB вотчдога он с какой-то (большой) вероятностью не видится как устройство после включения платы и загрузки Linux (его нет в /dev и не видно на USB шине по lsusb). Перезагрузки при этом не помогают, только отключение питания платы. Соответственно, что хайв, что любая другая система сбросить его не могут, и он выполняет свою функцию рестарта. Ситуация воспроизводилась на 100% на трех разных материнских платах от ASRock BTC Pro до старой на процессоре AMD Athlon.

Попытка сбросить USB шину (программно инициировать аппаратный сброс порта) оказалась невыполнимой - без видимого устройства на порту сбросить его невозможно, а устройства нет.

Радикальный путь решения (теоретический) - переделка девайса так, чтобы управлять подтяжкой резистора на +5 (обнаружение устройства на шине), чтобы оно подключалось к шине только после появления основного питания на плате.

Может быть, у кого-то были другие идеи, например, включение-отключение режимов совместимости с Legacy USB или т.п. Ведь сейчас пользоваться девайсом в случае отключений питания невозможно, только на случай зависания системы.


#22

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