Enchutando módulo para wifi renuente

En el trabajo de vez en cuando me solicitan instalar algún equipo, y pues me dá siempre por encajar la versión estable de debian mas reciente, y me pasaron una laptop que quedó chula la carambada, pero la tarjeta de red inalámbrica no era detectada… al buscar el hardware me topaba con esta descripción:

$ lspci -v
...
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device d723
        Subsystem: Hewlett-Packard Company Device 8319
        Flags: fast devsel, IRQ 5
        I/O ports at d000 [disabled] [size=256]
        Memory at fe900000 (64-bit, non-prefetchable) [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [148] Virtual Channel
        Capabilities: [168] Device Serial Number 00-e0-4c-00-00-00-00-00
        Capabilities: [178] Latency Tolerance Reporting
        Capabilities: [180] L1 PM Substates

Aparentemente es una tarjeta reciente, acá en mi cantón no es común valga la aclaración, y pues pedí ayuda en el canal de Telegram de LinUES, por ahí me sugirieron ver un par de referencias, y sí habían dos soluciones, compilar el fuente del driver (que era lo que supuse tenía que hacer), y usar una herramienta para que lo preparara (supongo que compila pero fue mas “mágico el proceso”), pero en realidad estaba un poco mas sencillo y pues comparto la solución.

Primero había que instalar (como root no se les olvide) el kernel mas reciente en el equipo, y a provechando también las parafernalias solicitadas por la guía :

aptitude install linux-image-4.14.0-0.bpo.3-amd64 linux-headers-4.14.0-0.bpo.3-amd64 build-essential dkms git

Luego había que reiniciar el equipo para que cargue el nuevo kernel, y una vez mas como root, hacer los pasos siguientes:

git clone https://github.com/jeremyb31/rtl8723de.git
dkms add ./rtl8723de
dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414

Al reiniciar el equipo, cosa que no me gusta hacer tan seguido pero por si las moscas lo hice, la condenada tarjeta de wifi ya funcionaba bien, en la guía comenta que si no se desea generar muchos logs se puede hacer un cambio en la configuración, siempre como root:

echo "options 8723de rtw_power_mgnt=0 rtw_drv_log_level=0" |  tee /etc/modprobe.d/8723de.conf

En mi caso no lo hice, pero supongo que ha de funcionar.

Así que si salvaje tarjeta de red aparece encájenle estos comanditos para resolver.

Una alternativa para flashear el ladrillo nxt desde debian

Por si a alguien le toca trabajar aún con el dispositivo NXT de lego, y son usuarios de Debian habrán encontrado por ahí un paquete llamado libnxt, el cual trae un flasheador de firimwares para el ladrillo, que combinado con el paquete de nxt-firmware les facilitará usar el programa fwflash o el comando nxt-update-firmware.

Si por casualidad anteriormente habrán usado el software de enchanting, habran usado el flasheador del firmware lejos, el cual es bueno y sólo basta con ejecutarlo (/usr/share/enchanting/ThirdParty/lejos_nxj/bin/nxjflash); pero en ocasiones toca travesear y probar el firmware original o uno compatible como el del paquete, y pues toca la tarea de flashear y hasta la llegada de esa herramienta de libnxt no había manera de lograrlo.

La primera prueba que hice del software me lanzó un error no esperado.

# nxt-update-firmware                                                                                                                                                    
Checking firmware... OK. 
Error while connecting to NXT: Error trying to configure the NXT USB link

Creí que tenía que usar el comando directamente:

# fwflash /usr/share/nxt-firmware/nxt_firmware.bin  
Checking firmware... OK. 
Error while connecting to NXT: Error trying to configure the NXT USB link

El resultado fue el mismo, investigando este detalle me encontré que era un error que a varias personas les había pasado y el código fuente necesitaba ser parchado para compilarlo para que funcionara, así que manos a la obra se compila el fuente y funciona muy biuen:

# nxt-update-firmware                                                                                                                                                    
Checking firmware... OK. 
NXT device in reset mode located and opened. 
Starting firmware flash procedure now... 
Firmware flash complete. 
New firmware started!

Así que les comparto el paquete deb ya compilado para la arquitectura de 64 bits y 32 bits:

libnxt_0.3-9_amd64.deb

libnxt_0.3-9_i386.deb

http://debian.ues.edu.sv/compartidos/gato/paquetes/libnxt_0.3-9_amd64.deb

http://debian.ues.edu.sv/compartidos/gato/paquetes/libnxt_0.3-9_i386.deb

Un saludo y espero les sea de utilidad.

Cuando apt se friega con un proxy transparente

En algunos lugares hay buenos administradores de red, en otros hay quienes hacen un buen esfuerzo, quizá en la mayoría los hay que buscan cumplir bien con su trabajo… pero existen esos lugares donde quienes se encargan de ese asunto deberían ocupar una tarea diferente… muy diferente.

En esos casos especiales suelen pedir, contratar, subcontratar o quien sabe tal vez invocar al chamuco para que les configure el proxy de la red, cuando es así alguien (o algo) llega y les instala y configura el asunto, luego de cobrar se van a seguir al Halley y regresan con el mismo.

Por ello el encargado solo ve que unos están contentos y los que siendo informáticos trabajamos en otros menesteres ajenos pero con nuestro Debian en el equipo nos suele pasar un problemilla, y es que al actualizar la lista de paquetes con apt o aptitude, incluso en synaptic, aparece esto:

El fichero firmado en claro no es válido, «NOSPLIT» obtenido (¿la red requiere autenticación?)

Y uno sanamente expresa improperios a todo volúmen dirigidos a quienes administran la red y sus progenitoras.

Pero el acceso web en el navegador funciona, pues ya el paso es tansparente, no tiene porque fallar una simple descarga desde la terminal, y si desde el navegador se pueden descargar los archivos del mismo espejo debería poderese en la terminal… pero uno no es el encargado de red, porque el Olimpo informático está vetado para los que le comapartieron el fuego a la humanidad… así que toca ver como resolver.

  1. Lo primero es verificar si ssh funciona [list0!]
  2. Lo segundo es tener un servidor ssh al cual poder acceder fuera de la red [listo!]
  3. Saber como hacer un tunel ssh para escapar del claustro [listo!]
  4. Tener proxychains instalado [hijulule!!!]
    • … descargarlo a puro navegador y poderoso dpkg -i para enchutar, socando que solo requiera una dependencia libproxychains [listo!]

Con todas las herramietas procedemos primero a hacer el tunel inverso… supongamos que el servidor externo es la ip 192.168.0.40, y que el usuario es cherencuaco.

Levantamos primero el tunel ssh así:

ssh -NM -D 8969 -p 22 cherencuaco@192.168.0.40

Eso nos permite que en nuestros navegadores u otros software que se les pueda configurar acceso vía socks 5 pueden usar el servidor localhost en el puerto 8969.

Pero la idea es que apt pueda hacer actualziación, y ya que necesita ayuda para salir por protocolo socks 5, proxychains le dará un empujoncito, pero hay que configurarlo, sólo hay que comentar la última línea o modificarla para indicar el servidor proxy local así:

socks5  127.0.0.1 8969

Si no queremos mucho desmadre de texto podemos descomentar la opción que dice:

quiet_mode

Luego hacemos uso de proxychains asi:

proxychains apt-get update

Y se espera que todo marche sobre ruedas.

 

Visualino… para los que no les gusta mucho escribir

Como siempre buscando alternativas de herramientas de programación para arduinos que sean útiles en las escuelas públicas, me encontré con una muy buena llamada Visualino, que es una herramienta de tipo visual para programar utilizando bloques.

Segun dice el sitio oficial, está basado en Gogle Bockly, lo cual me hace pensar que con un poco de maña debe poder hacerse escalable para los desarrolladores, pero así tal cual como viene se le ve que puede ser muy útil.

La interfáz es bien simpatica y con una breve configuración se puede colocar en español e indicarle donde está el ejecutable de arduino.

imagen de visualino ide

Visualino con un programa de ejemplo

Lo que me ha gustad mucho es que muestra el código a un lado, ese panel se puede esconder, pero me agrada la utilidad de que quien va construyendo el código en bloques, puede ver que resultado iene poner un bloque en el código escrito, y puede animar a que se estudie como escribir código directamente en el IDE de Arduino sin miedo.

Tiene los bloques de instrucciones comunes, y posee bloques de componentes que se utilizan cotidianamente en proyectos de Arduino, como pantallas LCD y Servomotores.

Ide mostrando bloques de LCD

Bloques agregados de componentes comunmente usados

Posee también bloques de algunos kits especiales, listos para usarse, lo que puede facilitar que cuando se poseen esos componentes usar los bloques rápidamente para programarlos

Ide mostrando bloques para kit octopus

Muestra de algunos bloques de kits específicos

Luego de tanto probar este asunto me encontré con un par de dificultades, me ha funcionado en una máquina de 32 bits cuando se usa la útlima versión del Arduino IDE, o sea que al enlazar el ejecutable debe hacerse con el software mas reciente, fue por eso que me tocó hacer un paquetito para mayor comodidad en debian jessie para el ide de arduino.

Espero puedanprobarlo para los que gustan de trabajar con estas tecnologías.

Visualino:

http://www.visualino.net/index.es.html

Reempaquetando archivos .deb

Normalmente me toca estar probando software para programar arduinos en mis labores, por eso de vez en cuando pruebo el IDE de arduino que viene en la paquetería de Debian… el resultado ha sido incomodo desde hace un par de años, por lo que siempre termino instalando la versión del sitio arduino.cc.

Siempre por razones de trabajo me toca preparar que sea accesible para quienes les interese usarlo en Debian, debido que algunos centros escolares tienen equipos i386 con Debian, y por ello siempre lo preparo para la versión estable, el proceso inicial fue crear el deb desde cero, los siguientes fueron desempaquetando el primero y reempaquetandolo con los cambios, este proceso se documenta en varias entradas de blogs, y acá será una más.

Primero ubicandose en la terminal donde se tiene el archivo, se recomienda hacer como usuario root, pero pueden hacerse los primeros pasos con un usuario normal y al final donde se cambian el usuario dueño del directorio y se crea el paquete puede hacerse como root.

  1. Crear un directorio donde el archivo quedará descompreso:
    • mkdir descompreso
  2. Desempaquetar el paquete en el directorio recién creado:
    • dpkg-deb --extract archivo.deb desempaquetado
  3. Extraer los archivos de control, los cuales traen descrición y detalles del paquete mismo así como scripts que se ejecutarán antes y después de una instalación o desisntalación de un paquete:
    • dpkg-deb --control archivo.deb desempaquetado/DEBIAN
  4. Acá se pasa a editar los archivos necesarios dentro del directorio, en el caso particular de lo que cambio es la versión del arduino y obiamente el directorio que contiene el software, principalmente se trabaja con el archivo llamado control dentro de desempaquetado/DEBIAN, ustedes decidirán que modificar… o partir de ahí para crear un nuevo paquete.
  5. Por detalles útiles se pueden asignar usuarios propietarios y permisos sobre los directorios, en lo particular podría recomendar que se dejen como propietario de root
    • chown -R root.root desempaquetado
  6. Luego de los cambios se procede a empaquetar nuevamente el directorio estando al mismo nivel del mismo:
    • dpkg --build desempaquetado
  7. Y como último paso se renombra el archivo para lleve un elegante identificador:
    • mv desempaquetado.deb archivo_nuevo.deb

Con este procedimiento sencillo se vuelve a publicar donde sea de utilidad para compartirlo

http://debian.ues.edu.sv/compartidos/gato/paquetes/arduino_1.8.4_i386.deb

Reunión para celebrar lanzamiento de Debian Stretch

Se celebrará el lanzamiento de la nueva versión estable de Debian, Stretch, que se fue el pasádo sábado, pero coincidiendo con el asueto nacional, se llevará a cabo este sábado 24 de Junio.

Así que se invita a quien desee participar y convivir con miembros de la comunidad LinUES a que asistan.

  • ¿Cuando?: 24 Junio de 12:00 PM en adelante

  • ¿Donde?: Concha Acústica, Universidad de El Salvador (mapa)

  • ¿Que habrá?: Charla, comida y bebida (por cuenta de cada participante)

  • ¿Llevar?: Voluntad y dispocición para charlar y departir.