Story Transcript
CERO CUELGUES DE SOFTWARE
CERO PERIFÉRICOS USB COLGADOS
SITUACIÓN INICIAL El producto surge de nuestra experiencia desplegando sistemas desatendidos en varios proyectos. Tanto si se emplea un PC como un sistema embedded, se suelen dar dos problemas:
Cuelgues de software Si el software se cuelga, no hay un agente externo que reinicie el sistema (WATCHDOG). Se puede implementar un mecanismo software de supervisión que haga un reset del equipo, pero en ocasiones si el fallo del software es lo suficientemente grave: kernel panic, s.o. colgado, etc afectará sin duda a este mecanismo dejando al equipo completamente congelado. Los servidores y Pcs de gama alta suelen proporcionar algún tipo de mecanismo hardware que soluciona este problema, pero por regla general no es un sistema muy común.
Periféricos USB colgados En muchas ocasiones los sistemas desplegados incluyen periféricos USB, siendo un caso típico el de los modems 3G/4G. Estos periféricos USB, son en si mismos un pequeño ordenador que incluye su propio software interno para funcionar, software que no esta libre de problemas. Especialmente en el caso de los modems 3G/4G es habitual que se cuelguen al cabo de largos periodos de funcionamiento. Una vez que un periférico usb se cuelga, deja de responder a comandos, por tanto no hay solución posible via software (no importa cuantos comandos enviemos al periférico, esta colgado y no los recibe). Reiniciar el equipo al que esta conectado el periferico no tiene efecto alguno ya que los conectores USB de estos equipos mantienen la alimentación activa durante los reseteos del sistema, por tanto nos encontramos con un problema irresoluble.
CONSECUENCIAS
En los dos casos descritos: Cuelgue del equipo o cuelgue de periféricos USB, la solución siempre es enviar a alguien a apagar y encender (cortando alimentación) el equipo o a conectar/desconectar el periférico que se ha colgado. Ejemplos claros:
Puntos de acceso wifi en Madrid: Emplean modems UMTS que se cuelgan al cabo del tiempo, posiblemente por estar sometidos a temperaturas de intemperie, etc. Mismo problema, enviar a un técnico a desconectar físicamente de la alimentación y volver a conectar cada equipo que se cuelga, teniendo en cuenta que estos equipos están subidos en farolas o sitios de difícil acceso.
Autobuses de Lleida: Llevábamos abordo módems GSM fabricados por siemens, se colgaban al cabo de 3 o 4 horas de actividad, especialmente en autobuses que hacían una ruta en la que la cobertura era inestable. La solución fue incluir en nuestros equipos ,relés de control que nos permitían quitar la alimentación al módem. Esto produjo una gran crisis interna, hubo que parar 48 autobuses, desmontar equipo por equipo, cablear, volver a montar, etc. Tuvimos que estar allí varias semanas, varias personas trabajando de madrugada ya que no se podían parar los autobuses durante el dia, etc.
SOLUCIÓN
USB HUB
Controlador
Periférico USB Conexión USB a equipo embeded o PC
Salida externa
Alimentación USB externo
SENTINEL es un pequeño dispositivo con la apariencia similar a un PENDRIVE que se conecta a un puerto USB convencional en uno de sus extremos, y en el otro provee un conector usb que nos permite conectar un periférico usb que deseemos controlar. Una vez conectado, SENTINEL se identificará ante el equipo como un HUB USB al que están conectados dos dispositivos: El periférico externo y un controlador interno que nos permite manejar dos cosas: • Alimentación del periférico USB externo. • Salida controlable presente en el SENTINEL. El controlador interno se presentará ante el sistema operativo como un adaptador de puerto USB a SERIE, por tanto el manejo del mismo puede hacerse empleando cualquier lenguaje de programación en cualquier S.O. (windows, linux, mac, etc). La implementación es simple, basta con abrir el nuevo puerto de serie (/dev/ttyUSBx en linx, COMxx en windows) y escribir comandos simples según la función que se quiera controlar.
FUNCIONALIDADES
Reseteo de alimentación de periférico Permite apagar / encender la alimentación del periférico que se encuentra conectado a su salida USB. Basta con enviar los comandos adecuados al controlador y este apagará o encenderá la alimentación a placer.
01
02
03
Watchdog del sistema Empleando la salida externa disponible en el el SENTINEL, se puede conectar por ejemplo el pulsador de reset de un pc, o un relé externo que manipule alimentación del sistema. Una vez activado el modo watchdog, y según la configuración elegida, SENTINEL esperará un tiempo determinado, si en ese tiempo no recibe un comando de “keepalive” del PC al que se encuentra conectado, accionara la salida, causando un reseteo “hard” del pc. Salida externa La salida externa puede accionarse también de forma manual (no en modo watchdog), para manipular cualquier dispositivo externo.
Producto by