Archivo de la etiqueta: pinnacle

He actualizado mi kernel, y ahora mi Pinnacle PCTV solo mete ruido

Tienes un kernel 2.6.12, y un buen día decides actualizarlo a uno más nuevo, por ejemplo un 2.6.18, como me ocurrió a mí. Y entonces descubres que tu tarjeta capturadora de televisión, una Pinnacle PCTV que usa el módulo bttv, ha perdido el sonido, y solo se oye un horroroso ruido de estática.

Acabas de encontrar un bug en los kernels superiores a 2.6.12, que hace que el audio se vaya al carajo cuando se cargan los modulos automáticamente en el arranque o usando «modprobe bttv» y dejando que las dependencias lo resuelvan todo. Si te ocurre esto, prueba a cargar primero el módulo tuner y despues el módulo bttv.

 
[lacofi@jeanette ~]$ su
password:
[root@jeanette /home/lacofi]# rmmod bttv tuner
[root@jeanette /home/lacofi]# modprobe tuner
[root@jeanette /home/lacofi]# modprobe bttv

Si esto te funciona correctamente, puedes meter los comandos en algún fichero de autoarranque, para que siempre se carguen los módulos en el orden adecuado ya desde el boot. En el caso de Gentoo, puedes editar el fichero /etc/conf.d/local.start y poner los comandos:

 
# Fichero /etc/conf.d/local.start
rmmod bttv tuner
modprobe tuner
modprobe bttv

En mi caso, esto solucionó el problema.

Tarjeta capturadora de televisión Pinnacle PCTV

Desde el día 27/1/2004, la tarjeta Pinnacle PCTV de color rojo con el chip sintonizador MT2050, ya funciona bajo Linux en mi ordenador. Primero el camino largo (suponiendo que seas un insensato que todavía usa un kernel de la serie 2.4). Para ponerla en marcha con esa antigualla de kernel, yo necesité todo lo siguiente (te lo pongo detallado para que veas la tortura que pasamos los primeros en usarla):

  1. Compilar y poner en marcha el kernel, claro. En mi caso, lo hice con el 2.4.24, pero podría ser cualquier otro. Lo único importante es que la tarjeta solo funcionará con un kernel compilado por tí. Al configurarlo, es muy importante que actives, como módulos (no dentro del kernel) al menos las siguientes opciones (quizás más, dependerá de tu hardware, así que echa un vistazo a las ayudas):
      I2C support -->
        I2C bit-banging interfaces
        I2C device interface
        I2C /proc inteface
      Multimedia devices -->
        Video For Linux
          V4L information in proc filesystem (esto dentro del kernel)
          BT848 Video For Linux
      Sound -->
        BT878 audio dma
        TV card (BT878) mixer support
  2. Bájate el último snapshot de Video4Linux que puedes encontrar en bytesex. Se trata del fichero «video4linux-unafecha.tar.gz». ¿Qué es un snapshot?, te puedes preguntar. Bueno, pues es una especie de borrador, que funciona, pero que el programador NO recomienda, aunque sí pone a disposición de los más osados. Es mucho menos que una Beta, pero mucho más que nada. Si te da problemas, intenta el mismo snapshot que utilicé yo, el del 26 de Enero de 2004. :-)
  3. Este snapshot, lo que hace es compilar módulos de kernel. No necesita configurarse (por ejemplo con una orden «./configure», como ocurre habitualmente). El motivo es que la configuración la toma directamente de /usr/src/linux, de la que se hizo al compilar el kernel. Por eso es tan importante que sea con un kernel compilado o al menos configurado con «make menuconfig»: si no, saltarían todos los «unresolved symbols» y al carajo. Bueno, pues a compilar el snapshot.
    [lacofi@claudia:~]$ su
    password
    [root@claudia:/home/lacofi]# cd /usr/src
    [root@claudia:/usr/src]# tar -xzvf ~/video4linux-20040126.tar.gz
    [root@claudia:/usr/src]# cd video4linux
    [root@claudia:/usr/src/video4linux]# make
  4. Esto empieza a compilar los módulos. Observad que he hecho «make» y no «make install». Efectivamente, solo vamos a necesitar tres ficheros (puede que solo dos de ellos, si me apuras). Así que es preferible no toquetear demasiado los módulos de nuestro magnífico kernel, para cambiarlos por los de un snapshot. De hecho, yo hice un «make install» y me arrepentí bastante (el resultado fue peor). Por eso, solo copiaremos esos tres archivos, los justos para que la cosa funcione. Así que nada, nada, cuando termine de compilar, tenemos que copiar los ficheros tuner.o tda9887.o y tvaudio.o al directorio donde nuestro kernel guarda los suyos.
    [root@claudia:/usr/src/video4linux]# mods=/lib/modules/2.4.24-kaldef
    [root@claudia:/usr/src/video4linux]# video=/kernel/drivers/media/video
    [root@claudia:/usr/src/video4linux]# cp tuner.o $mods$video && \
    > cp tda9887.o $mods$video && \
    > cp tvaudio.o $mods$video
    [root@claudia:/usr/src/video4linux]# modprobe bttv ;; scantv

¿Eh?. ¿Qué me dices?. :-D

Pues si no dices nada, yo te voy a decir otra cosa. Falta el camino rápido: Anda, sé sensato y no te sigas esforzando con los kernel 2.4. La tarjeta pinnacle PCTV está correctamente soportada en cualquier kernel 2.6 medianamente moderno. Así que corre y actualízate al último kernel 2.6 que puedas y ya está. Compílalo activando Video4Linux y BT848, y eso es todo.