jueves, 19 de abril de 2018

Resolviendo error de configuración de red durante el arranque en Dbian 9 Stretch

Cuando instalé Debian en una laptop nueva, durante el arranque me aparecìa un error que decía:

Failed to start Raise network interfaces

Para resolverlo basta con editar el archivo de configuración de redes porque intenta cargar una configuración que no es compatible con el sistema. Hay que abrir el archivo

/etc/network/interfaces

en su editor de texto favorito y comentar la línea que dice

source /etc/network/interfaces.d/*

para que el archivo quede de la siguiente forma:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
#source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback

Resolver error al configurar laptop como hotspot en Debian 9 Stretch con Gnome 3


Me acabo de encontrar con un error al intentar configurar un hotspot en Debian 9 Stretch con Gnome 3. El error es que el administrador de redes me da la opción de usar mi laptop como hotspot, pero al activarlo, no sucede nada.

Al abrir el administrador de redes de GNOME, nos permite configrar el equipo como hotspot.

Al momento de activar el hotspot, nada sucede
El problema se deriva de un error donde el nombre del host en el sistema no está bien configurado. Para resolver esto, se ejecuta el siguiente comando en la terminal, una sola vez:

hostnamectl --pretty set-hostname $(hostname)

Al ejecutar esta opción, el hotspot se activará. Si sucede el problema adicional de que ahora los otros dispositivos ven la red pero no pueden conectarse a ella, es porque la contraseña que genera el administrador de redes es incorrecta. Para corregir este nuevo problema basta con ejecutar en una terminal el siguiente comando:

nm-connection-editor

Esto abre el editor de conexiones de Gnome y basta con editar la conexión marcada como hotspot y asignarle una contraseña de nuestra preferencia.

Editor de conexiones de red de GNOME.

Diálogo para cambiar la contraseña de la red.

miércoles, 16 de julio de 2014

Install Alliance CAD Tools into CentOS

Introduction:

Alliance CAD Tools is a set of free and open computational tools for Integrated Circuit design and simulation. This set of programs offers a good first glance into the world of ASIC and VLSI design for starters who want to familiarize themselves with this branch of the industry. There are even some enterprises which use this set of tools in a professional way along with the well known academic use some schools give to these tools.

Anyway, due to the fact that the original proyect has become unattended and the lack of true updates, there is great difficulty to port this tool set into some new distros and even the distributions that have Alliance CAD into their repositories (like Fedora Electronic Lab) suffer from some troubles that haven't been solved over the years. This is why I've decided to make a little script that automates the task of properly installing the tools and helps configuring the enviroment variables in the system that the tools need.

Justification:

Installing Alliance CAD on Linux using any relatively recent distro is a demanding task. Even when there are some pre-compiled packages (deb and rpm) for some particular distros like Ubuntu or Fedora, they are not well integred into the system (lack of enviroment variables, outdated libraries, etc). Even the versions that one can find in EPEL and Fedora Electronic Lab give some errors when executing the tools.

Solved Problems:



  • The biggest issue with Alliance was that ASIMUT wasn't working, specially using the 64bit version of the tools-set. This was due to errors in the code and some incompatibilities of the binaries with some new libraries. To solve this problem, the script downloads the precompiled binaries (both 32bit and 64bit versions) and replaces the 64bit version of ASIMUT with its 32bit counterpart, wich works perfectly into 32bit and 64bit systems. 
  • Other error was that DRUC couldn't run in some cases when performing automated sinthesis using a make-file. This was due to some environment variables not properly declared or not declared at all. To solve this, the script declares all the necessary variables in each user's bashrc file.


Considerations:


  • This particular script has been developed for 64bit systems, and specially for CenOS 6.4, but you can edit the script to make it work into almost any system you want if you know what are you doing.
  • The script installs Alliance globaly, but the environment variables are declared locally for each user, so each user that wants to use the tools, needs to run the script (that will ommit installation of the binaries if they are already installed).
  • You need to run the script as root user.



Instalar Alliance CAD Tools en Centos mediante Scripts

Introducción:

Alliance CAD Tools es un conjunto de herramientas computacionales abiertas y gratuitas para el diseño y simulación de Circuitos Integrados (CI) mediante planos de Layout. Este conjunto de software ofrece una buena aproximación para los entusiastas para entrar al mundo del diseño de CI y familiarizarse con las aplicaciones que irán encontrando en esta rama de la investigación/desarrollo. Hay incluso algunas empresas en forma que usan estas herramientas de manera regular y ni se diga a nivel de investigación y desarrollo académico, que es su fuerte.

Sin embargo, debido a que el proyecto se ha descontinuado por los desarrolladores oficiales y no han habido verdaderas actualizaciones en el código, existe una gran dificultad para hacer funcionar el conjunto de herramientas Alliance CAD en las distros que no las incluyen por defecto en sus repositorios, como lo hace Fedora Electronic Lab. Por este motivo, he decidido desarrollar un pequeño conjunto de scripts que automatizan esta tarea para facilitar a los usuarios de diferentes distribuciones el tener este software en su SO sin la necesidad de cambiar de distribución o virtualizar un SO completo en sus computadoras.

Justificación:

Instalar Alliance en Linux con una distro relativamente actual es un trabajo bastante arduo. El proyecto original detuvo su desarrollo en el año 2005 y, aunque la última compilación (a la fecha) del código es del año 2009, no se introdujeron cambios efectivos del código.

Aunque existen algunos paquetes precompilados de Alliance CAD para algunas distros particulares como Debian o Ubuntu, su compatibilidad con el sistema no me ha dejado satisfecho y siempre se presenta algún problema de dependencias. Incluso la versión que viene en los repositorios de EPEL y Fedora Electronic Lab presenta problemas al usar el simulador ASIMUT, que da salidas en blanco ante las simulaciones.

Problemas resueltos:


  • El principal problema que se tenía en el posgrado donde usé Alliance fue que ASIMUT no podía realizar simulaciones correctamente. Esto se debe a que el binario de la aplicación no funciona en la arquitectura de 64 bits. Para resolver este error, el script que presento descarga tanto las versiones de 32 como de 64 bits de Alliance y reemplaza el binario de ASIMUT de 64 bits con el de 32, pero sin comprometer las bibliotecas de ninguna de las dos versiones, manteniendo todo en órden para que se pueda ejecutar transparentemente todo el conjunto de herramientas.
  • Un problema que se presenta con las versiones de repositorios de Alliance es que (hasta el momento de la publicación de esta entrada) las variables de ambiente que se necesitan para que las herramientas funcionen, no se definen correctamente o no se definen siquiera. Para compensar este error, el script se encarga de modificar el archivo de configuración del usuario (bashrc) para declarar las variables de manera correcta.
  • Otro detalle importante al usar los repositorios por defecto, es que la documentación y los ejecutables de las herramientas se deben instalar por separado, pero debido a que la documentación incluye los tutoriales y ejemplos que deberían ser parte integral del conjunto de herramientas, los usuarios que apenas comienzan en este mundo usualmente no se dan cuenta de que falta de instalar una parte vital del proyecto Alliance.


Consideraciones:


  • El script se ha desarrollado para el SO Centos 6.4 y se recomienda su uso sólo para esta distribución ya que no se ha probado aún con otras versiones.
  • El script está pensado para instalar Alliance CAD Tools en un SO con una arquitectura de 64 bits, aunque algunas modificaciones pueden hacerse e instalar las herramientas en un SO de 32 bits sin problemas.
  • El script instala las herramientas de manera global, pero las variables de ambiente se definen por usuario, así que cada usuario que desee usar Alliance deberá ejecutar el script en su sesión.

El Script (por fin)

El script es de uso libre y lo pueden descargar aquí pero agradecería retro-alimentación de parte de quienes lo usen para saber qué cosas se pueden mejorar o se deberían cambiar. Recuerden dar permisos de ejecución al script y ejecutarlo como root.




Hacer ROOT a tablet Vorago TBT-302

Hace ya un tiempo me compré una tablet de la marca Vorago, el modelito TBT-302 que es un clónico en apariencia del Ipad Mini. Obvio, al ser una tablet de una marca mundialmente desconocida, las prestaciones no son muy buenas. La velocidad del sistema es bastante mala y tarda mucho en despertar "completamente" tras suspenderla.

Para comenzar a experimentar con opciones para mejorar el rendimiento hay que hacer root como nuestro señor Crom de la montaña manda, pero me encuentro con la desagradable sorpresa de que el chipset que tienen estas tablets (Rock Chip RK30XX) no es nada fácil de rootear por medios comunes.

Tras investigar un poco y obviar soluciones que implicaban un millón de pasos en Linux o muchas operaciones riesgosas en Windows con software que igual podía dejar inservible el aparato, me encontré con una opción increíblemente sencilla y eficiente. Para rootear la tablet sólo hay que seguir los siguientes pasos:


  1. Conseguir el software de Cydia Impactor, que es lo que yo usé para hacer el root. Lo descargamos desde la página oficial para el SO que más nos guste, aunque yo sólo lo he probado en Windows.
  2. Conectamos nuestra tablet en modo de depuración USB pero sin activar la conexión USB (sólo enchufen la tablet, no hagan nada más).
  3. Extraemos el software de Cydia y lo ejecutamos. Tras esto tendremos una ventanita como la mostrada arriba.
  4. En el menú "USB" seleccionamos el "driver scan" y nos preguntará si deseamos crear un driver para el TBT-302, le decimos que sí (tardará un par de minutos)
  5. Una vez creado el driver (el sistema de Windows nos dirá que se creó), procedemos a rootear sólo dando en la opción "start" de la ventana principal  y comenzará el proceso. En mi caso todo tardó unos 5 minutos.

jueves, 30 de mayo de 2013

Convertir videos para el Galaxy Ace (o cualquier dispositivo Android parecido) en Linux con FFMPEG

Estoy contento con mi Galaxy Ace desde hace tiempo. Pero uno de los problemas con los que me había topado, es que, a pesar de que instalando el Reproductor de video MX Player, que reproduce gran variedad de formatos, hay momentos en los que, ciertamente, un video en un formato "adecuado" para el celular, sería mejor opción.

Ya sea porque el video original ocupa mucho espacio o porque el formato original funciona bien pero al adelantar/atrasar, hay retrasos, siempre se presenta la oportunidad de usar un formato más amigable con los codificadores estándar del aparato.

Por esa razón, revisé varios posts y guías de conversión y encontré un comando con una serie de opciones, que brinda la mejor relación peso/calidad en el video producido.

El comando en cuestión sería el siguiente:
 ffmpeg -i video.original -s 428x320 -y -vcodec libx264 -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -aspect 16:9 -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 video.ace.mp4  


Se pueden usar opciones más sencillas, pero el resultado en este caso es un poco mejor (en opinión del que escribe). El script es el siguiente:

 #!/bin/bash  
 arg=$2  
 if [ ${arg} == "-w" ]  
 then  
      asp="16:9"  
 elif [ ${arg} == "-s" ]  
 then  
      asp="4:3"  
 else  
      echo "YOU MUST SPECIFY A VIDEO ASPECT RATIO: WIDESCREEN (-w) OR STANDARD (-s), EG:"  
      echo "gaceconv originalvideo.avi -w"       
      exit 1  
 fi  
 original=${1}  
 name=${original:0:${#original}-4}  
 ffmpeg -i "${original}" -s 428x320 -y -vcodec libx264 -acodec libmp3lame -ac 2 -ar 44100 -ab 128k -aspect ${asp} -preset slow -profile:v baseline -level 30 -maxrate 10000000 -bufsize 10000000 -f mp4 -threads 0 "${name}.ace".mp4  

Lo guardan como "gaceconv.sh" y lo ejecutan como

 gaceconv originalvideo.avi -w  

ó

 gaceconv originalvideo.avi -s  

La opción "-w" produce un video con formato 16:9 (panorámico) y "-s" produce formato "estándar" 4:3 o "cuadrado".

El video resultante tiene dimensiones de 480x320 pixels.

miércoles, 10 de abril de 2013

Instalar Alliance CAD Tools en CentOS, Fedora, RedHat usando repositorios

  • Primer consejo:

    NUNCA, POR NINGÚN MOTIVO, INSTALEN FEDORA: Apesta, es inestable y la interfaz consume más recursos que una prostituta presidencial.

     
  • Paso 1. Consiguiendo los repositorios:


    Para instalar Alliance CAD en nuestro sistema, necesitaremos tener el repositorio EPEL activado. Para activarlo si no lo está, sólo se necesita un paquete RPM. Vamos a la dirección:

    http://dl.fedoraproject.org/pub/epel/6/

    Seleccionamos nuestra arquitectura (x86_64 para máquinas de 64 bits, por ejemplo) y descargamos el paquete epel-release-x-y.noarch.rpm. Donde x-y deberá corresponder a la versión más reciente (más elevada) disponible. Se selecciona el paquete y se instala mediante el gestor de paquetes (si el navegador usado para visitar la página lo soporta) o mediante el comando de terminal:

    $ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-x-y.noarch.rpm

    reemplazando x-y por la versión deseada y x_86_64 por la arquitectura adecuada para nuestro sistema.

     
  • Paso 2. Instalando los paquetes:


    Posteriormente, instalamos los paquetes del conjunto de herramientas de alliance, mediante el comando:

    $ yum -y install alliance alliance-doc alliance-libs

    Y listo