sábado 19 de noviembre de 2011

Instalación de AverTV Volar Pro HD (a835) en Linux (Fedora 16)

Instalar la tarjeta AverTV Volar Pro HD con chip a835 es relativamente fácil en kernels superiores a la versión 3.0.0 con el método desarrollado por xgazz para Ubuntu. En este post voy a adaptar ese método para Fedora 16 (con kernel superior a 3.0.0).

Lo primero de todo es asegurarnos de que el dispositivo que tenemos es el que incluye el chip a835. Ejecutando en el terminar lsusb debemos encontrar dicha información. Debe coincidir exactamente lo resaltado en negrita:

Bus 001 Device 003: ID 07ca:a835 AVerMedia Technologies, Inc. 


En teoría, éste método funcionaría con todos estos dispositivos:

Avermedia AVerTV A835 HD (ID 07ca:b835)
Avermedia AVerTV A835 HD PRO (ID 07ca:a835)
Avermedia AverTV A835 Green HD (ID 07ca:a835)
e di altre, sempre con lo stesso chipset:
TerraTec Cinergy T Stick (ID 0ccd:0093)
TerraTec Cinergy T Stick 2 (ID 0ccd:00aa)
Avermedia AverTV A825 (ID 07ca:0825)


Bueno, vamos al lío.

1. Instalamos las dependencias típicas de compilación y desarrollo del kernel:

# yum -y install make gcc kernel-headers kernel-devel build-essential


2. Ahora descargamos una copia del kernel de linux, a poder ser de la misma familia del que haya instalado en Fedora (versión 3.1.1 en este momento). Ésto es necesario porque algunos archivos necesarios para la compilación de los drivers no están incluidos en los headers del kernel instalados previamente con yum.

$ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.1.tar.bz2
$ tar xjf linux-3.1.1.tar.bz2


3. Descargamos los drivers preparados por xgazz:

$ wget http://xgazza.altervista.org/Linux/DVB/Drivers/AF9035_xgaz_3.0.0.tar.bz2
$ tar xjf AF9035_xgaz_3.0.0.tar.bz2


4. Copiamos los archivos necesarios para la compilación desde el kernel descargado a los headers del kernel de Fedora:

# cp -r linux-3.1.1/drivers/media/dvb/dvb-usb/ /usr/src/kernels/`uname -r`/drivers/media/dvb/
# cp -r linux-3.1.1/drivers/media/dvb/dvb-core/ /usr/src/kernels/`uname -r`/drivers/media/dvb/
# cp -r linux-3.1.1/drivers/media/dvb/frontends/ /usr/src/kernels/`uname -r`/drivers/media/dvb/


5. Modificamos el fichero Makefile que hay dentro del directorio AF9035_xgaz_3.0.0, con un editor de texto. Localizamos la línea que comienza con KDIR, y la sustituimos por ésta línea:

KDIR = /usr/src/kernels/`uname -r`/


6. Compilamos e instalamos los drivers:

$ cd AF9035_xgaz_3.0.0
$ make
# make install


7. Y para terminar, descargamos el firmware:

# cd /lib/firmware
# wget http://xgazza.altervista.org/Linux/DVB/dvb-usb-af9035-01.fw


8. Ahora, tras reconectar la tarjeta USB al ordenador, debería aparecer la ruta /dev/dvb/adapter0/, y si ejecutamos dmesg, algo parecido a ésto:

[ 3294.135315] dvb-usb: downloading firmware from file 'dvb-usb-af9035-01.fw'
[ 3294.443532] dvb-usb: found a 'Avermedia AverTV Volar HD & HD PRO (A835)' in warm state.
[ 3294.443621] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3294.443933] DVB: registering new adapter (Avermedia AverTV Volar HD & HD PRO (A835))
[ 3294.451103] af9033: firmware version: LINK:11.15.10.0 OFDM:5.48.10.0
[ 3294.453351] DVB: registering adapter 0 frontend 0 (Afatech AF9033 DVB-T)...[ 3294.463874] tda18218: NXP TDA18218HN successfully identified.
[ 3294.465624] Registered IR keymap rc-empty
[ 3294.465773] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/rc/rc0/input9
[ 3294.466118] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5/rc/rc0
[ 3294.466121] dvb-usb: schedule remote query interval to 200 msecs.
[ 3294.466124] dvb-usb: Avermedia AverTV Volar HD & HD PRO (A835) successfully initialized and connected.
[ 3294.475504] usbcore: registered new interface driver dvb_usb_af9035


En este momento ya deberíamos poder sintonizar nuestra tarjeta con el software que deseemos. En mi caso utilizo Kaffeine, con muy aceptable resultado, a excepción de los canales HD, que en ocasiones se entrecortan un poco.

También hay que tener en cuenta que, cada vez que se actualice el kernel, habrá que volver a repetir los pasos 4 y 6.

viernes 18 de noviembre de 2011

Algunos PC empotrados para tus proyectos

Desde hace algún tiempo vengo revisando algunos de los PC's empotrados (sistemas embebidos) más conocidos para una serie de proyectos que estoy llevando a cabo. El pequeño tamaño de estos y el bajo coste en algunos casos, los hacen ideales para algunos de nuestros proyectos.

Existen infinidad de fabricantes y modelos. En éste artículo incluyo algunos de los que más tiempo les he dedicado por su interés o necesidad.




BeagleBoard-xM

La que más me gusta por su tamaño y facilidad de uso. Al mismo tiempo es de las más potentes y más caras. Se puede adquirir por unos 120€.

Esta placa está equipada de un procesador ARM Cortex A8. Funciona perfectamente bien con el sistema operativo basado en Linux (Armstrong) que trae de serie, aunque yo opté por instalar Debian compilada para ARM.

Tiene todo lo que podríamos necesitar en un ordenador personal. Será excesiva para aplicaciones pequeñas y concretas, pero por otro lado, polivalente si la vamos a reciclar para otros proyectos totalmente distintos.




BeagleBone
Otra placa de la familia Beagle. Menos potente que la BeagleBoard-xM, pero con la capacidad de expandirse añadiendo otras placas en serie o con los módulos que están en desarrollo y se lanzarán al mercado próximamente. También puede funcionar en conjunto con la BeagleBoard-xM.

Tiene alta capacidad de procesamiento 3D, lo cual hace posible que sea apta para desarrollos relacionados con el procesamiento de vídeo, por ejemplo.

Ésta placa es más barata que la BeagleBoard-xM. La podemos adquirir por unos 80€




Una de las placas más esperadas, pero que, por rediseños durante su desarrollo se está retrasando más de la cuenta. Parece ser, qué finalmente, su lanzamiento será oficial para mediados de diciembre.

Concepto del circuito de la versión final de Raspberry Pi
¿Por qué es de las más esperadas? Pues, en estos tiempos, cómo no, por su precio. Habrá dos versiones, una por 25$ y otra por 35$. La diferencia entre ellas es que la segunda llevará chip Ethernet On-Board, mientras que la primera habrá que conectarla a la red (si es que lo necesitamos) a través del puerto USB.

Sus prestaciones son, evidentemente, menores que las placas anteriores, pero su precio las hacen muy atractivas para la mayoría de los proyectos que podamos acometer.






Las que menos me gustan por su dificultad para manipular el sistema operativo (sobre todo el arranque), pero útiles y dignas de reseñar por su bajo precio y consumo. Existen varias versiones de distintas prestaciones. Simplemente las reseño por si alguien quiere echarles un vistazo.



5. Routers abiertos

Existen en el mercado algunos routers "abiertos", que si bien están pensados únicamente para aplicaciones de red, su apertura nos permite utilizarlos para aplicaciones de sistemas embebidos gracias al puerto USB que implementan (y los puertos serie internos). Un ejemplo de ellos es el Netgear WNR3500L. He tenido la oportunidad de hacer algunas pruebas con éste modelo, y aunque no es tan flexible como una placa de las anteriores, se le puede sacar mucho partido.

jueves 17 de noviembre de 2011

Spotify para Fedora 16 (64 bits)

Aquí dejo el .rpm para instalar la última versión a fecha de hoy de Spotify para Linux. Esta versión la he construido para Fedora 16 64bits, pero me imagino que servirá para cualquier distribución de 64 bits que utilice paquetes .rpm.

Recuerda que para utilizar esta versión en desarrollo necesitas una cuenta Premium o Unlimited de Spotify.


Pasos a seguir:

1. Instalar las dependencias:
$ yum install qt-x11

2. Realizar los siguientes enlaces:
$ sudo ln -s /usr/lib64/libssl.so.1.0.0e /usr/lib64/libssl.so.0.9.8
$ sudo ln -s /usr/lib64/libcryptopp.so.6.0.0 /usr/lib64/libcrypto.so.0.9.8

3. Descargar e instalar el paquete:
rpm -Uvh --nodeps spotify-client-qt-0.6.2.291.gcccc1f5.116-2.x86_64.rpm

A veces, al iniciar esta versión de Spotify, nos encontramos con que se cierra nada más abrirlo y crea un informe de errores. Ésto se evita borrando el directorio /home/usuario/.cache/spotify. Podemos evitar esto creando un pequeño script que borre ese directorio cada vez que iniciemos Spotify:
$ mv /usr/bin/spotify /usr/bin/spotify-bin

Y con un editor de texto creamos el archivo /usr/bin/spotify con este contenido:
#!/bin/bash
/bin/rm -rf ~/.cache/spotify
/usr/bin/spottify

Lo guardamos y le damos permisos de ejecución:
$ chmod ugo+x /usr/bin/spotify

Y listo. Ya podemos ejecutar Spotify normalmente.


Para Debian y Ubuntu (.deb), la instalación es más sencilla. Sólo hay que descargar la versión indicada desde http://repository.spotify.com/pool/non-free/s/spotify/ e instalarla normalmente sin seguir los pasos anteriores.

miércoles 16 de noviembre de 2011

¡Hola mundo!

¡Bienvenido o bienvenida a nBytes.org!

Hace tiempo éste dominio sirvió para nombrar algún que otro proyecto personal, pero hace algún tiempo que quedó en lo más profundo de algún servidor DNS, y para que no siga en la sombra, he decidido crear este blog.

No prometo nada, simplemente espero que las futuras publicaciones te sean útiles.