[Mythtv-Pay-tv] Volevo condividere la mia felicità

Installazione, configurazione e utilizzo di applicativi multimediali, masterizzazione, acquisizione e codec audio/video, streaming, ecc.

[Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » sabato 7 maggio 2011, 20:40

Guida riassuntiva

Hardware usato:

3 schede di acquisizione: 2x Hauppauge WinTV-Nova TD-500 dual tuner (DVB-T) + Technotrend S2-3200 (DVB-S2)
2 lettori di smartcard: Omnikey 3121
2 REGOLARI abbonamenti: Mediaset Premium e Tivùsat

Software usato:
Sistema operativo: Ubuntu 12.10 (anche la derivata mythbuntu chiaramente va bene)
Pacchetto per i lettori di smartcard: pcsc
1° softcam: Sasc-ng ultima versione
2° softcam: Oscam ultima versione "trunk"
Chiaramente mythtv (versione 0.26 fixes) come software per vedere la tv!!!

Iniziamo?
Parto da una nuova installazione di Ubuntu 12.10, aggiorno tutto, imposto la rete, ecc....in pratica le solite operazioni che tutti noi facciamo!
Ai tempi, prima di comprare le 3 schede di acquisizione, ho guardato se erano funzionanti out-of-box per non tribulare nell'installazione di driver e altre amenità! Detto questo controllo se anche con la nuova versione di ubuntu vengono viste:
Codice: Seleziona tutto
ls /dev/dvb
adapter0  adapter1  adapter2  adapter3  adapter4

Bene, vengono viste. Con il comando
Codice: Seleziona tutto
dmesg | grep adapter
vedo che adapter0 è la scheda sat, mentre 1 & 2 la prima hauppauge e le rimanenti 3 &4 la seconda hauppauge.
Chiaramente ogniuno ha schede di acquisizione diverse. A voi il compito di farle funzionare!!

Inizio ad installare mythtv!
Premessa: preferisco avere l'ultima versione stabile di questo bellissimo software quindi procedo così:
Installo un comodissimo tool:
Codice: Seleziona tutto
sudo apt-get install mythbuntu-control-centre

Aprendolo vado nella sezione "Repositories" e metto il flag su mythtv updates selezionando la versione 0.26 e mythbuntu updates.
Per qualche motivo mette un repo testing non funzionante. Per rimuoverlo da terminale:
Codice: Seleziona tutto
sudo rm /etc/apt/sources.list.d/mythbuntu-testing-quantal.list

Aggiorno la lista e installo eventuali aggiornamenti con
Codice: Seleziona tutto
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

e pulisco il sistema dai vecchi pacchetti con
Codice: Seleziona tutto
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get clean

NOTA: Chi ha installato mythbuntu può fermarsi al "sudo apt-get clean" visto che mythtv è già installato, lo aggiornate solo...
Un riavvio non fà mai male!
Una volta riavviato apro mythbuntu-control-centre e inizio a installare mythtv: essendo sul server seleziono Backend Primario sotto la voce "System Roles" e sempre su questo menu seleziono Desktop Frontend per testare il funzionamento. Il resto è a vostro piacimento!!!!!
Ora che mythtv è installato riavvio...
Configuro myhthv temporaneamente per testare il funzionamento delle schede. Creo gli adapter DVB, le sorgenti video, le associazioni e faccio la scansione dei canali. Dopo apro il frontend e controllo che la tv si veda!

Se tutto funziona procedo con la parte più rognosa e lunga: SASC-NG

Per compilare sasc-ng su ubuntu 12.10 bisogna fare un po' di peripezie.
Abbiamo 2 alternative: o compiliamo un kernel nuovo (altamente consigliato) oppure compiliamo soltanto gli ultimi driver dvb/v4l (instabile).

KERNEL:

Installo le dipendenze per poter compilare il kernel
Codice: Seleziona tutto
sudo apt-get install build-essential bin86 fakeroot kernel-package libncurses5-dev

poi scarico i sorgenti del kernel
Codice: Seleziona tutto
sudo apt-get install linux-source

Premessa: io ho scelto il kernel di ubuntu, liberi di usare il kernel "vanilla" ufficiale
Da adesso preferisco fare le operazioni da root quindi
Codice: Seleziona tutto
sudo su

Entro nella cartella dove il pacchetto linux-source ha messo i sorgenti del kernel
Codice: Seleziona tutto
cd /usr/src

e li scompatto
Codice: Seleziona tutto
tar -xjf linux-[VERSIONE_SCARICATA].tar.bz2

Entro nella cartella dei sorgenti
Codice: Seleziona tutto
cd /usr/src/linux-[VERSIONE_SCARICATA]

scarico e applico la patch necessaria per il corretto funzionamento di sasc-ng
Codice: Seleziona tutto
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/linux-2.6.38-dvb-mutex.patch
patch -p1 < linux-2.6.38-dvb-mutex.patch

il risultato di questa operazione dev'essere
Codice: Seleziona tutto
patching file drivers/media/dvb/dvb-core/dvbdev.c

Ora posso configurare il kernel. Personalmente non ho problemi con la configurazione di default fatta all'installazione del sistema operativo, quindi richiamo la configurazione attuale. Voi siete liberi di riconfigurare da zero ma attenzione a quello che fate!!!!
Importo direttamente la configurazione del kernel attualmente in esecuzione
Codice: Seleziona tutto
make oldconfig
e ottengo
Codice: Seleziona tutto
HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
#
# using defaults found in /boot/config-3.0.0-12-generic
#
#
# configuration written to .config
#

Di default il kernel supporta un massimo di 8 adapter dvb. Quindi nel mio caso di 5 adapter fisici dovendo creare altri 5 adapter virtuali devo modificare il file generato .config
Codice: Seleziona tutto
sudo nano .config
e cerco la riga "CONFIG_DVB_MAX_ADAPTERS" e al posto di 8 metto il massimo valore ovvero 32. Se avete 4 adapter fisici o meno è inutile modificare quest'opzione.

Sono pronto quindi per compilare il kernel. ATTENZIONE: questa operazione ci mette MOOOOLTO tempo e varia a seconda della potenza del proprio processore!!
Visto che come processore ho un core i5 con 4 core abilito tutti e 4 i core per avere più compilazioni in parallelo
Codice: Seleziona tutto
export CONCURRENCY_LEVEL=4

Mettete il vostro numero di core chiaramente!!!
Compilo con questo comando
Codice: Seleziona tutto
make-kpkg --rootcmd fakeroot --initrd kernel_image kernel_headers modules_image

Pensavo peggio, con il mio core i5 760 ho compilato in 30 minuti!!!!!!!  ;D
Vado nella cartella superiore
Codice: Seleziona tutto
cd ..

Mi ritrovo 2 file: linux-headers-xxxxxx.deb e linux-image-xxxxxx.deb, quindi la compilazione è andata a buon fine. Installo quindi i 2 deb:
Codice: Seleziona tutto
dpkg -i linux-image-xxxxxx.deb
dpkg -i linux-headers-xxxxxx.deb

Riavvio e speriamo che il sistema parte....
Una volta dentro controllo se effettivamente sono partito con il MIO kernel compilato con
Codice: Seleziona tutto
uname -r

Bene!!!!
Altre info su come compilare il kernel le trovate qui: http://wiki.ubuntu-it.org/AmministrazioneSistema/CompilazioneKernel

DRIVER DVB/V4L:

Installo le dipendenze
Codice: Seleziona tutto
sudo apt-get install build-essential libdigest-sha1-perl linux-headers-`uname -r` patchutils libproc-processtable-perl git-core

Ora in avanti preferisco fare le operazione da root
Codice: Seleziona tutto
sudo su

Creo la directory v4l in /usr/src/
Codice: Seleziona tutto
mkdir /usr/src/v4l/

Mi posiziono nella nuova cartella e prelevo i sorgenti aggiornati dei driver v4l-dvb
Codice: Seleziona tutto
cd /usr/src/v4l/
git clone git://linuxtv.org/media_build.git

Scaricati i sorgenti entro nella cartella media_build e scompatto le patch.
Codice: Seleziona tutto
cd media_build/
make download untar

Scarico la patch necessaria per il corretto funzionamento di sasc-ng
Codice: Seleziona tutto
wget http://www.vanbest.org/drupal6/sites/www.vanbest.org/files/linux-2.6.38-dvb-mutex.patch

e la applico con
Codice: Seleziona tutto
patch -p1 < linux-2.6.38-dvb-mutex.patch -d linux

Ora posso compilare ma attenzione al valore "j5". Serve per velocizzare la compilazione sfruttando tutti i core del processore; j5 è 1 + 4 core. Se avete tipo un dual core sara 1 + 2 = j3
Codice: Seleziona tutto
make -j5

Quando ha finito installo i nuovi driver
Codice: Seleziona tutto
make install

Conviene poi riavviare e al riavvio avrete i driver aggiornati. Essendo però una versione di sviluppo non sempre si ha la fortuna di avere driver funzionanti ma di solito basta aspettare qualche giorno per avere le patch risolutive. Ad ogni modo seguite lo sviluppo qui: http://linuxtv.org/
Nota bene: tutte le volte che dobbiamo aggiornare il kernel dobbiamo ricompilare sia i driver v4l-dvb che sasc-ng; quindi rimuovete le cartelle media_build per i driver e sc per sasc-ng e ricominciate!!!

SASC-NG:

Divento root e installo prima le dipendenze
Codice: Seleziona tutto
sudo su
apt-get install linux-headers-`uname -r` build-essential subversion mercurial openssl gettext libssl-dev screen libv4l-dev

Prelevo i sorgenti e li posiziono modificando i dovuti permessi in /usr/local/src
Codice: Seleziona tutto
cd /usr/local/src
hg clone http://85.17.209.13:6100/sc
cd /usr/local/src/sc
chmod +x contrib/sasc-ng/configure
chmod +x contrib/sasc-ng/dvbloopback/module/config_dvb.pl


Ora posso compilare:

Se avete preferito compilare il kernel si fà così:

Codice: Seleziona tutto
cd /usr/local/src/sc/contrib/sasc-ng/
./configure
make
make module


altrimenti se avete scelto la strada dei driver dvb/v4l si fà così:

Codice: Seleziona tutto
cd /usr/local/src/sc/contrib/sasc-ng/
./configure --dvb-dir=/usr/src/v4l/media_build
make
make module

Attenzione alla cartella, dev'essere quella dove avete messo i driver compilati in precedenza....

ora installo il modulo dvbloopback
Codice: Seleziona tutto
rm /lib/modules/`uname -r`/misc/dvbloopback.ko
cd /usr/local/src/sc/contrib/sasc-ng/
cp sasc-ng /usr/bin
cp /usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/* /usr/lib/
mkdir /lib/modules/`uname -r`/misc
/usr/bin/install dvbloopback.ko /lib/modules/`uname -r`/misc/
depmod

Infine creo la cartella dove metterò più avanti la configurazione del protocollo newcamd.
Codice: Seleziona tutto
mkdir /etc/camfiles

Continuiamo con gli script...
Codice: Seleziona tutto
nano /usr/local/bin/runsasc

e incollo questo
Codice: Seleziona tutto
#!/bin/bash

# Script to automate running of SASC-NG and Drivers

# Driver directory
DRIVERDIR="/usr/local/src/mythtv.cvs/sasc-ng"
# Path to SASC-NG binary
SASCPRG="sasc-ng"
# Path to CAM Directory
CAMDIR="/etc/camfiles/"
# Number of DVB Cards you have in your system dedicated to SASC-NG
ADAPTERS="5"
# Startup Options passed to SASC-NG.  Adjust according to your devices.
#OPTIONS="-r 0 -v 2 -o"
OPTIONS="-j 0:5 -j 1:6 -j 2:7 -j 3:8 -j 4:9 --cam-budget --sid-allpid --cam-dir"
# Number of times runsasc will attempt to restart SASC-NG after a crash has occured (set to 0 for no limit)
MAXTRIES=10
# Minimum runtime required (in seconds) for SASC-NG to continue restart attempts
MINRUN=20

## End Configuration Section ##

SASCCMD="$SASCPRG $OPTIONS $CAMDIR"
KILL="/usr/bin/killall -q -TERM"

# Detect whether the DVBLooopback driver is already loaded
# and return 0 if it *is* loaded, 1 if not:
function DriverLoaded()
{
  grep -qse dvbloopback /proc/modules
}

# Load all DVBLoopback driver modules needed for your hardware:
function LoadDriver()
{
  modprobe dvbloopback num_adapters=$ADAPTERS
  sleep 5
}

# Unload all DVBLoopback driver modules loaded in LoadDriver():
function UnloadDriver()
{
  rmmod dvbloopback
}

# Load driver if it hasn't been loaded already:
if ! DriverLoaded; then
   LoadDriver
   fi

LASTRESTART=$(date +%s)
LOOPCOUNT=0
while (true) do
      if [ $LOOPCOUNT -le $MAXTRIES ] || [ $MAXTRIES -eq 0 ] ; then
        eval "screen -D -m -S sasc-ng $SASCCMD &"
        # Wait for SASC-NG to initialize then do rest
        sleep 10
        touch /tmp/SASC_COMPLETE
      else
        $KILL runsasc
      fi
      # Remember PID of SASC-NG process
      PID=$!
      # Wait for SASC-NG to end or signal to arrive
      wait $PID
      # Remember return value of SASC-NG
      RET=$?
      if test $RET -eq 0 -o $RET -eq 2; then exit; fi
      TIMEOFDEATH=$(date +%s)
      RUNTIME=$((TIMEOFDEATH - LASTRESTART))
      if [ $TIMEOFDEATH -le $(($LASTRESTART + $MINRUN)) ] ; then
        echo "`date` SASC-NG crashed in $RUNTIME seconds. Minimum required runtime for SASC-NG is $MINRUN seconds. Killing runsasc process..."
        $KILL runsasc
      fi
      echo "`date` Reloading DVBLoopback drivers"
      $KILL sasc-ng
      sleep 10
      UnloadDriver
      LoadDriver
      LASTRESTART=$(date +%s)
      LOOPCOUNT=$((LOOPCOUNT+1))
      echo "`date` Restarting SASC-NG $LOOPCOUNT time(s). Maximum retries set to $MAXTRIES"
      done

ATTENZIONE: questo script è da personalizzare secondo i vostri adapter. Vi elenco le righe eventualmente da modificare:
Codice: Seleziona tutto
# Number of DVB Cards you have in your system dedicated to SASC-NG
ADAPTERS="5"

Ho impostato il valore "5" per i miei 5 adapter, cambiate il valore a seconda dei vostri adapter fisici
Codice: Seleziona tutto
OPTIONS="-j 0:5 -j 1:6 -j 2:7 -j 3:8 -j 4:9 --cam-budget --sid-allpid --cam-dir"

Qui lego l'adapter fisico 0 con il virtuale 5, 1 con 6 e così via. Ovvimente configurare in base ai vostri adapter!!
Dopo questa breve premessa continuo il lavoro modificando i permessi dello script runsasc
Codice: Seleziona tutto
chmod 755 /usr/local/bin/runsasc
chmod +x /usr/local/bin/runsasc

Poi altro script
Codice: Seleziona tutto
nano /etc/init.d/sascd

e incollo questo
Codice: Seleziona tutto
#! /bin/bash
#
# sasc start-stop script
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME="runsasc"
DESC="SASC-NG"
DAEMON="sasc-ng"

ENABLED=0
test -f /etc/default/sascc && . /etc/default/sascc
test "$ENABLED" != "0" || exit 0

rm -f /tmp/SASC_COMPLETE

LOOP=0
case "$1" in
  start)
         if ! ps -C sasc-ng > /dev/null 2>&1; then
         echo -e "Starting $DESC: $NAME. \n"
         runsasc &
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do
           sleep 1
           LOOP=$((LOOP+1))
         done
         if [ $LOOP -eq $TIMEOUT ]; then
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n"
           exit 1
         fi
         echo -e "SASC-NG startup time was $LOOP second(s). \n"
         echo -e "SASC-NG startup sequence completed. \n"
         else
         echo -e "SASC-NG is already running. \n"
         fi
         ;;
  stop)
         if ps -C sasc-ng > /dev/null 2>&1; then
         echo -e "Stopping $DESC: $NAME. \n"
         sleep 3
         killall -q -TERM $NAME
         killall -q -TERM $DAEMON
         sleep 5
         rmmod dvbloopback.ko
         else
         echo -e "SASC-NG is not running. \n"
         fi
         ;;
  restart|force-reload)
         if ps -C sasc-ng > /dev/null 2>&1; then
         echo -e "Restarting $DESC: $NAME. \n"
         sleep 3
         killall -q -TERM $NAME
         killall -q -TERM $DAEMON
         sleep 5
         rmmod dvbloopback.ko
         sleep 2
         runsasc &
         until [ -e /tmp/SASC_COMPLETE ] || [ $LOOP -eq $TIMEOUT ] ; do
           sleep 1
           LOOP=$((LOOP+1))
         done
         if [ $LOOP -eq $TIMEOUT ]; then
           echo -e "SASC-NG startup sequence has timed out in $TIMEOUT seconds. SASC-NG will not start. \n"
           exit 1
         fi
         echo -e "SASC-NG startup time was $LOOP second(s). \n"
         echo -e "SASC-NG startup sequence completed. \n"
         else
         echo -e "SASC-NG is not running. \n"
         fi
         ;;
  *)
         N=/etc/init.d/$NAME
         echo "Use: $N {start|stop|restart|force-reload}" >&2
         exit 1
        ;;
esac

rm -f /tmp/SASC_COMPLETE

exit 0

assegno poi i giusti permessi
Codice: Seleziona tutto
chmod +x /etc/init.d/sascd


Finisco la configurazione di sasc-ng creando un ultimo script
Codice: Seleziona tutto
nano /etc/default/sascc

incollando questo
Codice: Seleziona tutto
# /etc/default/sascc
# Default SASC-NG startup config

# Change to 1 to enable sasc-ng's init-script
ENABLED=1

# DVBLoopback Device creation timeout (in seconds)
TIMEOUT=60


Dopodichè ho configurato l'avvio automatico dello script sascd con rc.local:
Codice: Seleziona tutto
sudo nano /etc/rc.local

aggiungendo prima di exit0 questo
Codice: Seleziona tutto
bash -c "sleep 9; /etc/init.d/mythtv-backend stop" &

bash -c "sleep 70; /etc/init.d/sascd start" &

exit 0

Quindi lo script sascd lancia il modulo dvbloopback e mi crea gli adapter virtuali 5-6-7-8-9 (numero adapter=5).
Riavvio il pc. Una volta riacceso dopo 9 secondi si ferma il backend di mythtv. Faccio subito un ls /dev/dvb e mi ritrovo
Codice: Seleziona tutto
ls /dev/dvb
adapter0  adapter1  adapter2  adapter3  adapter4
.
Dopo 70 secondi entra in funzione lo script sascd e ripeto ls /dev/dvb dove avrò anche gli adapter virtuali:
Codice: Seleziona tutto
ls /dev/dvb
adapter0  adapter1  adapter2  adapter3  adapter4  adapter5  adapter6  adapter7  adapter8  adapter9

Bene! Dopo dovrò ancora configurare gli adapter virtuali tramite sasc-ng per interagire con oscam tramite il protocollo newcamd ma possiamo dire conclusa la parte di installazione di sasc-ng!!!!
Ringrazio il sito http://dolot.kipdola.com/wiki/Install_SASC-NG per queste utili info!!!

E adesso OSCAM:

Prima di compilarlo collego i lettori Omnikey con le card degli abbonamenti inseriti e vedo se sono riconosciuti con lsusb
Codice: Seleziona tutto
Bus 001 Device 004: ID 076b:3021 OmniKey AG CardMan 3121
Bus 001 Device 005: ID 076b:3021 OmniKey AG CardMan 3121

Bene!
Installo quindi il software necessario a far funzionare i lettori
Codice: Seleziona tutto
sudo apt-get install pcsc-tools pcscd

Riavvio (sempre con i lettori attaccati)
Dopo vedo se rileva le card con
Codice: Seleziona tutto
pcsc_scan

La card Tivùsat è subito riconosciuta, mentre la premium no. Aggiungo semplicemente l'ATR ricavato nel file
Codice: Seleziona tutto
sudo nano /usr/share/pcsc/smartcard_list.txt

Riavviando e ridando pcsc_scan le due card sono riconosciute!!!!!! Mi segno anche il numero del reader e che card c'è. ES: Reader0 Premium e Reader1 Tivùsat.

Compilo poi oscam installando prima le dipendenze diventando root
Codice: Seleziona tutto
sudo su
apt-get install cvs subversion autoconf libccid automake libtool gettext make cmake tar bzip2 gzip patch ncurses-bin gcc
apt-get install g++ flex bison pkg-config wget libpng3 libssl-dev libssl0.9.8 libpcsclite1 libpcsclite-dev libusb-dev

Prelevo i sorgenti della trunk
Codice: Seleziona tutto
svn co http://streamboard.de.vu/svn/oscam/trunk oscam-svn

compilo e installo
Codice: Seleziona tutto
cd oscam-svn
mkdir build
cd build
cmake ..
make
make install

Bene! Oscam ora è installato. Modifico per l'ultima volta rc.local mettendo in avvio anche oscam:
Codice: Seleziona tutto
bash -c "sleep 9; /etc/init.d/mythtv-backend stop" &

bash -c "sleep 60; /usr/local/bin/oscam" &

bash -c "sleep 70; /etc/init.d/sascd start" &

exit 0

Riavvio...

Servono fondamentalmente 3 file di configurazione per farlo funzionare da mettere nella cartella /usr/local/etc/:
oscam.conf
Codice: Seleziona tutto
[global]
logfile                       = /var/log/oscam.log
nice                          = -1
maxlogsize                    = 1000
block_same_ip                 = 0
block_same_name               = 0
lb_mode                       = 1
lb_max_ecmcount               = 10

[newcamd]
port                          = 34001@1805:008D11;34002@183D:005411
key                           = 0102030405060708091011121314

[webif]
httpport                      = 8080
httpuser                      = NOME_UTENTE
httppwd                       = PASSWORD
httprefresh                   = 15
httpallowed                   = 192.168.1.2


Qui le cose da sapere sono:
-port= ho scelto 2 porte tcp per i 2 lettori (34001 e 34002) e CAID:IDENT della scheda trovabili da web..
-key= ho scelto una chiave a caso.
-sotto webif abilito l'interfaccia web di amministrazione sulla porta 8080 protetta da un nome utente e password con abilitazione di accesso sono ad un determinato ip.
Se provate ad accedere a http://IP_DEL_PC_CON_OSCAM:8080 e inserite nome utente e password siete nell'interfaccia grafica di oscam e potete vedere CAID:IDENT delle schede.
oscam.server
Codice: Seleziona tutto
[reader]
label                         = premium
protocol                      = pcsc
device                        = 0
caid                          = 1805
rsakey                        = A92....
cardmhz                       = 368
ident                         = 1805:008D11
group                         = 1


[reader]
label                         = tivusat
protocol                      = pcsc
device                        = 1
caid                          = 183D
rsakey                        = A92.......
cardmhz                       = 368
ident                         = 183D:005411
group                         = 2


Le cose da sapere sono:
device= è il numero del reader rilevato da pcsc_scan
rsakey= NON SI PUO' PER NESSUN MOTIVO POSTARLA IN PUBBLICO, CERCATELA IN GIRO (SI TROVA) O CHIEDETEMELA IN PVT....
group= visto che ho 2 abbonamenti imposto un gruppo diverso (1 per premium e 2 per tivusat) per servizio.
Configurate con coerenza rispetto ai vostri abbonamenti!
oscam.user
Codice: Seleziona tutto
[account]
user                          = premium
pwd                           = PASSWORD
group                         = 1
monlevel                      = 0
au                            = premium
caid                          = 1805
ident                         = 1805:008D11


[account]
user                          = tivusat
pwd                           = PASSWORD
group                         = 2
monlevel                      = 0
au                            = tivusat
caid                          = 183d
ident                         = 183D:005411


Cose da sapere:
pwd= mettete una password
group= mettete lo stesso gruppo che avete messo in oscam.server
au= dirigo gli EMM al reader corrispondente...importante per non mandare EMM all'abbonamento errato!

A seconda quindi di come creo le configurazioni di oscam creo la configurazione per i 5 adapter di sasc-ng su protocollo newcamd.
La prima e seconda scheda DVB-T (quindi adapter6-7 e 8-9 ) devono collegarsi al reader premium mentre la scheda DVB-S2 (quindi adapter5) deve collegarsi al reader tivùsat.
Quindi edito
Codice: Seleziona tutto
sudo nano /etc/camfiles/cardclient.conf

e incollo
Codice: Seleziona tutto
#Mediaset Premium
newcamd:localhost:34001:1/1805/FFFF:premium:PASSWORD:0102030405060708091011121314

#Tivusat
newcamd:localhost:34002:1/183d/FFFF:tivusat:PASSWORD:0102030405060708091011121314

NOME_UTENTE e PASSWORD sono quelli di oscam.user

Se è tutto giusto è ora di

MYTHTV:

Non mi soffermo sulla configurazione del backend di mythtv. Create i vostri adapter scegliendo i virtuali e non i fisici (nel mio caso 5,6,7,8,9). In opzioni registrazione degli adapter mettete il flag su "Open DVB Card on demand" e toglietelo su "Use DVB Card for active EIT scan". Così facendo allegerite notevolmente il carico di oscam che altrimenti leggerebbe l'abbonamento in continuazione.
Create le varie fonti video. L'unica cosa che vi consiglio è nella scansione dei canali: Scegliete pure tv o tv+radio come preferite, togliete il flag su unencrypted only, scan type su scansione completa e country Italia.

Abbiamo finito!!!!!!!!  (z)

Seguite lo sviluppo dei vari software, è importante per sapere se è il caso di aggiornare il vostro sistema:
Sasc-ng: http://85.17.209.13:6100/summary
Oscam: http://www.streamboard.tv/oscam/timeline
Mythtv: http://code.mythtv.org/trac/roadmap

AGGIORNAMENTO MYTHTV:
Avendo attivato i repository di mythtv ogni qualvolta che gli sviluppatori modificano il software per aggiornarlo è sufficiente
Codice: Seleziona tutto
sudo apt-get update
sudo apt-get upgrade

e, dopo il riavvio del pc, avrete la versione di mythtv aggiornata.

AGGIORNAMENTO OSCAM:
Per aggiornare facilmente oscam vi faccio omaggio di un mio script "grezzo"
Nella vostra home digitate
Codice: Seleziona tutto
nano oscam.sh

e incollate
Codice: Seleziona tutto
#Aggiornamento Oscam versione trunk
svn co http://streamboard.de.vu/svn/oscam/trunk oscam-svn
cd oscam-svn
mkdir build
cd build
cmake ..
make
make install
rm -R /home/VOSTRO_UTENTE/oscam-svn

ricordatevi di cambiare VOSTRO_UTENTE!!!
Se gli sviluppatori modificano oscam basta lanciare lo script
Codice: Seleziona tutto
sudo sh oscam.sh
e riavviare.
Una volta riavviato avrete oscam aggiornato.


Permettetemi di fare i più sentiti ringraziamenti a MrBerny per la collaborazione data!
 



Messaggio originale:

Dopo mesi di studio e soldi buttati sono riuscito a far funzionare su mythtv i miei 2 regolari abbonamenti di TivùSat e Mediaset premium! Dopo aver buttato soldi in CAM e lettori CI alla fine ho acquistato 2 semplici lettori di card Infinity usb smart e con le mie 2 schede già in mio possesso Technotrend t-1500 per DVB-T e s-3200 per DVB-S/S2 riesco a vedere (e chiaramente registrare) tutto quello che voglio, COMPRESO HD!!!!!!
Vi posso dire inoltre che le card si aggiornano regolarmente per ora, quindi non ho bisogno di alcun decoder per riattivare i diritti.
Scrivo questo post perchè vedo alcune richieste sul forum e magari per avere un punto di riferimento dove iniziare lo "smanettamento".
Ho ancora un paio di problemi ma dovrebbero essere dipesi da 2 bug che affliggono mythtv, conto sul lavoro degli sviluppatori anche se invito gli appassionati di mythtv di questo forum di intervenire, magari assieme riusciamo a mettere a posto tutto!

EDIT: Ho richiesto ai mod di spostare in multimedia il post!!!!

EDIT2: Visto il gran lavoro fatto con MrBerny farò un riassunto  del topic e posterò una guida qui. In attesa della guida vi aggiorno dicendo che il lettore Infinity USB Smart che ho usato all'inizio ha dato problemi di stabilità. Se volete iniziare a divertirvi consiglio vivamente il lettore Omnikey 3121 testato con esito positivo da me e MrBerny. Tutte le info le trovate leggendo i vari post...
Ultima modifica di Nede il mercoledì 26 dicembre 2012, 18:45, modificato 20 volte in totale.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » giovedì 30 giugno 2011, 20:10

Ciao Nede,
Dopo aver letto che con successo riesci ad utilizzare la tua scheda mediaset premium, mi sono deciso a comprare anche io il lettore "infinity usb smart" per poter gestire la mia card con mythtv (in particolare utilizzo mythbuntu).
Premetto che come scheda ho una hauppauge td-500 che funziona senza problemi con mythbuntu.
Ma adesso mi trovo in alto mare, ho spulciato molti forum (italiani ed inglesi) cercando di trovare una guida (funzionante) che mi spiegasse come gestire la mia card.. Ma niente.. Ho inteso che devo installare e configurare due programmi: sasc-ng e oscam ma non riesco proprio a venirne a capo!
Ti sarei grato se tu potessi esporre come hai fatto!
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » giovedì 30 giugno 2011, 22:42

Buonasera mrberny!
Vediamo come fare! Se la tua scheda funziona (mi puoi confermare) è già un passo avanti.
I software sono esattamente quelli, oscam e sasc-ng.
Ti devo però chiedere che versione di mythbuntu stai usando. Il problema nasce dal fatto che il nuovo mythbuntu 11.04 (e ubuntu 11.04 in generale) a livello kernel (2.6.38) v4l è stato rimpiazzato da v4l2 e così facendo sasc-ng non si compila più! Detto questo io riesco a lavorare con la versione 10.10 (kernel 2.6.35) e per iniziare a smanettare ti consiglierei di mettere quella. Per lo sviluppo del problema sto seguendo comunque questo forum che a quanto pare sono riusciti tramite patch a risolvere, anche se io non ci sono riuscito: http://www.eurocardsharing.com/f273/ubuntu-11-04-sasc-ng-dvbloopback-348184
2° domanda: hai già caricato il modulo sul lettore infinity tramite software Windows? Se no ecco il link su come devi fare: http://scaistar.altervista.org/phpBB2/viewtopic.php?t=11873
Attenzione: devo seguire la guida parzialmente, nel senso che devi scaricare solo il software dell'infinity (1° link), e seguire la procedura solo per caricare il modulo n°7.
Per non fare confusione aspetto di avere una conferma da te su queste prime cose per proseguire.....
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 11:11

Buongiorno!
Eccoci qui:

1) fresca installazione di Mythbuntu 10.10, ci sono più di 200 aggiornamenti da fare.. ma per il momento preferisco evitare visto che da quello che ho capito, il problema che riscontravo nella compilazione/installazione di sasc-ng era proprio dovuto all'ultima versione di Mythbuntu.

2) la mia scheda hauppauge td-500 è stata immediatamente riconosciuta, ho fatto uno scan dei canali e tutto è filato liscio.

3) utilizzando windows ho installato il modulo (n°7) seguendo la guida che mi hai linkato, ho spostato lo switch sotto l"infinity usb smart" su MODULE (è corretto?)

Il prossimo passaggio è sasc-ng?
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 12:25

Pausa pranzo e sono riuscito a rubare un pc!
Ottimo lavoro, gli aggiornamenti però falli perche sicuramente ti aggiornerà il kernel. A carattere informativo devi sapere che quando aggiorni il kernel devi ripetere la compilazione di sasc-ng. L'ultimo kernel attuale per ubuntu 10.10 è il 2.6.35-30-generic. Verifica quando scarichi gli aggiornamenti.
Quindi il modulo mi confermi che sei riuscito a caricarlo con successo e che ora lo switch è girato su module?
Se così è prova a collegarlo al pc e verifica se nella cartella /dev ti compare "TTYUSB0"
Codice: Seleziona tutto
ls /dev

Se ti appare appunto TTYUSB0 vuol dire che l'infinity è configurato bene e correttamente viene visto da ubuntu come se fosse un serial converter. Quindi ciò è bene!!!!
Fammi sapere..(fra poco devo rientrare, se non ti sento ci aggiorniamo questa sera!
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 12:31

Intanto buon appetito!

Collegato l"infinity".. controllato (ls /dev) e viene riconosciuto: ttyUSB0
Non ero sicuro se fare i vari aggiornamenti... ora li faccio!
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 17:41

Eccoci!
Vediamo di completare l'opera, ti va?
Aggiornamenti fatti? Riavviato? Infinity sempre riconosciuto?
Prima di partire ho ancora bisogno di sapere se la tua card è già attiva e funzionante o cosa.
Se per caso è nuova ho letto in giro che molta gente ha avuto problemi nell'attivazione tramite softcam. Io purtroppo avevo già gli abbonamenti attivi e quindi non ho potuto verificare.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 17:44

Sempre presente!

Riavviato tutto e "infinity" riconosciuto!
La mia card mediaset premium è già attivata e funzionante (nel decoder). La uso per vedere il pacchetto calcio.
Non ho fatto altre mosse in attesa di sapere da te cosa fare con precisione!
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 18:01

Prima di iniziare con la compilazione di sasc-ng mi posti per favore il risultato di
Codice: Seleziona tutto
ls /dev/dvb
. Poi procedi!

Bene, è ora di sasc-ng! Sperando di non avere problemi con l'inglese segui pedestremente questa guida: http://dolot.kipdola.com/wiki/Install_SASC-NG con queste variazioni:
-paragrafo 3.2: cambia la versione del kernel NON in 2.6.32 ma nel tuo 2.6.35
-paragrafo 3.3: questo comando non serve
Codice: Seleziona tutto
./configure --dvb-dir=/path/to/driver

-paragrafo 3.4: MOLTO IMPORTANTE visto che hai una sola scheda dvb (giusto?) devi attivare il modulo dvbloopback inerente con quante schede hai, quindi digita solo
Codice: Seleziona tutto
modprobe dvbloopback

-paragrafo 3.6: idem come sopra quindi ti serve per una scheda dvb questo comando
Codice: Seleziona tutto
LD_LIBRARY_PATH=/usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/ ./sasc-ng -j 0:1 --cam-budget --sid-allpid --sid-nocache
. Mi sembra che dopo il terminale rimane appeso quindi termina con ctrl+z.
-paragrafo 4.1: questo
Codice: Seleziona tutto
mv sc_files/* /etc/camfiles/
ti darà errore, non preoccuparti, dopo mettiamo a posto.
Quando devi incollare lo script presta attenzione a questa riga
Codice: Seleziona tutto
OPTIONS="-j 0:3 -j 1:4 -j 2:5 --cam-budget --sid-allpid --sid-nocache --cam-dir"
. Chiaramente è sempre inerente a quante sche dvb hai quindi modificala (credo) così:
Codice: Seleziona tutto
OPTIONS="-j 0:1 --cam-budget --sid-allpid --sid-nocache --cam-dir"

paragrafo 5: per ora saltalo, facciamo dopo.
Sempre dopo faremo ancora una variazione per quanto riguarda l'avvio di sasc.
Ti aspetto, provaci (auguri) e quando hai finito riavvia.
Ultima modifica di Nede il venerdì 1 luglio 2011, 18:12, modificato 1 volta in totale.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 18:05

Ok..
Non dovrei aver problemi con l'inglese e intanto ti posto il risultato che mi hai chiesto:

ls /dev/dvb/
adapter0  adapter1


Si ho solo una scheda: hauppauge td-500
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 18:06

Ma hai già compilato sasc?
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 18:08

No no, eseguo adesso la guida!
Dimenticavo, la mia scheda di acquisizione (td-500) ha due ingressi per l'antenna!
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 18:12

E allora ASPETTA!!! devi variare la quantità di schede da una a due a questo punto. modifica la guida di conseguenza quindi 0:2 e 1:3 e  modprobe dvbloopback num_adapters=2 (ho sbagliato a incollare prima, correggo....)
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 18:48

Ok fatto tutto.
Ti posto un pò di risultati:

Trying various FFdecsa optimizations...
    PARALLEL_32_INT: test failed
    PARALLEL_64_2INT: test failed
    PARALLEL_64_LONG: 151
    PARALLEL_64_MMX: 390
    PARALLEL_128_2LONG: 153
    PARALLEL_128_2MMX: 343
    PARALLEL_128_SSE: 489
    PARALLEL_128_SSE2: 576
Choosing PARALLEL_MODE = PARALLEL_128_SSE2


questi i due comandi modificati per utilizzare sasc-ng con Mythtv:
LD_LIBRARY_PATH=/usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/ ./sasc-ng -j 0:2 --cam-budget --sid-allpid --sid-nocache

LD_LIBRARY_PATH=/usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/ ./sasc-ng  -j 1:3 -j 1:4 -j 2:5 --cam-budget --sid-nocache -d 0xf0a --cam-dir /etc/camfiles

con entrambi i comandi ho dovuto utilizzare CTRL+Z per farli terminare.

E questa è la modifica al runsasc:
OPTIONS="-j 1:3 -j 1:4 -j 2:5 --cam-budget --sid-allpid --sid-nocache --cam-dir"


Adesso riavvio...
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 18:55

Errore!
Per caricare il modulo
Codice: Seleziona tutto
modprobe dvbloopback num_adapters=2

Per avviare sasc
Codice: Seleziona tutto
LD_LIBRARY_PATH=/usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/ ./sasc-ng -j 0:2 -j 1:3 --cam-budget --sid-allpid --sid-nocache

Script runsasc
Codice: Seleziona tutto
OPTIONS="-j 0:2 -j 1:3  --cam-budget --sid-allpid --sid-nocache --cam-dir"


Ti conviene cancellare la cartella sc in /usr/local/src e rifare tutto da zero con le dovute modifiche...
Ultima modifica di Nede il venerdì 1 luglio 2011, 18:57, modificato 1 volta in totale.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 19:19

Intanto mi scuso per la lentezza nel risponderti ma voglio essere sicuro di non commettere errori.

Rifatto tutto da capo ma ottengo questo errore:
LD_LIBRARY_PATH=/usr/local/src/sc/contrib/sasc-ng/sc/PLUGINS/lib/ ./sasc-ng -j 0:2 -j 1:3 --cam-budget --sid-allpid --sid-nocache
Jul  1 19:18:55.329 : Could not find adapter for 1:3
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 19:24

Postami
Codice: Seleziona tutto
ls /dev/dvb/adapter0
&
Codice: Seleziona tutto
ls /dev/dvb/adapter1
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 19:26

Dopo il riavvio:
ls /dev/dvb/adapter0
demux0  dvr0  frontend0  net0

ls /dev/dvb/adapter1
audio0  demux0  dvr0  frontend0  osd0  video0
audio1  demux1  dvr1  frontend1  osd1  video1

ti posto pure:
ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3  adapter4
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda Nede » venerdì 1 luglio 2011, 19:39

Hai sasc configurato male in funzione. Rimuovi il file che avvia sasc in automatico
Codice: Seleziona tutto
sudo rm /etc/init.d/sascd
e riavvia.
Una volta che si è riavviato controlla
Codice: Seleziona tutto
ls /dev/dvb
se hai di nuovo i 2 adapter originali adapter0 e 1.
Se si rimuovi come prima la cartella sc in /usr/loca/src e ricomincia con la compilazione.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 872
Iscrizione: luglio 2009
Località: Ciriè
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: [Mythtv-Pay-tv] Volevo condividere la mia felicità

Messaggioda MrBerny » venerdì 1 luglio 2011, 19:43

Ok.
Eliminato sascd:
dopo il riavvio ho solo i due adapter originali.

Rimuovo "sc" e ricompilo...
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 296
Iscrizione: giugno 2011
Località: Toscana

Successiva

Torna a Multimediale

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 3 ospiti