Рубрика «watchdog»

Три видео для тех, кто пишет под iOS - 1

Привет!
У нас прошёл iOS-митап и я принёс вам три видео от коллег из Яндекс.Денег, Яндекса и Mail.ru.

Первое — как работать с асинхронным кодом из разных языков программирования.
Второе — про баги при работе с системной клавиатурой на iOS и их исправление.
Третье — о том, как устроена iOS-разработка в Яндексе.

Читать полностью »

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)

Для устранения некоторых недостатков сервера, собранного из бытовых комплектующих, разработал недавно устройство, которым хочу поделиться. Его подробное описание, со схемой и исходными кодами, доступно на Geektimes в первой части.

WRN устройство

Устройство получило наименование WRN от составляющих его подсистем:

  • Аппаратный сторожевой таймер, работающий с watchdog демоном;
  • Генератор истинно случайных чисел;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

В этой части статьи будет рассмотрено как взаимодействовать с последовательным портом из пространства ядра (kernel space) и как организовать работу с несколькими подсистемами устройства через RS232 в Linux.

Читать полностью »

Серверы, собранные из специально не предназначенных для этого комплектующих, обычно имеют два недостатка. У них отсутствует аппаратный сторожевой таймер и часто не хватает энтропии для ряда сервисов. Нехватка энтропии особенно актуальна для не сильно нагруженных серверов. Это связанно с тем, что ядро Linux в качестве источника энтропии использует активность системы, а именно: сетевого оборудования, дисковой подсистемы и аппаратных прерываний.

Также в домашнем сервере часто возникает необходимость иметь более экономный, по сравнению с Wi-Fi, радиомодуль для коммуникации с автономными датчиками.

Существует большой выбор устройств, с помощью которых можно решить любую из этих проблем, но подключение каждого из них требует отдельный порт. Оценив ситуацию, в итоге решил разработать устройство 3-в-1 подключаемое в RS232 (COM) порт. Остальные требования получились следующими:

  • Аппаратный сторожевой таймер, пригодный для работы со стандартным демоном watchdog;
  • Генератор истинных случайных чисел на базе эффекта обратного лавинного пробоя p-n перехода;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

Таким образом устройство получило наименование WRN от названий составляющих его подсистем: WDT (WatchDog Timer), RNG (Random Number Generator), nRF24L01+.

WRN устройство

Читать полностью »

Столкнулся с существенным регрессом в 12-й версии SLES, связанным с поддержкой сторожевого таймера (устройство /dev/watchdog) на серверах IBM/Lenovo.

Вначале коротенький ликбез, если кто не в теме. Как это должно работать и зачем это нужно? Кто и так знает предмет, может спокойно пропустить следующий абзац.
Читать полностью »

Эта статья является дополнением моей предыдущий публикации о настройке домашнего роутера / файл-сервера. Здесь речь пойдет о проблеме автоматического переподключения к интернету при зависании 4G USB модема. На оригинальность идеи не претендую, просто хочу поделиться с читателями своим решением.
Сторожевой таймер для 4G модема в CentOS 7 - 1
Читать полностью »

Watchdog — это устройство, предназначенное для обнаружения и устранения проблем оборудования. Обычно для этого используется таймер, периодический перезапуск которого предотвращает отправку сигнала на перезагрузку.

Watchdog на базе Arduino Nano - 1

Целевой сервер на Gentoo используется мной в основном для экспериментов, однако на нём работает ряд сервисов, которые, по возможности, должны быть доступны без перебоев. К сожалению, последствия некоторых экспериментов приводят к kernel panic, 100% загрузке CPU и другим неприятностям в самый не подходящий момент. Так что идея добавить watchdog давно требовала внимания и наконец материализовалась в данное устройство.
Читать полностью »

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

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

Аппаратный «watchdog» или незаменимый помощник в борьбе с зависанием - 1

Читать полностью »

Arduino watchdog или автоматический RESET в случае зависания
Речь пойдет о том, как держать Arduino всегда в работоспособном состоянии. Механизм watchdog встроен в контроллеры Atmega, но, к сожалению, не всякий загрузчик (bootloader) Arduino правильно обрабатывает эту функцию. Попробуем разобраться с этой проблемой.

Итак, что такое watchdog? Простыми словами — это встроенный таймер на определенное время (до 8 сек в зависимости от чипа), который можно запустить программно. Как только таймер «дотикает» до нуля, контроллер подает правильный сигнал сброса (RESET) и всё устройство уходит в hard перезагрузку. Самое главное, что этот таймер можно сбрасывать в начальное состояние также программным способом.

  • Правильный сигнал сброса — достаточный по длительности для того, чтобы контроллер начал перегружаться. Иногда есть соблазн подключить к RST входу какой-либо цифровой выход Arduino и устанавливать его в 0 когда надо перегрузиться. Это плохой подход к решению проблемы, т.к. такого сигнала может быть недостаточно по времени, хотя и не исключено, что в некоторых случаях это тоже будет работать..
  • hard перезагрузка это самая настоящая перезагрузка, которая происходит при нажатии на кнопку RESET. Дело в том, что есть еще понятие soft перезагрузки — это программный переход на 0-вой адрес. В принципе, это тоже полезная вещь, но с помощью нее невозможно перегрузить зависший контроллер Ethernet или взглюкнувший LCD.

Короче говоря, встроенный watchdog это как раз то, что нужно и без дополнительных схем, пайки и соединений.
Читать полностью »

Программинг микроконтроллеров / MSP430, учимся программировать и отлаживать железо (часть 3)

Возможно Вы уже не первый раз садитесь за программирование Вашего MSP430. Если это не так, то рекомендую ознакомиться с предыдущими статьями по данной тематике: часть 1, часть 2.
В этой статье мы рассмотрим инструмент для графической настройки периферии нашего микроконтроллера — Grace, познакомимся с принципом работы watchdog и поработаем с виртуальным COM-портом (через программатор). Уже традиционно будет рассмотрен небольшой пример кода, и предоставлены все необходимые для понимания ссылки.
Введение

В первой статье я упоминал Code Composer Studio, от рассмотрения которого отказался, но недавно моё внимание,Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js