domingo, 10 de febrero de 2013

¿Cómo hago funcionar la sintonizadora Compro VideoMate Vista M1F en Ubuntu Maverick?

En un monumental documento, Juan Perón nos explica la importancia del deporte y expone dos métodos para hacer funcionar la sintonizadora Compro VideoMate Vista M1F en Ubuntu Maverick Merkaat.

¡Trabajadores!

El Deporte es una actividad que debe estar fomentada desde el Estado. Una mente sana no puede sino residir en un cuerpo sano que la ejecute. Por ello desde nuestro Movimiento se ha dado impulso a los Clubes, como una manera excelente de combatir la delincuencia. Esto lo entendimos también como una actividad recreativa, preciada por nuestra doctrina.

Gracias al Justicialismo, también el fútbol es ahora para todos. Y por ello podemos verlo desde una tribuna o cómodamente desde la TV de nuestra casa. Sin duda, todo el mundo puede quedar bien invitando a alguien a ver el Fútbol.

Por ejemplo, el 19 de julio de 1953 vino Milton Eisenhower - el hermano del presidente yanqui, y lo llevé a ver un Boca-River. El gringo no entendía nada, porque tenía menos sangre que un pescado. Pero fue un partidazo. River ganaba 2 a 1, y para colmo tuvieron un penal como para agrandar la ventaja. Pero el arquero de Boca voló dejando la gorra en el intento, le cacheteó la bocha a Mantegari, y la alcanzó a revolear para Navarro (jugador de Boca) que se escapó en contraataque. Con los gallinas descolocados y con un zapatazo de treinta metros, Navarro lo empató. Ardió la tribuna de Boca y de nuevo en el minuto 44, Rolando, el right forward de Boca, se mete con pelota y todo dentro del arco de River. Al estallido de la Masa, pegué un saltito, pero me di cuenta y traté de disimularla. El yanqui se llevó flor de julepe.

Naturalmente, Milton Eisenhower quería llevarse el secreto sobre cómo podíamos ver el partido por TV Analógica, usando una sintonizadora Compro M1F. Además se le ocurrió que le explicara cómo hacerlo en Window$, pero finalmente lo persuadí para que lo hiciera en Ubuntu, el sistema operativo de los Pueblos Libres.

Así como este tonto norteamericano, todo trabajador argentino de ley tiene derecho a sintonizar la TV que le apetezca con su sintonizador Compro VideoMate Vista M1F PCI, en cualquier momento y en cualquier lugar. Sobre todo, si el entorno justicialista como lo es Ubuntu 10.10 Maverick Merkaat.

Vean señores, la M1F es una placa PCI interna, con conectores de entrada tipo coaxial y S-VHS, así como una entrada RCA. El sintonizador del mismo es un Philips SAA7134, que nos proporcionará imágenes de calidad muy aceptable, para ser analógico.

En Ubuntu Maverick 10.10 no es aceptada normalmente por los kernels utilizados, pero nuestro Movimiento tiene por objetivo dar a todo trabajador las Justicia Social que merece por Justo Derecho.

Como primera medida, debemos asegurarnos especialmente de contar con esta sintonizadora y no otra. Comprobaremos la placa desde la Consola. Abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo pciids-update
lspci | grep -i philips

Debería devolver algo como:

xx:xx.x Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)

Si recibimos esta información, significará la necesidad de crear un archivo de configuración llamado saa7134.conf con la descripción numérica del sintonizador. Para ello en la consola ingresamos:

sudo gedit /etc/modprobe.d/saa7134.conf

Esto abrirá el editor peronista Gedit, y nos presentará un archivo normalmente en blanco. Le pegaremos el siguiente texto:

alias char-major-81 videodev
alias char-major-81-0 saa7134
options saa7134 card=183

Acto seguido, guardamos el archivo y cerramos el editor Gedit. Pero esto es solo el comienzo...

Es muy importante conocer que para que la sintonizadora Compro VideoMate M1F funcione en Ubuntu 10.10 Maverick de forma efectiva, habremos de instalar una versión especial de TV Time. Ademas, debemos seguir uno de los dos métodos que propondré, los cuales varían según su complejidad.

  • El método sencillo (o "nivel obrero") consiste en descargar un kernel 2.6.38 (realmente se trata de un kernel de Ubuntu 11.04 Natty Narwal). En dicho Kernel, ya se dispone de la capacidad para hacer funcionar la sintonizadora M1F.
  • El método complejo (o "nivel Conductor") consiste en descargar el código fuente del kernel 2.6.35 de Ubuntu Maverick y emparcharlo con un codigo para que funcione la sintonizadora Compro M1F en particular. Una vez que lo emparchemos, procederemos a compilar el kernel entero, empaquetarlo como paquetes DEB, e instalarlo en nuestro sistema.

Método sencillo: Descarga e instalar Kernel 2.6.38 de Ubuntu 11.04

Teniendo en cuenta que el kernel 2.6.38 ya está precompilado y emparchado de manera de poder funcionar con la Compro VideoMate M1F, con este método nos ahorraremos mucho esfuerzo y dificultades. Para instalarlo en nuestro Ubuntu Maverick, debemos descargar e instalar tres paquetes.

Para hacerlo simplemente copiaremos y pegaremos en la terminal los comandos indicados según corresponda a nuestra Arquitectura (64 o 32 bitios). Abrimos una Terminal con Ctrl+Alt+T e ingresamos:

cd ~/Escritorio

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.8-natty/linux-headers-2.6.38-02063808_2.6.38-02063808.201106040910_all.deb

Como ya se ha dicho, el resto de los comandos a ingresar variarán de acuerdo a la arquitectura de nuestro sistema, ya sea si emplean Ubuntu de 64 bitios o de 32 bitios.

  • Si usamos Ubuntu Maverick de 64 bitios debemos ingresar:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.8-natty/linux-headers-2.6.38-02063808-generic_2.6.38-02063808.201106040910_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.8-natty/linux-image-2.6.38-02063808-generic_2.6.38-02063808.201106040910_amd64.deb

sudo dpkg -i linux-headers-2.6.38-02063808_2.6.38-02063808.201106040910_all.deb

sudo dpkg -i linux-headers-2.6.38-02063808-generic_2.6.38-02063808.201106040910_amd64.deb

sudo dpkg -i linux-image-2.6.38-02063808-generic_2.6.38-02063808.201106040910_amd64.deb


  • En tanto, si usamos Ubuntu Maverick de 32 bitios ingresaremos:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.8-natty/linux-headers-2.6.38-02063808-generic_2.6.38-02063808.201106040910_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.38.8-natty/linux-image-2.6.38-02063808-generic_2.6.38-02063808.201106040910_i386.deb

sudo dpkg -i linux-headers-2.6.38-02063808_2.6.38-02063808.201106040910_all.deb

sudo dpkg -i linux-headers-2.6.38-02063808-generic_2.6.38-02063808.201106040910_i386.deb

sudo dpkg -i linux-image-2.6.38-02063808-generic_2.6.38-02063808.201106040910_i386.deb

Ya sea que usemos 64 o 32 bitios, debemos reiniciar con:

sudo reboot

Al activarse el menú de arranque de Grub, deberíamos encontrarnos con un kernel nuevo, llamado "2.6.38-02063808-generic". Le damos inicio.

Si todo va bien, el sistema debería arrancar correctamente. En tal caso, ya podremos eliminar los tres archivos .deb que quedaron en el Escritorio, y, acto seguido, dar cuenta de la sección "Instalar TV Time en Ubuntu Merkaat" que figura al final de este documento (salteando el método complejo).



Método complejo: Compilar un Kernel 2.6.35 de Maverick, y emparcharlo
Si optamos por el método complejo, debemos compilaremos nuestra propia versión del kernel original 2.6.35 de Ubuntu Maverick, pero aplicándole un parche que avale la utilización de nuestra sintonizadora Compro VideoMate M1F.

Para ello, como medida inicial, abrimos una Terminal con Ctrl+Alt+T y descargamos la fuente y las herramientas útiles para compilarlo:

sudo apt-get update

sudo apt-get install linux-source-2.6.35 kernel-package wget libncurses5-dev fakeroot bzip2 build-essential

Esto nos solicitará instalar varios Megabytes de paquetes. Le indicamos que Si. Tardará unos minutos en descargar todo.


Una vez logrado esto, en la carpeta /usr/src quedará descargado un archivo de acceso directo y carpeta de código fuente llamada "linux-source-2.6.35.tar.bz2".

Debemos decomprimir el archivo de acceso linux-source-2.6.35.tar.bz2. Será sencillo trabajarlo si usaremos el administrador de archivos Nautilus con permisos de Administrador. Lo ejecutamos con el siguiente comando:

sudo nautilus /usr/src

Conforme se abra el administrador de archivos de Ubuntu, el Nautilus, nos posicionará en la carpeta /usr/src. Buscaremos el archivo de acceso directo "linux-source-2.6.35.tar.bz2", y a fin de descomprimirlo hacemos clic con botón derecho del ratón sobre él, y elegimos "Extraer aqui".

Una vez descomprimido, se creará una carpeta llamada "linux-source-2.6.35 (2)". Para evitar confusiones, la renombramos como "linux-2.6.35". Podremos hacerlo fácilmente seleccionándola, y presionando F2, para luego escribir el nuevo nombre.


En este momento seleccionamos y hacemos clic con botón derecho sobre la recientemente renombrada carpeta linux-2.6.35 y vamos a Propiedades y en la solapa Permisos les asignamos Propiedades de Lectura y Escritura. Debemos presionar también el botón "aplicar permiso a los archivos contenidos".


Ahora descargaremos y emparcharemos el código fuente del kernel. Para ello utilizarmos este parche creado por el comunista Pavel Osnova.

Podrán apreciar que el archivo del parche se llama "compro2-6-35.bz2", y normalmente irá a parar a nuestra carpeta Descargas. Desde una consola Terminal lo copiaremos a la carpeta /usr/src, por medio del siguiente comando de organización:

sudo cp ~/Descargas/compro2-6-35.bz2 /usr/src/


Ahora en la ventana del administrador Nautilus que teníamos abierta, ya deberíamos ver el archivo del parche compro2-6-35.bz2. Le debemos asignar también permisos de lectura y escritura. Por ello hacemos clic con botón derecho sobre el archivo compro2-6-35.bz2 y elegimos Propiedades. En la solapa Permisos, asignamos accesos de Lectura y Escritura. Luego presionamos el botón Cerrar.

Ya podremos cerrar el administrador de archivos Nautilus y trabajar desde la consola Terminal.

Ingresamos en ella los siguientes Comandos de Organización:

sudo s

cd /usr/src

ln -sf linux-2.6.35 linux

cd /usr/src/linux

bzip2 -dc /usr/src/compro2-6-35.bz2 | patch -pl --dry-run

Este último comando realizará una "evaluación" sin realmente hacer nada.
Debería devolver una mensaje similar a este:

patching file Documentation/video4linux/CARDLIST.saa7134
patching file drivers/media/IR/keymaps/Makefile
patching file drivers/media/IR/keymaps/rc-videomate-m1f.c
patching file drivers/media/video/saa7134/saa7134-cards.c
patching file drivers/media/video/saa7134/saa7134-input.c
patching file drivers/media/video/saa7134/saa7134.h
patching file include/media/rc-map.h


Si todo va bien y no devuelve errores,  lo parcheamos, ahora si de manera efectiva:

bzip2 -dc /usr/src/parche-m1f.bz2 | patch -pl

Debería devolver un mensaje similar al anterior, lo cual significará que el código fuente del Kernel ha sido emparchado con exito.

Ahora prepararemos el código fuente ya emparchado para su compilación final:

make clean && make mrproper

cp /boot/config-'uname -r' ./.config

make menuconfig

Se abrirá la rutina de configuración del kernel en la terminal:
Debemos asegurarnos que dentro de la opción "Load an Alternate Configuration File" aparezca la línea ".config". Si es así, presionamos "Ok", y luego "Exit".
Cuando nos pregunta si deseamos guardar los cambios, indicamos "Yes".

Acto seguido, limpiamos todo para el procedimiento de compilación con...

make-kpkg clean

...e iniciamos la compilación propiamente dicha:

fakeroot make-kpkg --initrd --append-to-version=-comprom1f kernel_image kernel_headers

El proceso de compilación durará algunos minutos, a lo largo de los cuales podrán entonar varias veces la Marcha Peronista. Una vez finalizado, deberían encontrar en la carpeta /usr/src dos paquetes DEB:

El encabezado del kernel:
linux-headers-2.6.35.xxxxxxx-10.00.comprom1f_x86_64.deb


Y el kernel en sí:
linux-image-2.6.35.xxxxxxx-10.00.comprom1f_x86_64.deb 

Instalamos ambos paquetes en ese orden (primero el "linux-headers... y luego el linux-image..."), haciendo doble clic sobre ellos para abrirlos con el Centro de Software de Ubuntu. Luego presionamos el botón "Instalar".

Finalmente, reiniciamos Ubuntu y en el menú de arranque de Grub, escogemos el Kernel "linux-image-2.6.35.xxxxxxx-10.00.comprom1f".

Tras hacer estos pasos, podremos proceder a instalar TV Time en nuestro Ubuntu Maverick, como se indica.



Instalar TV Time en Ubuntu Maverick

La versión provista en el repositorio de Ubuntu Maverick 10.10 no funciona correctamente, por ello utilizaremos una versión anterior, específicamente la tvtime_1.0.1-2.

En el caso de que tuviésemos instalado TV Time, lo desinstalamos purgándolo, con el siguiente Comando de Organización:

sudo apt-get purge tvtime

Luego descargamos el paquete de la versión 1.0.1 de TV Time.

cd ~/Escritorio

En el caso de tener Ubuntu de 64 bits descargaremos e instalamos el paquete con estos comandos:

wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/tvtime/tvtime_1.0.1-2ubuntu2_amd64.deb

sudo dpkg -i tvtime_1.0.1-2ubuntu2_amd64.deb

En cambio, si tenemos Ubuntu de 32 bits, haremos uso estos otros dos comandos:

wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/tvtime/tvtime_1.0.1-2ubuntu2_i386.deb

sudo dpkg -i tvtime_1.0.1-2ubuntu2_i386.deb

No bien comience el proceso de instalación de TV Time en Ubuntu, se nos solicitarán algunas interrogantes para su correcto funcionamiento. En primer lugar, nos preguntará qué estándar de televisión tenemos. En Argentina, indicaremos "PAL-Nc". Cuando nos solicite el sistema, le indicamos "Cable".

No bien se termine de instalar TV Time, hemos de configurar la salida de video para que funcione correctamente. Normalmente, la sintonizadora de TV misma será /dev/video0 y no debería haber problemas. Pero si tienen conectada alguna webcam o una segunda sintonizadora, puede suceder que la misma pase a ser /dev/video0, y la sintonizadora M1F ocupe el lugar /dev/video1.

Este es mi caso, de modo que debo asignar la segunda opción en el archivo de configuración de TV Time. Para ello edito el archivo de configuración con:

sudo gedit /etc/tvtime/tvtime.xml

Se abrirá el editor peronista Gedit, y debemos buscar la línea siguiente:

option name="V4LDevice" value="/dev/video0"

y la edito para que quede:

option name="V4LDevice" value="/dev/video1"

Finalmente, guardo el archivo y cierro el Gedit.

Para lograr escuchar el audio de nuestra sintonizadora, conviene utilizar un cable loop de 3,5mm miniplug (suministrado con la caja) y conectar de la salida de audio trasera de la Compro M1F a la entrada Line In (azul) de nuestra placa de sonido integrada.

Luego hemos de subir el volúmen de la salida de audio de la Sintonizadora M1F (SAA7134). Para ello en la terminal ingresamos:

alsamixer

Y mediante la tecla F6 elegimos el dispositivo de audio "SAA7134". Luego subimos todas las salidas de audio con flecha arriba:

Luego debemos configurar la salida de sonido, de lo contrario nos indicará un error de tipo "mixer: Can't open device /dev/mixer, mixer volume and mute unavailable". Esto significa que el sistema no puede encontrar el dispositivo de audio correcto, y mostrará imagen pero no oiremos sonido alguno. Para corregir esto en la Compro M1F se requiere un poco de intervención Justicialista, pero gracias a vuestro Conductor, os será explicado de medida sencilla.

En primer lugar, debemos conocer cual es la dirección del bus PCI de nuestra plaqueta Compro M1F. Para ello abrimos la terminal con Ctrl+Alt+T e ingresamos el comando:

lspci | grep SAA

Esto nos devolverá los datos de nuestra sintonizadora:

07:01.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)

Por lo tanto, 07:01.0 es la dirección del bus electrónico PCI que se le ha asignado a nuestra tarjeta sintonizadora. Naturalmente, esto podría variar en cada caso y habrán de asegurarse y tomar nota de la dirección propia.

Luego ingresamos el siguiente comando:

LANG=C pactl list | grep -A2 alsa

Esto listará todos los identificadores de fuentes de audio detectadas por el servidor de sonido Pulseaudio, e indicará los nombres de la fuente bajo el apartado "Name". Por ejemplo en mi sistema particular existen varias fuentes de audio, tanto entradas (input) como salidas (output), y tanto de tipo analógico como digital. Entre todos los datos devueltos, en el apartado Name encuentro:

alsa_output.pci-0000_00_1b.0.analog-stereo
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
alsa_input.pci-0000_00_1b.0.analog-stereo
alsa_input.pci-0000_07_01.0.analog-stereo


Naturalmente, de todas estas entradas, ahora puedo distinguir la correcta para el programa TV Time, pues es aquella que tiene la dirección provista anteriormente, en este caso 07:01.0. Sería "alsa_input.pci-0000_07_01.0.analog-stereo"

Con este importante dato presente, debemos editar el archivo de configuración  /etc/pulse/default.pa. Lo haremos con el siguiente Comando de Organización:

sudo gedit /etc/pulse/default.pa

Nos abrirá un archivo de texto. Al final del mismo, copiamos la siguiente línea:

#Agregado por Perón
load-module module-loopback source=alsa_input.pci-0000_07_01.0.analog-stereo


Guardamos y cerramos el archivo, y reiniciamos el equipo con:

sudo reboot

Para ejecutar el programa, simplemente vamos a Aplicaciones / Sonido y Video / TV Time Television Viewer.

Para sintonizar los canales presionamos Tab y vamos a Gestion de Canales / Escanear Canales en Busca de Señal. Esto provocará el escaneo de la señal de cable o antena a lo largo de todo el espectro, a fin de dar con los canales a los que estemos abonados.
Podremos comprobar la calidad de imagen y el sonido que nos provee TV Time, y nuestro kernel tuneado para este menester. También podremos en directo ver como a Boca lo cuida la Policía.
Naturalemente, el sistema analógico de TV a partir de la Compro M1F puede convivir con un sintonizador de TV digital como el MyGica S870, y permitirnos tener lo mejor de ambos mundos, con una enorme calidad televisiva que nos representa el Fútbol para Todos y la última iteración de "Los Bañeros más locos del Mundo".

10 comentarios:

  1. Capo, tengo un Mint 14 Nadia
    Kernel : Linux 3.5.0-17-generic (x86_64)
    Puedo seguir los pasos sin descargar e instalar el Kernel 2.6.38?

    ResponderEliminar
    Respuestas
    1. Estimado Anónimo:

      Podría hacerlo, pero en las versiones superioress al 2.6.38 ya viene incorporado el módulo al kernel, de modo que no es necesario. El kernel 3.5.0-17, por tanto, ya debería hacer funcionar la Compro M1F sin demasiado problema. Si no le funciona, pruebe utilizar la versión de TV time indicada en el artículo.
      Atte.

      Juan Perón

      Eliminar
    2. No hubo caso. Instalé la versión que pusiste acá pero cuando escaneo canales me dice "No frequency"
      En # sudo gedit /etc/modprobe.d/saa7134.conf puse las lineas que destallaste en el artículo y lo mismo. Es la única traba que tengo para no migrar por completo a linux.
      Gracias de todas maneras, por el tiempo que dedicaste y la pronta respuesta

      Eliminar
    3. No hubo caso. Instalé la versión del TvTime que aparece acá pero cuando escaneo en busca de canales me dice "No frequency". En # sudo gedit /etc/modprobe.d/saa7134.conf copié las lineas que pusiste en el post pero tengo el mismo error. Es la única traba que tengo para migrarme completamente a Linux. Gracias de todas maneras, por el tiempo dedicado y la pronta respuesta

      Eliminar
    4. Puedes probar instalar TV Time de los paquetes de Linux MINT a ver si lo toma mejor. Esta es una versión antigua, necesaria en el caso de Ubuntu 10.10 de 64 bits.

      Eliminar
  2. señor: segui sus pasos, pude ver video pero sin sonido

    ResponderEliminar
    Respuestas
    1. Estimado Anónimo:

      La Compro M1F tiene sonido analógico. Si tiene inconvenientes para oirlo, asegúrese de conectar un cable miniplug de 3,5mm estéreo desde la salida verde de la Compro M1F a la entrada Line IN o Mic In de su placa de sonido o placa madre.

      También active los volúmenes correspondientes. Para ello puede utilizar el programa Alsamixer: http://ubuntuperonista.blogspot.com.ar/2012/10/alsamixer-en-ubuntu-ajustar-volumen-desde-consola.html

      Atte.

      Juan Perón

      Eliminar
  3. gracias compañero. me anda perfecto (con linux mint 12 lisa). sequi todos su consejos compañero.
    "Para un peronista no puede haber nada mejor que otro peronista"

    ResponderEliminar
    Respuestas
    1. Estimado Ezequiel Fenoglio:

      Gracias al Justicialismo podrá presenciar la TV como Perón lo ha querido.

      "Para un peronista no puede haber nada mejor que una peronista".

      Atte.

      Juan Perón

      Eliminar