msgbartop
Aquí huele a Clint
msgbarbottom

15 oct 19 Solución hardware para los problemas de conectividad WiFi de la Orange Pi Zero+

Soy usuario habitual -quien lea esto habitualmente lo sabrá a estas alturas- de dispositivos de cómputo en formato single-board computer: para entendernos, Raspberry Pi, Orange Pi y dispositivos similares. Y es que, echando la cuenta, rondan por casa cinco cacharros de este tipo: dos RPi Modelo B (una haciendo de sistema de telemetría en el Mercedes irlandés), una Asus Tinker Board con el Home Assistant, una RPI 3 Modelo B+, y una Orange Pi Zero+, conectada a la impresora 3D. En concreto, tengo una cierta experiencia con las Orange Pi Zero, ya que han pasado por mis manos cuatro de ellas, tres modelos Zero (una en el centro de enseñanza de Ana, otra en casa de mis padres en Córdoba, y otra en casa de mi cuñado Fernando, todas ellas con Home Assistant como plataforma de domótica). El caso es que hace algún tiempo me hice con la evolución de este modelo, una Orange Pi Zero+, pero no había llegado a darle un uso intensivo hasta que la utilicé para controlar la impresora con Octoprint. Y como no le había dado un uso intensivo, no había notado un irritante problema que parece sufrir esta versión del dispositivo: un comportamiento algo errático de la tarjeta WiFi.

En mi caso, este comportamiento se manifiesta cuando se inicia el dispositivo sin estar conectado a ninguna red cableada, y el problema es que la mayoría de las veces la WiFi ni siquiera llegaba a iniciarse. Curiosamente sí funcionaba sin problemas cuando la red cableada también se encontraba conectada, o bien cuando iniciaba la misma con el puerto serie conectado para ver los mensajes de carga del sistema. En estos casos, casi sin excepción la WiFi arrancaba igualmente. Tras leer diversos foros de Armbian, y probar las más variapintas soluciones (versiones de kernel, versiones de sistema operativo, ramas de desarrollo, etc…) y no conseguir nada en claro, finalmente opté ayer por tirar por la calle de en medio: hacer uso de un terminador ethernet de tipo loopback, un viejo truco que usaba en tiempos pretéritos para engañar al sistema operativo de servidores y permitir configurar las interfaces de red sin tenerlas conectadas a redes reales.

Conector loopback RJ45

Conector loopback RJ45

Tenía mis dudas al respecto, pero ha funcionado perfectamente. A raíz de usar este conector, e incluso sin ninguna configuración específica de la tarjeta de red cableada (simplemente aparece como activa, pero sin dirección IP), la WiFi ya se levanta perfectamente, tras múltiples encendidos, reinicios, apagados, tanto ordenado como desordenado. En fin: puede que no sea una solución muy elegante, pero lo que se puede asegurar es que funciona. :mrgreen:

Por cierto, que mi conector loopback no es tan elegante como el de la imagen de arriba: es un simple conector cortado de un cable de red viejo, cortado y con los pines 1-3 y 2-6 empalmados. :D

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

Etiquetas: , ,

15 jun 17 Mitigación de los problemas de sobrecalentamiento de la Orange Pi Zero

En fechas recientes he adquirido un par de Orange Pi Zeros para algunos proyectos personales. Para quien no las conozca, las Orange Pi Zero son una interesante copia china de las Raspberry Pi, con un precio casi imbatible de 15$ contando el modelo de 512 MB de RAM y cuatro cores, junto con un módulo de expansión de puertos y una carcasa bastante maja.

Placa Orange Pi Zero

Placa Orange Pi Zero

El problema es que montan un procesador ARM que funciona a 1200 MHz, que tiene una irritante tendencia a sobrecalentarse más que una plancha de acero a pleno sol en Córdoba un 15 de agosto. En Irlanda, con una temperatura ambiente que rara vez sube de los 22 grados ya es problemático, así que cuanto más en Córdoba, donde tengo una de las Zero:

83ºC... ¡y sin hacer nada, por la mañana, y a la sombra en interior!

83ºC… ¡y sin hacer nada, por la mañana, y a la sombra en interior!

Así que para no acabar con una bonita fogata quad-core, toca tomar medidas. La solución más básica es empezar por procedimientos mecánicos. Un disipador, vaya. El problema es que la Zero es pequeña, muy pequeña. El procesador central tiene este tamano:

OPi Zero y su tamaño relativo

OPi Zero y su tamaño relativo

En efecto, el procesador es del tamaño de una moneda de 1 céntimo de Euro. Genial para construir sistemas pequeños, no tanto si tienes que encontrar un disipador de su tamaño. Puedes encontrarlos en Amazon o en Aliexpress, pero tardan un tiempo en llegar. En mi caso, al final, acabé canibalizando un viejo router, de donde pude sacar un disipador adecuado. Eso sí, de añadir un ventilador, más vale irse olvidando. Ya sólo el disipador me dio guerra para encajarlo en la caja:

OPi Zero con disipador

OPi Zero con disipador

De todas maneras, es una solución bastante razonable. En mi Orange Pi de Irlanda conseguí bajar la temperatura de unos 72ºC a unos 62ºC. El problema vino con la de Córdoba. A las 11 de la noche alcanzaba una temperatura de unos 85ºC. Vale que había unos 32ºC de temperatura ambiente (¡sí, a las 11 de la noche!), pero aun así, con disipador y todo, seguía resultando demasiado. Así que tocaba tomar medidas adicionales. En este caso, medidas software. Por suerte, el procesador que monta (SunXi H2+, una versión capada del H3) dispone de una utilidad para controlar diversos aspectos del procesador, como velocidad de proceso, número de cores activos, posibilidad de desactivar la tarjeta gráfica o la WiFi. En mi caso, y siguiendo las recomendaciones del enlace anterior, he optado por desactivar un par de cores, dejando sólo 2 activos, así como la GPU y la WiFi. La mejora ha sido considerable. En el caso del equipo de Córdoba, he conseguido moderar la temperatura (en plena mañana en Córdoba) desde más de 85ºC a menos de 75ºC. No es que sea la panacea, pero es una mejora notable.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)

Etiquetas: ,