Too Cool for Internet Explorer

Avances con el NAS 2

Hora y Fecha: Julio 9, 2008 @ 10:48 pm Autor: Moisés Maciá
Categorías:
67 views

Después de casi una semana compilando dependencias, afinando configuraciones y haciendo triples saltos mortales hacia atrás para que quepa todo en los 128MB de RAM y 8MB de flash del NAS, tengo un ecosistema medianamente “acogedor“: MLDonkey, GNU Core utils, rsync, Subversion, etc.

Estoy aprendiendo muchas cosas sobre los sistemas empotrados a base de meter la pata en todos los agujeros del camino. Por ejemplo, mi intento de Time Machine sin manzanas se ha visto momentaneamente frustrado por la poca potencia de cálculo del micro Gemini.

La combinación rsync + SSH funcionaba bien en el anterior equipo con un Pentium III viejuno: tomaba snapshots del disco entero (~12GB usados) cada hora en 3-6 minutos (benditos enlaces duros). Ahora la misma operación tarda entre 20 y 40 minutos. Así a ojo debe ser tan potente como un Pentium 200MHz.

Creo que el principal problema es el cifrado que aplica SSH a los datos. Gemini lleva un coprocesador para tareas criptográficas pero parece que no se usa o no es lo suficientemente rápido para descifrar en tiempo real un stream de 100Mb/s. Acepto sugerencias.

Tengo que probar a ver que tal rinde la conexión con un par de rsync en configuración cliente/servidor, sin shell ni transporte cifrado. Creo que esa será la solución; aunque entonces ya no podré hacer snapshots del portátil conectado con WiFi desde el bar, eso resta puntos.

Estoy pensando en abrir un apartado en el blog y una cuenta de SVN para subir todo el código y los binários, pero eso será cuando tenga los paquetes bien pulidos.

PD. apt, cuanto te echo de menos …



Instalar servidor SSH en Icy Box NAS-4220-B 5

Hora y Fecha: Junio 30, 2008 @ 12:34 am Autor: Moisés Maciá
Categorías:
37 views

Este es el primer post sobre hacks del Raidsonic Icy Box NAS-4220-B y en él voy a explicar cómo instalar un servidor SSH para conectarnos de forma segura a través de Internet o de una red inalambrica.

El primer paso es actualizar el firmware del aparato a la última versión disponible (en este momento es la 2.6.0.IB.1.RS.1). Esta actualización incluye acceso remoto mediante telnet que aprovecharemos para modificar ciertos parámetros del sistema.

El servidor SSH es un paquete oficial disponible en la pagina web del fabricante. Para instalarlo hay que conectarse al NAS mediante FTP/SMB/NFS con el usuario admin y dejar el archivo ssh-server.tgz en la ruta /public/applications/new_software.

Después de esto, reiniciamos la máquina y ella sola instala el software en los directorios correspondientes. Esta manera de instalar cosas me ha gustado mucho.

Ahora viene el problema: por lo visto alguien en Raidsonic con una mente preclara ha hardcodeado los paths de los binarios a /mnt/IDE1. Este es el punto de montaje de los discos, pero cambia en función de la cantidad y la configuración de los discos que tengas puestos (RAID0, RAID1, JBOD, etc.).

En mi caso el punto de montaje es /mnt/ide3 (en minúscula), con lo que el servidor SSH se instala pero nunca llega a ejecutarse porque no encuentra sus librerías ni sus archivos de configuración.

A mi todo esto me huele un poco mal. Vale que Raidsonic no es una multinacional del software, pero este es un error de bulto que está en la web desde hace tiempo en un paquete “oficial”. Me parece trabajo de becarios mal pagados, porque eso de poner las rutas en mayúsculas y hardcodeadas muy profesional no suena. Pero bueno, hay una solución sencilla.

Podemos hacer un enlace simbólico que apunte al punto de montaje correcto y todo funcionará como se espera. Para esto necesitamos una shell del sistema mediante telnet.

El acceso a traves de telnet no está habilitado por defecto, para activarlo hay que ir a la siguiente URL http://[ip del nas]/cgi/telnet/telnet.cgi y marcar el checkbox (curiosamente el acceso a telnet no sale en el interfaz web, está escondido).

Nos logeamos como root con la contraseña del usuario admin y ya tenemos shell.

En mi caso el enlace simbólico quedaría de la siguiente manera:

  1. ln -s /mnt/ide3/ /mnt/IDE1

Para comprobar que el servicio se inicia correctamente, vamos al directorio de la aplicación y ejecutamos el script de inicio:

  1. cd /mnt/ide3/public/applications/ssh-server/
  2. sh init

Finalmente, activamos el servidor SSH desde el interfaz web y probamos la conexión.

Debido a la combinación de memoria flash + partición en disco que utiliza el NAS para ejecutar el sistema, este enlace simbólico se pierde cada vez que reiniciamos la máquina.

Esto se soluciona instalando el paquete userscript (descarga) que permite ejecutar scripts personalizados durante el arranque del sistema, una especie de cron para que nos entendamos.

El comando para lanzar el servidor es el siguiente:

  1. mnt/IDE1/public/applications/ssh-server/bin/dropbear -d /mnt/IDE1/applications


NAS-4220 2

Hora y Fecha: Junio 16, 2008 @ 11:31 pm Autor: Moisés Maciá
Categorías:
39 views

Esta es mi nueva adquisición. Es un NAS doméstico. En este vídeo se pueden ver todas las funcionalidades que ofrece de serie:

Lo que interesa es que se trata de un dispositivo empotrado con un puerto giga ethernet, host USB, un controlador SATA2 y Linux, cosa que garantiza horas de diversión hackeandolo y un elevado indice de mapachidad :)

También hay que tener muy en cuenta que, a efectos prácticos, es un ordenador muy pequeño, muy silencioso, que puedes tener encendido todo el día haciendo backups, sirviendo ficheros, descargando cosas … y que consume alrededor de 20W (hay hacks para reducir incluso más el consumo!).

Se puede desarrollar con el tool chain básico de GNU (make, gcc, stdlib, etc.) configurando correctamente el sistema para compilación cruzada al micro ARM Gemini que lleva. Incluso hay una guia oficial sobre como integrar los desarrollos en el interfaz web de gestión del dispositivo para que quede “bonito”.

Vamos, que lo han puesto en bandeja de plata para que la gente ociosa desarrolle soft. De hecho, ya hay una comunidad bastante maja alrededor de este juguetito (tanto en hard como en soft), lo malo es que la mayoría de la información está en alemán (la empresa es de Berlin, y por lo visto no tienen mucha distribución fuera de Internet y Alemania).

Todavía no he podido curiosear porque al parecer si no hay un disco pinchado no va nada, y visto como están los transportes últimamente voy a tardar unos días en conseguirlo …

Que nadie se asuste, vuelvo a programar en C, tengo grandes proyectos para esta cajita :)



It’s hammer time 1

Hora y Fecha: Junio 2, 2008 @ 9:08 am Autor: Moisés Maciá
Categorías:
48 views

En la última Sun Tech Days han hecho una “demo” de la robustez del sistema de ficheros ZFS de Solaris —ese que quiere Jobs para OSX contra viento y marea—.
No menos de mil de dolares en un RAID de ocho discos y un tio con un martillo pilón machacandolos uno a uno, diversión para toda la familia.

Técnicamente se puede utilizar en GNU/Linux, pero no dentro del kernel por temas de licencia. Sólo en espacio de usuario.



Configurar un iPod Nano de 6ª generación en GNU/Linux 7

Hora y Fecha: Diciembre 29, 2007 @ 9:22 pm Autor: Moisés Maciá
Categorías:
561 views

Actualización: Me confirman que el iPod Nano es de 3ª generación y no de 6ª como creía. En cualquier caso, esta guía es para los dispositivos nuevos.

Recientemente Apple ha cambiado el protocolo de comunicación de los iPod, presumiblemente para evitar el acceso a cualquier aplicación de terceros excepto iTunes. Esta actualización afecta a todos los dispositivos nuevos que lanzaron después de verano: iPod Nano, iPod Touch, Classic y algún otro.

Si utilizáis un iPod 6g en Linux, podreis sincronizar la lista de canciones pero después el dispositivo no puede leerlas. Los desarrolladores de libgpod y Amarok rápidamente han actualizado el software para permitir el uso de todos estos dispositivos desde sistemas libres, concretamente hace falta la versión 0.6 de libgpod y la 1.4.8 de Amarok.

Configuración en Ubuntu/Debian

  • Actualiza tu sistema a la última versión. Ubuntu Gutsy trae Amarok 1.4.8
  • Descarga e instala el paquete libgpod3 de los repositorios de Hardy (funciona sin problemas de dependencias en Gutsy). Otra opción es bajar el código fuente y compilarlo tu mismo, solo para desarrolladores o desesperados :)
  • Amarok esta linkado a la antigua versión de libgpod, para que utilice la nueva es necesario actualizar el symlink:
    1. sudo ln -fs /usr/lib/libgpod.so.3 /usr/lib/libgpod.so.2
  • Conecta el iPod y montalo.
  • Abre un terminal y escribe el comando:
    1. sudo lsusb -v | grep -i Serial

    Aparecerá un hash de 16 caracteres, ese es el identificador de dispositivo que utiliza iTunes para “cifrar” la lista de canciones. Cópialo.

  • Edita un archivo que se encuentra en el sistema de archivo del iPod, en la ruta /media/IPOD/iPod_Control/Device/Sysinfo. Si no existe créalo.
  • Escribe FirewireGuid: 0x... y el número de identificación de tu iPod. En mi caso queda así:
    1. ModelNumStr: xA426
    2. FirewireGuid: 0×000A27001B09504F
  • Abre Amarok, gtkPod, o tu reproductor libre de música favorito, configura el iPod con normalidad, pasa algunas canciones y disfruta de la música.

Links:

PD. No, no me he comprado un iPod, ha sido una petición especial que comenzó con la frase “A que no tienes cojones a …”.
PD2. Gracias Apple por acordarte de todos aquellos que no pueden ni quieren utilizar iTunes.



Menos iPhone y más Android 2

Hora y Fecha: Noviembre 13, 2007 @ 12:07 am Autor: Moisés Maciá
Categorías:
269 views
Google Android

Hoy ha salido a la luz Android, un SDK para programar dispositivos móviles (smartphones, pdas, etc.) de la mano de Google. Al final no ha sido un teléfono móvil como se rumoreaba desde hace tiempo sino algo mucho mejor.

Está construido enteramente alrededor de Java, lo cual me parece lógico ya que es la plataforma más madura en este sector, pero no utiliza la JVM de Sun para ejecutarse (aunque si para desarrollo); utiliza otra optimizada para dispositivos realmente escasos en recursos llamada Dalvik a la que Google ha pegado un serio tijeretazo.

En general lo poco que he visto me gusta: tiene un API bastante extensa que cubre cosas como los acelerómetros (se llaman así?) estilo Wii, cámaras de vídeo, sonido, vídeo 2D y 3D con OpenGL ES, Bluetooth, WiFi, 3G, etc. Los GUI se diseñan a partir de ficheros XML, SQLite como backend de datos y un kernel de Linux para gobernarlos a todos y atarlos a la GPL donde reina el señor GNU :)

La plataforma de desarrollo elegida ha sido Eclipse aunque dejan bien claro que no es una condición exclusiva. Proporcionan unos scripts para generar el esqueleto del proyecto sin necesidad de tener que comprar 2GB de RAM más para ejecutar Eclipse, los scripts pueden generar un proyecto para intelliJ por ejemplo.

Se puede descargar todo el framework y ejemplos para Linux, Windows y OS X. Además han habilitado una competición de programación con 10 milloncejos de dólares a repartir entre los mejores proyectos presentados.

Esta es la oferta de Google: libertad y transparencia.

Mientras, Apple tiene su iPhone que es bastante bonito pero del que no se puede aprovechar gran cosa en términos de desarrollo, Symbian que cada vez tiene menos relevancia (en parte porque ellos mismos se lo han buscado) y Microsoft con su Windows Mobile que todos los que tengáis un iPaq sabréis lo fantástico y tremendamente compatible que es.

Ahora falta que salgan dispositivos con Android de serie y hacks que permitan exorcizar el Windows Mobile de las iPaq …



Calenturas primaverales 5

Hora y Fecha: Mayo 10, 2007 @ 12:39 am Autor: Moisés Maciá
Categorías:
452 views
Dell Inspiron 8500 weird video

Eso es la GPU de mi Inspiron 8500 en actitud psicodélica debido a un fallo todavía sin determinar pero que apunta a calentón. La primavera es lo que tiene.

Inocente como soy, no se me ha ocurrido otra cosa que preguntar al servicio técnico y me han pedido 800€ y que me bajará los pantalones; así, sin pestañear. Como no esta la cosa para tonterías voy a ver si puedo hacerle una autopsia y enchufarle una tarjeta nueva que he visto por eBay.

Hasta entonces el blog queda en pausa.



Ya es oficial: Dell venderá equipos con Ubuntu 0

Hora y Fecha: Mayo 1, 2007 @ 7:34 pm Autor: Moisés Maciá
Categorías:
457 views
Tux Dell

En el día de hoy se ha confirmado uno de los rumores más persistentes de los últimos meses. La prestigiosa marca de ordenadores Dell —la más potente ensambladora de PCs del mundo— venderá equipos con Ubuntu 7.04 (Feisty Fawn) preinstalado. Los equipos se venderán desde la web de la casa de hardware y vendrá con un completo soporte hardware.

Según lo previsto, Ubuntu será preinstalado en las gamas Dimension y XPS de ordenadores de sobremesa y la gama Inspiron de portátiles. La elección de Dell por Ubuntu no parece una sorpresa atendiendo a las declaraciones que recientemente hizo su fundador y CEO Michael Dell que presume de utilizar la distribución en su portátil totalmente equipado Dell Precision M90.

Sin duda esta es una de las noticias más esperadas por la comunidad de Linux. El apoyo de una casa de hardware grande como es Dell podría suponer el espaldarazo definitivo para Linux en el escritorio. Y es que Ubuntu podrá gustar más o menos, pero es innegable que la compañía liderada por Mark Shuttleworth está haciendo bien las cosas.

Noticia en el blog oficial de Dell
Comunicado de prensa de Canonical



iPaq rx1950 17

Hora y Fecha: Agosto 14, 2006 @ 12:24 am Autor: Moisés Maciá
Categorías:
824 views
iPaq rx1950

Así se llama el nuevo juguete llegado desde eBay que ameniza mi existencia geek, HP iPaq rx1950 o iPaquito como lo llamo yo.

He estado probando el trasto durante unas semanas y aqui van mis conclusiones para el que esté pensando en comprarse un artilugio similar:

  • No funciona en Linux. Parece que el problema está en el protocolo de comunicaciones RNDIS del nuevo Windows Mobile 5.0 porque en anteriores versiones si que funciona la sincronización. El protocolo está cerrado a cal y canto para que sólo se pueda comunicar con lo que Microsoft dicte y mande, como no. De momento sincronizo los contenidos directamente desde la tarjeta SD, es menos cómodo pero funciona.
  • Sorpresa, Windows Mobile 5.0 tiene una especie de sistema de paquetes como apt para instalar programas. En general funciona bien, pero a mi me ha dado un error al intentar desinstalar un programa y no hay manera de quitarlo.
  • Una cosa que me ha sorprendido mucho es que cuando ejecutas cualquier programa se queda cargado en RAM, lo utilices o no; así que al abrir media docena de cosas y te has quedado sin memoria y no puedes abrir más programas (la PDA sólo tiene 32 Mb). Me costó un poco encontrar el sitio dónde cepillarme todo lo que hay cargado en memoria, ni que decir tiene que esta “feature” es de lo más molesto que he visto en mucho tiempo.
  • Windows Media Player 10 Compact, o más conocido como el reproductor que no reproduce nada en absoluto. Este player viene cargadito con DRM hasta las cejas: si copias un video directamente en la tarjeta SD no te dejará reproducirlo, no importa que sea AVI o MPEG, ni los códecs utilizados, ni la resolución, nada. Para reproducir algo tiene que pasar primero por el Windows Media Player 10 de Windows XP, entoces él decide si le parece bien que lo puedas ver en la PDA (como descubra que el archivo está protegido por derechos de autor olvidate de intentar hacer nada con él) y entonces lo codifica para que sólo puedas verlo en tú PDA. De locos. Encima los MP3 se escuchan fatal, de hecho cualquier cosa que no esté en formato Windows Media Audio o Video va a tener peores prestaciones.
  • Por suerte está TCPMP, un media player GPL que reproduce prácticamente todos los formátos de video y audio más populares, entre ellos MPEG y DivX por supuesto, con una calidad más que decente y sin los inconvenientes antes mencionados.
  • Una de las cosas que mejor funcionan es la entrada de datos con el lapicero: puedes escribir mediante un teclado virtual o directamente con trazos manuales. El teclado es incómodo para escribir cosas mayores que una frase, en cambio la escritura por trazos es funciona muy suave y con un poco de práctica consigues escribir tan rápido como lo haces de forma natural.
  • Otra cosa fantástica es la puesta en marcha: cuando le das al botón de encendido no tarda ni medio segundo en cargarlo todo y puedes trabajar instantáneamente.
  • La batería funciona razonablemente bien: con un uso normal dura unos 4 dias sin pasar a repostar. Con “uso normal” me refiero a utilizar los programas de contactos, calendario, oficina, el reproductor de MP3 y alguna que otra ver el WiFi.
  • Por último hablar de .Net Compact Framework con el que puedes programar aplicaciones con una facilidad que casi da risa (y funcionarán en cualquier PocketPC).

Cuando me aburra le pondré Linux ;)



Avermedia AverTV Go 007 FM 4

Hora y Fecha: Enero 4, 2006 @ 8:13 pm Autor: Moisés Maciá
Categorías:
924 views

Ese nombrajo corresponde a una tarjeta sintonizadora de TV que me ha traido por la calle de la amargura durante los ultimos dias ya que no se dejaba instalar en Linux, pero para cabezota yo. He conseguido hacerla funcionar en Linux.

Antes de desvelar los mágicos arcanos que nos permitiran ver la tele, un poco de culturilla:

Lleva un chip decodificador SAA7131e y un chip sintonizador TDA8275, ambos del fabricante Philips.

En Linux hay soporte completo para estos dispositivos a partir del kernel 2.6.15, como hace unas horas que acaba de salir tenemos un pequeño problema: Ubuntu Breezy Badger incluye el kernel 2.6.10 y la tarjeta es detectada pero no reconocida.

La soluciones esperar a que los de Ubuntu empaqueten el kernel 2.6.15 o superior y actualizar a golpe de apt-get (cosa que puede demorar varios meses) o compilar nosotros mismos el modulo v4l2 del kernel, que contiene toda la recopilación de drivers para un buen puñado de tarjetas de TV analógica y Digital Terrestre.

Las instrucciones necesarias para realizar esta labor se comentan en el Wiki de V4L, pero como estan en ingles haremos un somero repaso por aquello de quedar bien.

Primero necesitamos todas las herramientas de compilación y las cabeceras de nuestro kernel. Normalmente este tipo de cosas no se instalan por defecto:

apt-get install build-essential
apt-get install linux-kernel-headers

Entramos al repositorio CVS:

cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux login

Cuando pida el password, presiona la tecla enter para continuar.

Bajamos el contenido del repositorio con todo el codigo de los drivers actualizados:

cvs -d :pserver:anonymous@cvs.linuxtv.org:/cvs/video4linux co v4l-dvb 

Cambiamos al directorio v4l2-dvb:

cd v4l-dvb

Compilamos todas las fuentes:

make

Instalamos los nuevos módulos en el sistema (como root):

make install

Reiniciamos y Linux automaticamente detectará el hardware y cargará los módulos adecuados.

Pero eso no es todo, ahora tenemos imagen en la TV pero no sonido. Resulta que hay un conflicto en la carga de los módulos y el sistema de sonido del kernel 2.6 (ALSA). Los desarrolladores de V4L le han pasado la pelota a los desarrolladores del kernel y parece que todavia no hay una solución.

Hay un pequeño hack que me ha funcionado mientras se soluciona el problema:

modprobe saa7134-oss
sox -t ossdsp -w -c2 -r 32000 /dev/dsp1 -t ossdsp /dev/dsp

Con la primera instrucción cargamos el modulo de compatibilidad con OSS (el antiguo sistema de sonido de Linux) y se crean dos nuevos dispositivos de sonido: /dev/dsp1 y /dev/mixer1 correspondientes a la tarjeta de tv.

La segunda instrucción “redirige” todo lo que salga del dispositivo de la tarjeta de TV a la tarjeta de sonido: /dev/dsp.

De momento hay que hacer todo esto cada vez para tener la TV funcionando, próximamente cuando todos los parches esten aplicados en el kernel, el sistema hotplug de Linux se encargará de todo.

linux, hardware, tech




Entradas siguientes »

Bad Behavior has blocked 323 access attempts in the last 7 days.