8. Viendo los canales codificados en MythTV

Como decía en el punto anterior, la decodificación de los canales de Digital+ bajo MythTV no es moco de pavo, y para ello será necesario compilar y configurar un componente muy especial.

Se trata del desarrollo sasc-ng, que permite hacer por software lo que los descos normales hacen por hardware. En esencia, esto es lo mismo que hace Kaffeine con el paquete kaffeine-sc-plugin_0.2.3-ubuntu1_i38.deb del que ya hablé en el post que hice sobre Digital+ y Ubuntu mediante Kaffeine.

Hay material sobre el tema, pero yo en realidad no estoy más que ‘traduciendo’ el ejemplo que aparece en la documentación del proyecto, ya que hay un apartado dedicado a Ubuntu y MythTV. En realidad ya tenemos parte del trecho recorrido, así que la parte sobre mythtv y la modificación de los parches nos la podemos ahorrar… afortunadamente. 🙂

La guía además da unas cuantas indicaciones para otras tarjetas, pero la parte para Twinhan (la Pinnacle PCTV Sat CI con la que hago las pruebas es en realidad una Twinhan) indica lo que ya había comentado al principio de la guía con Kaffeine: la carga de los módulos adecuados en el fichero /etc/modules.

De modo que pasamos directamente al tema de sasc-ng. En primer lugar tendremos que descargar la última versión mediante el comando svn, que no hace más que acceder a un repositorio y bajar los fuentes más actualizados en cada momento. Así pues, en una ventana de terminal escribimos:

sudo svn co http://opensvn.csie.org/sascng sasc-ng
cd sasc-ng

Con eso ya estaremos en el directorio desde el cual compilar e instalar los componentes necesarios. Pero antes será necesario editar el fichero Makefile, o de lo contrario no podremos completar la compilación del paquete. Por supuesto, cuento con que tenéis instalados los componentes necesarios para compilar (el paquete build-essentials de los repositorios solventa este apartado). Así pues editamos el fichero:

gedit Makefile

y añadimos la línea

INCLUDES += -I/usr/src/linux/include

Al principio del fichero, por ejemplo debajo de alguno de los ortos dos includes.

Con esto ya podemos proceder a instalar:

sudo make
sudo make module
sudo insmod dvbloopback.ko

Con esa última instrucción lo que hacemos es cargar en memoria el módulo encargado de la decodificación. Por cierto, deberéis lanzar ese comando cada vez que reiniciéis Linux para este propósito. Seguro que hay un método mejor (¿quizás meterlo en /etc/modules?, pero siendo un módulo .ko, no estoy seguro de ello). No me meteré en temas técnicos, pero ya por el nombre se puede apreciar que lo que hace es crear un loopback, un ‘canal de retorno’ que enlaza nuestra capturadora real (llamémosla «1») con una virtual («0») que es la que en realidad decodifica la señal.

Ahora tendremos que generar una serie de ficheros en el directorio sc_files, así que

cd sc_files
sudo touch ca.cache
sudo wget http://www.geocities.com/vlivecd/vdr-live/SoftCam.Key
sudo wget http://www.geocities.com/vlivecd/vdr-live/au-bins2.tar.zip
sudo unzip au-bins2.tar.zip
sudo tar jxvf au-bins2.tar.bz2
sudo mv au-bins2 nagra

Todos los ficheros estarán correctos salvo, claro está, el SoftCam.Key, que contiene las claves actualizadas de D+. Si decidís romper la barrera y conseguir las claves, tendréis que editar ese archivo para incluir las dos claves convencionales (00 y 01), además de incluir otras tres más: la ’02’, y la ‘M1’ repetida, que son fijas y se pueden buscar también en los rincones oscuros de Internet. No me pidáis que os las facilite, porque eso es ilegal, y este es un artículo educativo. En cualquier caso, en el fichero SoftCam.Key habrá un apartado del tipo

;D+
N 4101 00 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N 4101 01 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N 4101 02 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N 4101 M1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX…XX
N 4101 M1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX…XX

Atención al orden de los campos: primero la N, luego el ID del proveedor (4101), luego el código de clave (00,01,02,M1,M1 de nuevo) y por último las claves, que varían en longitud según el tipo de clave. Esto es vital para que sasc-ng interprete bien las claves: lo digo por si queréis ‘traducir’ el SoftCam.Key de kaffeine. Se puede hacer, pero teniendo muy encuenta el orden de esos campos, que es ligeramente distinto en sasc-ng. De nuevo, esa es información suficiente: no facilitaré más datos sobre esto, así que por favor, no me pidáis más.

Ahora iniciamos el componente que decodifica, con lo cual tendremos tres componentes activos que habrá que ejecutar en orden. De hecho, si mythbackend estaba ejecutándose es mejor matar ese proceso y seguir este orden:

1º Decodificador (módulo sasc-ng)
2º Servidor (mythbackend)
3º Cliente (mythfrontend)

Por lo tanto,

cd ..
sudo ./sasc-ng -j 0:1

Para seguir adelante, no obstante, será necesario reconfigurar el apartado de capturadoras que ya habíamos configurado con el comando ya de todos conocido, así que de nuevo habrá que hacer

mythtv-setup

Y en el apartado ‘2. Capturadoras’ tendremos que seleccionar lo que antes era [DVB: 0] para editar sus propiedades: únicamente habrá que cambiar el campo ‘Número de tarjeta DVB:’, que estará a 0 y hay que cambiar a 1. Esto es muy importante para que el ‘loopback’ que crea ese módulo insertado funcione correctamente.

Con eso ya está todo preparado, de modo que volvemos a lanzar el servidor y el cliente en dos consolas distintas:

sudo mythbackend
mythfrontend

Ahora ya sólo queda elegir un canal codificado en MythTV y… voilà! Si todo ha ido bien podréis contemplar D+, en cualquier canal, sin problemas.

Finitto 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

62 comentarios en “8. Viendo los canales codificados en MythTV

  1. Pingback: Digital+ en Linux… bajo MythTV

  2. Pingback: MythTV en Ubuntu Feisty Fawn, al completo

  3. Buenas JaviPas:
    Enseguida pasaré por el link y veré que puedo conseguir, el vdr lo he instalado de varias formas, empaquetado y desde el código fuente, la segunda opción es la mejor, bueno gracias, postearé de nuevo comentando como vá, saludos ¡¡

  4. bobione dice:

    para el vdr las keys van con el formato normal,el de toda la vida, y se tiene que poner dentro de una carpate llamada «plugins», donde tengas los archivo d de configuracion de vdr,como en el progdvb.normalmente estan en /video o /etc/vdr

  5. bobione lo tengo así de esa manera gracias por la idea, ya consigo decodificar canales pero solo de tv cabo los del d+ aun no y con el las keys adecuadas, no se donde puede erradicar el problema, pienso que en la configuracion del lnb el sc o algo así, si os suerge alguna idea… gracias , saludos

    Pd: no existe punto de comparación entre vdr y otros soft ni de lejos…

  6. bobione dice:

    si te llega señal al canal no puede ser la lnb, tienen que ser las keys, ten presente que las canbian tres veces al dia , y las que creias buenas pueden haber caducado , lo de la lnb seria posible pero no tendrias señal del canal , y entonces al escanear los canales no lo habria recibido el vdr, en cuanto a al vdr , tienes razon es una puta maravilla, yo llevava años con el progdvb, y al provar este me he quedado loco , sobre todo con lo estable que es.

  7. josete dice:

    bobione gracias por las ideas, el mismo dia que escribi el comentario anterior solucione el problema, erradicaba en la configuracion de los canales al realizar un scan los pillaba sin mayor problema pero la frecuencia no era la correcta, probe añardirlos a mano con las frecuencias correctas y problema zanjado.
    Tengo tambien una llabe usb TDT y la controla perfectamente junto a la SAT , asi hasta cuatro tarjetas puede controlar esta maravilla tambien he configurado el mando a distancia.
    Saludos a todos ¡¡
    Pd:bobione si quieres compartir comentarios, experiencias, ideas…,etc
    aqui tienes mi mail josehyundai@hotmail.com

  8. JaviPas dice:

    josete, muchas gracias: ahora no puedo probarlo – estoy atravesando por una sequía satelitar desde que me he comprado la casa – pero espero resolverlo pronto y me pondré manos a la obra.

    Me quedo con la copla, pero veo que tú lo has hecho para tu máquina con AMD64, algo que no muchos usamos. Yo tengo un Athlon64, pero debo confesar que sigo usando la versión de 32 bits….

    Saludos y gracias por el comentario!

  9. ss3:/home/jose#nano .lircrc
    ## KAFFEINE ##
    begin
    prog = irexec
    button = play
    config = dcop kaffeine KaffeineIface playDvb
    end

    begin
    prog = irexec
    button = pause
    config = dcop kaffeine KaffeineIface pause
    end

    begin
    prog = irexec
    button = ok
    config = dcop kaffeine KaffeineIface dvbOSD
    end

    begin
    prog = irexec
    button = stop
    config = dcop kaffeine KaffeineIface stop
    end

    begin
    prog = irexec
    button = forward
    config = dcop kaffeine KaffeineIface posPlus
    end

    begin
    prog = irexec
    button = rewind
    config = dcop kaffeine KaffeineIface posMinus
    end

    begin
    prog = irexec
    button = chan-up
    config = dcop kaffeine KaffeineIface next
    end

    begin
    prog = irexec
    button = chan-down
    config = dcop kaffeine KaffeineIface previous
    end

    begin
    prog = irexec
    button = power
    config = dcop kaffeine KaffeineIface quit
    end

    begin
    prog = irexec
    button = vol-up
    config = dcop kaffeine KaffeineIface volUp
    end

    begin
    prog = irexec
    button = mute
    config = dcop kaffeine KaffeineIface mute
    end

    begin
    prog = irexec
    button = vol-down
    config = dcop kaffeine KaffeineIface volDown
    end

    begin
    prog = irexec
    button = max_window
    config = dcop kaffeine KaffeineIface fullscreen
    end

    begin
    prog = irexec
    button = up
    config = dcop kaffeine KaffeineIface zoomIn
    end

    begin
    prog = irexec
    button = down
    config = dcop kaffeine KaffeineIface zoomOut
    end

    begin
    prog = irexec
    button = 1
    config = dcop kaffeine KaffeineIface setNumber 1
    repeat = 0
    end

    begin
    prog = irexec
    button = 2
    config = dcop kaffeine KaffeineIface setNumber 2
    repeat = 0
    end

    begin
    prog = irexec
    button = 3
    config = dcop kaffeine KaffeineIface setNumber 3
    repeat = 0
    end

    begin
    prog = irexec
    button = 4
    config = dcop kaffeine KaffeineIface setNumber 4
    repeat = 0
    end

    begin
    prog = irexec
    button = 5
    config = dcop kaffeine KaffeineIface setNumber 5
    repeat = 0
    end

    begin
    prog = irexec
    button = 6
    config = dcop kaffeine KaffeineIface setNumber 6
    repeat = 0
    end

    begin
    prog = irexec
    button = 7
    config = dcop kaffeine KaffeineIface setNumber 7
    repeat = 0
    end

    begin
    prog = irexec
    button = 8
    config = dcop kaffeine KaffeineIface setNumber 8
    repeat = 0
    end

    begin
    prog = irexec
    button = 9
    config = dcop kaffeine KaffeineIface setNumber 9
    repeat = 0
    end

    begin
    prog = irexec
    button = 0
    config = dcop kaffeine KaffeineIface setNumber 0
    repeat = 0
    end

  10. Guardamos la configuración y ejecutamos irexec :

    jose@ss3:~$ irexec

    A continuación ejecutamos kaffeine o lo arrancamos con el mismo mando y comprobamos su funcionameinto, si todo está ok podremos disfrutar de la tv desde linux en cualquier parte de la habitación xD.
    Existen más ficheros de configuración para diversas aplicaciones ya comentadas antes con el tiempo las añadiré en el HOWTO y diré en que links se encuentran,
    hasta ese momento disfruten señores.

    La configuración para VDR difiere bastante y no es necesario usar irexec, pero me gustaría fabricar un HOWTO solo para VDR y sus infinitas posibilidades.

    Saludos ¡

    Pd: javipas si quieres puedes editar el texto como mejor veas, me gustaría aportar la idea de una sección en la web para que los colaboradores suban estás cosas, si os surge alguna duda suelo estar en #linux_novatos canal de irc, servidor irc.irc-hispano.org , preguntad por ss3 xD

  11. JaviPas dice:

    josete, qué currada, majo, en cuanto pueda probarlo (a partir de finales de junio) le echo un buen vistazo para publicar la entrada bien puestita. Pero vamos, tiene muy buena pinta, enhorabuena!!

  12. letex dice:

    Hola, javi, cuando seguiste todo indicado en la página, ¿recompilaste el kernel? ¿instalaste las librerias que decía al principio (qt2-make, etc…) Es que me da error de compilado, pero me parecen demasiadas dependencias para el source…
    Si a nadie le dió error……entonces no lo entiendo, ya que yo no he recompilado el kernel por defecto ni quitado modulos.
    ¿A alguien se le ocurre algo?
    Gracias

  13. JaviPas dice:

    letex: no hay que recompilar el kernel, puede ser un problema de las dichosas versiones de las librerías. Yo lo hice sobre una Feisty Fawn, puede que en otras distros haya algún tipo de problema al respecto, pero no te puedo decir mucho más…

    lucius: Sin duda, aunque yo igual metería algo más de RAM. Aún así, debería funcionar sin problemas.

  14. Buenas! A mi me daba un error al compilar relacionado con openssl. Tengo Ubuntu. Me he bajado con apt-get los headers que corresponden a mi version de kernel (con uname -r se ve cual tienes instalado). Luego instale libssl-dev y Voila! funciona 🙂 la compilacion, por lo menos. Ahora arranco todo, y al intentar ver algun canal me da el siguiente error: «Error mientras se mostraba el video». Alguna idea? Graciasss!

  15. Miguel dice:

    Hola a todos. A alguien le ha dejado de funcionar el sasc-ng, ahora de repente en el log me pone:

    system: no key found for N 4101 01

    El SoftCam.Key esta actualizado y al arrancar el sasc-ng parece que lee las claves:

    INFO: loading keys from ./sc_files/SoftCam.Key
    plainkeys: loaded 6 keys from ./sc_files/SoftCam.Key

  16. pernambuco dice:

    Hola a todos. Siguiendo los howtos de Javipas y de josete-ss3 he hechado a andar mi skystar 2 en kubuntu, haciendo unas ligeras modificaciones. El mando me va de lujo, pero lo de las flowers no lo acabo de pillar, sera todo cuestion de indagar.
    josete-ss3 , muy bueno tu howto, he probado unos pocos y el unico que me ha rulao es el tuyo.
    Solo una puntualizacion, en tu script para lanzar lircd, deberia ir «setserial /dev/ttyS0 uart none»
    antes de «modprobe lirc_serial»,por lo menos a mi me funciona asi. Tampoco me gusta el tener que lanzar el script cada vez, asi que he creado
    un script llamado lirc y lo he puesto en /etc/init.d:

    pepe@kubuntu:~$ cat /etc/init.d/lirc
    case «$1» in
    ‘start’)

    setserial /dev/ttyS0 uart none && modprobe lirc_serial && /usr/local/sbin/lircd -n -H default –device=/dev/lirc0 &
    RETVAL=$?
    ;;
    ‘stop’)
    killall lircd
    RETVAL=$?
    ;;
    esac
    exit $RETVAL

    Despues he hecho un ln -s /etc/init.d/lirc /etc/rc2.d/S50lirc y con esto arranca solo :).
    Ahora estoy configurando el kdelirc ¿sabeis como hacer para que kdelirc ejecute «killall kaffeine»?. Gracias

  17. Hola pernambuco , el script se puede modificar de mil maneras dependiendo de los controladores y las versiones todo es al gusto, usé kdelirc solo por probarlo seguramente se le puede añadir killall kaffeine más tarde lo miro y te comento, con los que si lo hice fue con
    irexec o irxevent con power lo cierras y lanzas por ejemplo, te puedes fabricar otros script para lanzarlos solos al inicio.
    Ya con mi VDR consigo que busque las flores el solito, una vez cada hora las actualiza sin tener que preocuparse de nada tambien puedo ejecutar la orden con el mando, a parte de otras como ver las redes wifi cercanas, conectarlo o desconectarlo de la red, hacer un ping, ver el estado completo de la maquína,…etc, javipas estaría de lujo poder subir las capturas en tu web.

    Saludos

  18. ppkoke completastes todos los pasos del howto , tienes los controladores lirc_dev y lirc_serial instalados correctamente, lanzastes estos pasos despues:

    #!/bin/bash
    #
    #
    #

    setserial /dev/ttyS0 uart none
    modprobe lirc_serial
    /usr/sbin/lircd -n -H default -d /dev/lirc0

    ???
    Si te da algun error postéalo, mira también que los archivos de configuración esten en su sitio, tu receptor tiene que tirar por puerto de serie, de no ser así, dí por donde tira y vemos que driver le metemos, si es por puerto de serie y sigues los pasos tiene que furular.

    Saludos

  19. ppkoke dice:

    Cuando ejecuto sh setserial
    me dice setserial
    root@jservil-Linux:/home/jservil# sh setserial.sh
    setserial.sh: 7: setserial: not found
    lircd-0.8.2-CVS[4959]: lircd(userspace) ready

    Y si ejecuto IRW en otra consola me dice
    setserial.sh: 7: setserial: not found
    lircd-0.8.2-CVS[5292]: lircd(userspace) ready
    lircd-0.8.2-CVS[5292]: accepted new client on /dev/lircd
    lircd-0.8.2-CVS[5292]: could not get file information for /dev/lirc0
    lircd-0.8.2-CVS[5292]: default_init(): No such file or directory
    lircd-0.8.2-CVS[5292]: caught signal
    Terminated

  20. ppkoke dice:

    josete-ss3 : estos son los mdulos cargados.
    jservil@jservil-Linux:/lib/modules/2.6.20-16-generic/misc$ ls -l
    total 468
    -rw-r–r– 1 root root 147041 2007-08-26 23:14 lirc_dev.ko
    -rw-r–r– 1 root root 174712 2007-08-26 23:14 lirc_serial.ko
    -rw-r–r– 1 root root 141245 2007-08-26 20:18 lirc_sir.ko

  21. JaviPas dice:

    Gracias por el soporte en el mando Josete, dentro de nada tendré que ponerme yo a ello, estoy preparando una nueva guía para todo este tema que va a quedar chula 🙂

    Lo de actualizar el SoftCam yo lo hago por otros medios, así que si va a ser un post largo si quieres mándamelo por mail (javipas arroba gmail punto com) y lo publico como una sección más en la guía y a tu nombre, claro.

    Saludetes,

    javi

  22. JaviPas desde que tenga algo de tiempo me pongo y te lo mando, a ver si mañana saco unos minutos y puedo.
    Hay algunas diferencias importantes de hacerlo con VDR que con kaffeine por ejemplo, cada uno tendrá que modificar algunas cosas.

    Saludos

  23. alex dice:

    Gracias JaviPas, por la respuesta y por el tutorial, que está genial y me ha dado ideas.
    Por cierto, ¿sigue funcionando lo de los canales codificados? Lo digo porque oí que estaba mal la cosa y, claro, lo que quiero es hacer investigación, ya sabes 🙂

  24. JaviPas dice:

    Alex, las flores tiran seguro, porque en Kaffeine ya las tengo estupendas 🙂 Mi problema ahora es lograrlas en MythTV, algo estoy haciendo mal y no recuerdo qué es. Y como no lo puse completo y al detalle en la guía, estoy xodit 🙁

    Pero sí, investigar puedes investigar 😉

  25. ErKabi dice:

    Es un poco chorra pero a vosotros os sale la información del programa en curso? Es decir, la hora de inicio, la hora final, el nombre del programa o peli? O solo saca la información que tenga de la guía de programas en la base de datos?

    En windows el mytheatre lo sacaba pero con los otros programas de windows nada…. en Linux, pues tampoco veo nada de informacion.

  26. ppkoke dime que soft usas, que plugins, donde colocas el SoftCam.key, y la distro con la que controlas esa artilleria, así te digo a medida.
    ErKabi yo todos los que he usado lo hacen o casi todos.
    ppkoke, lo último,¿es una pregunta o una afirmación?
    JaviPas,¿ dónde andas buen hombre?
    Saludos

  27. JaviPas dice:

    ppkoke: debería poderse, si tienes la capturadora adecuada, pero no sé de ninguna que coja televisión por cable…

    ss3: qué tal 🙂 sé que no me he conectado hace un montón a IRC, pero estoy muy liadete con otros temas, hay cambios a la vista. Ya contaré más 😀 Y además, tendré tiempo para meterme a saco con MythTV, qué ganas!

    Saludos a ti también, te prometo que pronto chateamos!