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

Installazione, configurazione e utilizzo di applicativi multimediali, masterizzazione, acquisizione e codec audio/video, streaming e altro.
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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
[/color]
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, 17:45, modificato 20 volte in totale.
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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!
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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.....
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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?
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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!
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

Intanto buon appetito!

Collegato l"infinity".. controllato (ls /dev) e viene riconosciuto: ttyUSB0
Non ero sicuro se fare i vari aggiornamenti... ora li faccio!
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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.
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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!
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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.
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

Ma hai già compilato sasc?
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

No no, eseguo adesso la guida!
Dimenticavo, la mia scheda di acquisizione (td-500) ha due ingressi per l'antenna!
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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....)
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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...
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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.
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

Postami

Codice: Seleziona tutto

ls /dev/dvb/adapter0
&

Codice: Seleziona tutto

ls /dev/dvb/adapter1
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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
Nede
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 870
Iscrizione: domenica 5 luglio 2009, 21:22
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile
Località: Ciriè

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

Messaggio da Nede »

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.
Avatar utente
MrBerny
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 296
Iscrizione: giovedì 30 giugno 2011, 11:12
Località: Toscana

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

Messaggio da MrBerny »

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

Rimuovo "sc" e ricompilo...
Scrivi risposta

Ritorna a “Multimediale”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti