Cómo compartir un dispositivo serie por la red en Linux

En el trabajo me encontré con la necesidad de utilizar un puerto serial (por ejemplo, un dispositivo con un adaptador USB/Serie en /dev/ttyUSB0, un módem 3G o una placa Arduino en /dev/ttyACM0, etc.) conectado físicamente a una máquina en mi red, que por diferentes motivos (distancia, pereza, lo que sea), lo quería acceder con un programa en mi máquina, pero como si fuera local. Es decir, tenía un programa en mi máquina que usa pySerial para acceder al Arduino en /dev/ttyACM0, pero por diferentes motivos el Arduino está conectado en otra máquina de mi red y quería que, sin tocar mi programa, éste acceda al Arduino como si estuviera directamente conectado a mi PC, haciendo de alguna manera “transparente” la red que nos separaba. Por suerte lo pude resolver, y quizás esta herramienta y acercamiento sirva a más de uno para resolver algún otro problema similar. ...

May 27, 2013 · 4 min · Marcelo

Instalando DD-WRT en un TP-Link TL-WR941ND

Uno compra un Router/Access Point estos días con la esperanza de que el firmware (software en el equipo) que tiene cargado sea eficiente, no tenga bugs (o al menos tenga actualizaciones periódicas del fabricante que los corrija), e incorpore muchas capacidades interesantes para sacarle el jugo, como el uso de conexiones VPN, priorización de tráfico, poder regular el poder de la antena, gráficos/estadísticas de uso de la conexión, y muchas “cositas” que a nosotros (la gente técnica) nos gusta aprovechar del dispositivo, todo por el mismo precio. ...

June 2, 2012 · 3 min · Marcelo

Virtualizando sólo una partición de una máquina física

Hace poquito un amigo me contó que estuvo leyendo el post anterior de Consolidación y “Shrinking” de discos físicos para pasarlos a una máquina virtual, pero tenía un pequeño obstáculo relacionado con el espacio en disco necesario, que más o menos era así: Quería consolidar un disco real de 80 GB que tiene XP instalado en su C:, pero en total el disco tiene 4 particiones (primarias). Sólo me interesaba el disco C:, con lo que ahorraba espacio en el proceso ya que la partición del C: sólo ocupa 25 GB. ...

January 15, 2011 · 3 min · Marcelo

Comparativas de Virtualización KVM

Ultimamente por diferentes cuestiones personales estoy bastante desconectado de la lectura de noticias, blogs y demás. Sin embargo, me pareció útil dejar por acá dos comparativas sobre KVM de Phoronix.com, que si bien en algunos lados me encontré que se quejan de la “calidad” de su suite de benchmarks para software libre/abierto, por el otro, ¡hey! ¡al menos se preocupan en hacerlo! :-) Linux KVM vs. VirtualBox 4.0 Virtualization Benchmarks Este es un test de performance entre KVM y Virtualbox. En resumen, y con los parámetros por defecto en cuanto a I/O, VBox gana, pero parece que es debido a que no hace los fsync del guest en el host y termina utilizando su caché; muy probablemente este comportamiento es configurable (¿ver acá?), pero así y todo ¡es bueno saberlo!. De todas maneras, de alguna manera es peligroso para un entorno de servidores ya que hay riesgo de pérdida de datos, pero por ejemplo, para mi notebook ( target primario adonde Virtualbox siempre estuvo orientado) está bien. ...

January 5, 2011 · 2 min · Marcelo

Navegador simple con wxPython + Webkit/GTK

Hace algunos posts (¡casi un año ya!) escribí sobre una manera fácil y rápida de tener un componente “navegador web” en Python sobre Linux/BSD, gracias a PyGTK y WebkitGTK, llamado lógicamente, pyWebkitGTK. En pocas líneas de código uno puede disponer de un navegador potente y completo en un panel de su aplicación basada en PyGTK, ideal para integrar aún más la cada omnipresente Web. Las vueltas de la vida y las ganas de experimentar y aprender te llevan a probar otros frameworks/librerías, como lo es wxPython; tanto es así que de vez en cuando tengo el placer de dar alguna charla al respecto [1], y una de las debilidades que le usualmente le encontraba es la falta de un componente “browser web” nativo y soportado en todas las plataformas (wxPython sólo incluye IE embebible como ActiveX en Windows). ...

October 10, 2010 · 4 min · Marcelo

Achicando imágenes de Máquinas Virtuales (KVM-QCow2)

Consolidando Máquinas Físicas a Virtuales Dentro del mundo de la Virtualización, al momento de consolidar máquinas [1] lo más sencillo (o lo que primero se le puede ocurrir a uno [2]) es hacer una imagen bit a bit del disco donde éste se aloja a un archivo del Host, mediante alguna herramienta como dd en Linux: $ dd if=/dev/sdb of=/vms/images/imagen.raw Este mecanismo es generalmente infalible; luego de ésto, uno crea un perfil de una Máquina Virtual (típicamente un archivo XML donde se describen las características del Guest), se lo relaciona a esta imagen “cruda” de la ex-Máquina Física, y en un minutos la misma está corriendo como Máquina Virtual sin problemas. ...

August 14, 2010 · 13 min · Marcelo

Free Pascal y Lazarus en Ubuntu

Creo que la gran mayoría de los programadores debemos recordar aquellos primeros momentos en que uno pasaba tardes y noches enteras escribiendo y escribiendo líneas de código en aquellas XT, AT, Commodores 64/128, etc., sólo por amor al arte y puro fanatismo. Supongo que diríamos lo mismo de los primeros años de facultad, cuando en materias de título “Programación I” uno repasaba el paradigma de la Programación Estructurada, casi siempre en el lenguaje de aprendizaje facultativo por excelencia, al menos acá en Argentina: Pascal, usando Turbo Pascal, su versión más popular. ...

June 20, 2010 · 4 min · Marcelo

Sincronizar carpetas a un Servidor Casero automáticamente

Introducción Supongamos que tengo un equipo donde usualmente estoy trabajando y otro equipo que está siempre encendido, ambos separados por Internet. En este último, el único puerto abierto sobre una IP Pública es el 22 para usar SSH, con lo cual me viene perfecta la capacidad de rsync de sincronizar carpetas y los últimos cambios mientras estoy trabajando, todo mediante un canal seguro. El Script de sincronización Lo único que necesito es este script en la carpeta personal de mi equipo “cliente”, o sea, donde hago mis quehaceres diarios: ...

June 18, 2010 · 5 min · Marcelo

Reiniciando las conexiones de red automáticamente en Ubuntu

Hace un tiempo que tengo una interfaz Wifi USB Encore; siempre la usé ocasionalmente, en Ubuntu se conectaba y tenía red sin problemas, pero al momento de usarla en forma constante nunca supuse que el módulo rtl8187, responsable de su funcionamiento, iba a tener tantos bugs. :-( En Ubuntu 10.04 funciona sin instalar nada adicional, pero los principales problemas son que funciona sólo a 11Mbps y que aleatoriamente se desconecta, sin causa aparente, y el Network Manager vuelve a reconectarse. El problema es más serio cuando Network Manager se cansa de revivir a la placa, y el equipo se queda desconectado definitivamente. Y más si no estoy cerca para reconectarla a mano. :-P ...

June 16, 2010 · 2 min · Marcelo

Discos Rígidos con Sectores de 4KB en Linux

Actualización (Julio 2010): Armé y redacté no tan informalmente este post en forma de artículo; el mismo está disponible para su consulta, crítica y mejoras en la sección de Publicaciones del sitio. Los nuevos discos de Western Digital En estos días tuve la oportunidad de comprar y configurar una máquina Ubuntu con un disco rígido Western Digital de 1,5 Terabytes (1500 Gigabytes aprox.); más precisamente el modelo WD15EARS, con 64 MB de caché, velocidad de rotación que varía entre 5400 y 7200 RPMs (llamado " IntelliSeek"), interfaz SATA II (3 Gb/seg), y que incluye una nueva tecnología de la marca conocida como " Advanced Format Drive" (paper aquí). ...

June 14, 2010 · 12 min · Marcelo