Installare VDR con SS1 su Ubuntu 8.04 LTS

Da VDR-Italia.

Installare VDR con SS1 su Ubuntu 8.04 LTSmodifica


Indice

requisiti

pacchetti sviluppo

Per poter compilare VDR dai sorgenti è necessaria l'nstallazione dei seguenti pacchetti di sviluppo:

$ sudo apt-get install build-essential linux-headers-generic

dipendenze

Inoltre, VDR richiede le seguenti dipendenze:

$ sudo apt-get install libjpeg62-dev libcap-dev libncurses5-dev libfreetype6-dev 
$ sudo apt-get installlibfontconfig1-dev gettext

firmware e moduli

Per poter fare funzionare la scheda SS1 con VDR è necessario scaricare il firmware della scheda, copiarlo nel sistema e poi ricaricare i moduli utilizzati dalla scheda.

Creiamo la directory che conterrà il firmware:

$ mkdir /lib/firmware
$ cd /lib/firmware

Scarichiamo il firmware dal sito del progetto LinuxTV e creiamo un collegamento simbolico:

$ wget -c http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
$ ln -s dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw

Ora non ci resta che ricaricare i moduli della scheda SS1:

$ modprobe -r dvb-ttpci
$ modprobe dvb-ttpci


compilazione vdr

directory e sorgenti

Prima di iniziare la compilazione e installazione di VDR dobbiamo creare le directory che conterranno i nostri sorgenti impostando i permessi di scrittura a tutti i gruppi per poter lavorare in modo semplice:

$ sudo mkdir /vdr
$ sudo chmod -R 777 /vdr

Ora ci spostiamo all'interno della directory creata e scarichiamo i sorgenti di VDR 1.6.x direttamente dal sito ufficiale:

$ cd /vdr
$ sudo wget -c ftp://ftp.cadsoft.de/vdr/vdr-1.6.0.tar.bz2 -P /vdr

Scompattiamo i sorgenti e creiamo un collegamento simbolico che chiameremo current in modo da usarlo in futuro in caso di nuove versioni:

$ sudo tar -jxvf vdr-1.6.0.tar.bz2
$ sudo ln -s vdr-1.6.0 current

Visto che dal momento dell'uscita della prima versione sono state rilasciate delle patch dobbiamo applicarle per avere il sistema aggiornato:

$ cd /vdr/current
$ sudo wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-1.diff -P /vdr
$ sudo patch -p1 < /vdr/vdr-1.6.0-1.diff

$ sudo wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-2.diff -P /vdr
$ sudo patch -p1 < /vdr/vdr-1.6.0-2.diff


Image:idea.png A questo è possibile applicare altre patch come le extension patch, ma ricordiamoci che in caso di nuove versioni/patch di VDR dovremo aggiornare tutto nuovamente!

make.config

All'interno della directory di VDR facciamo una copia del file Make.config e successivamente lo apriamo per le modifiche:

$ sudo cp Make.config.template Make.config
$ sudo gedit Make.config

Impostiamo di usare la tastiera e di non usare altri device come LIRC e RCU (voi scegliete in base alle vostre periferiche). Il segmente risultante del file dovrebbe essere simile a questo:

Modifiche (sezione remote control)
### The remote control:
NO KBD = 0
#LIRC DEVICE = /dev/lircd
#RCU DEVICE  = /dev/ttyS1


Una volta completate le modifiche salviamo il file e chiudiamo gedit

pulizia vecchi plugin

Se non vogliamo utilizzare i plugin di esempio forniti con VDR possiamo cancellarli in questo modo:

$ sudo rm -R /vdr/current/PLUGINS/src/*

compilazione vdr

A questo punto siamo pronti per la compilazione dei sorgenti di VDR:

$ sudo make clean
$ sudo make

configurazione ambiente vdr

Se tutto è andato a buon fine senza dare alcun tipo di problemi allora possiamo passare alla configurazione delle diverse parti necessarie a VDR per poter funzionare correttamente.

copia fonts (VDRSymbols)

Esistono dei fonts creati da Andreas Mair che prendono il nome di VDRSymbols e che servono ad abbellire l'aspetto grafico delle icone mostrate nell'OSD.

Per poterli utilizzare dobbiamo scaricare i fonts dal sito, scompattarli e copiarli nella directory che contiene i font di sistema

$ cd /tmp
$ wget http://andreas.vdr-developer.org/fonts/download/vdrsymbols-ttf-20080411.tgz
$ tar -zxvf vdrsymbols-ttf-20080411.tgz
$ sudo cp /tmp/vdrsymbols/*.ttf /usr/share/fonts/truetype

script svdrpsend.pl

Questo script ci permette di eseguire dei comandi da inviare a VDR per gestione del nostro ambiente.

Copiamo lo script nella directory che contiene i file binari

$ sudo cp /vdr/current/svdrpsend.pl /usr/bin

creazione directory video

Dobbiamo creare la directory che conterrà tutte le nostre regitrazioni assegnando i permessi lettura/scrittura. Tale directory la chiameremo /video:

$ sudo mkdir /home/video
$ sudo ln -s /home/video /video
$ sudo chmod -R 777 /video

creazione directory etc vdr

All'interno di questa directory verranno salvati tutti i file di configurazione di VDR e dei plugins, per questo motivo tale directory deve avere i permessi di lettura/scrittura:

$ sudo mkdir /etc/vdr
$ sudo mkdir /etc/vdr/plugins
$ sudo chmod -R 777 /etc/vdr
$ sudo cp /vdr/current/*.conf /etc/vdr

copia script spegnimento vdr

Questo script ci permetterà di spegnere la nostra VDR in un modo corretto non appena premeremo sul tasto Power del nostro telecomando/tastiera.


Image:attenzione.png Quando si parla di spegnere VDR vuol dire che spegnerà il computer dove VDR è installato, quindi ricordate di salvare eventuali file aperti prima di premere sul tasto Power


Apriamo gedit:

$ sudo gedit

Copiamo dentro le seguenti righe:

Script spegnimento VDR
#!/bin/sh
/sbin/shutdown -h now &>/dev/null


Salviamo il file nella directory /tmp chiamandolo stopvdr.sh

Copiamo il file nel percorso dei file binari e assegniamo i permessi di esecuzione:

$ sudo mkdir /usr/local/bin
$ sudo cp /tmp/stopvdr.sh /usr/local/bin/
$ sudo chmod +x /usr/local/bin/stopvdr.sh

modifica file runvdr

Questo script è molto importante visto che viene eseguito per poter caricare VDR con i suoi plugins e le varie opzioni di configurazione. Una errata sintassi comporterà la mancata esecuzione di VDR.

Apriamo con gedit il file presente nella directory dei sorgenti:

$ sudo gedit /vdr/current/runvdr

All'interno del file sono presenti diverse sezioni una delle quelle indica la lingua che VDR utilizzerà in fase di caricamento. Nel nostro caso vogliamo utilizzare la lingua italiana con la codifica UTF-8 per una migliore gestione delle lettere accentate e delle icone dei font (vedi VDRSymbols sopra):

Segmento script runvdr impostazione lingua
export LC CTYPE="it IT.UTF ";
export LC ALL="it IT.UTF ";
#export VDR CHARSET OVERRIDE=ISO 8859-15


Un'altra parte molto importante è quella presente nel comando “VDRCMD” visto che contiene il percorso delle opzioni (parametro ”-c”) e lo script di spegnimento (parametro ”-s”):

Segmento script runvdr comando 'VDRCMD'
VDRPRG="./vdr"
VDRCMD="$VDRPRG -w 60 -c /etc/vdr -s'/usr/local/bin/stopvdr.sh' \"


Quindi, il nostro script può essere ad esempio questo:

Script esempio runvdr
#!/bin/sh

# runvdr: Loads the DVB driver and runs VDR
#
# If VDR exits abnormally, the driver will be reloaded
# and VDR restarted.
#
# In order to actually use this script you need to implement
# the functions DriverLoaded(), LoadDriver() and UnloadDriver()
# and maybe adjust the VDRPRG and VDRCMD to your particular
# requirements.
#
# Since this script loads the DVB driver, it must be started
# as user 'root'. Add the option "-u username" to run VDR
# under the given user name.
#
# Any command line parameters will be passed on to the
# actual 'vdr' program.
#
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
# 
# $Id: runvdr 1.19 2006/05/14 16:02:05 kls Exp $


export LANG="it IT.UTF- ";
export LC CTYPE="it IT.UTF- ";
export LC ALL="it IT.UTF- ";
#export VDR CHARSET OVERRIDE="ISO-8859-15"

VDRPRG="./vdr"
VDRCMD="$VDRPRG -w 60 -c /etc/vdr -s'/usr/local/bin/stopvdr.sh'"



KILL="/usr/bin/killall -q -TERM"

# Detect whether the DVB driver is already loaded
# and return 0 if it *is* loaded, 1 if not:
function DriverLoaded()
{
  if [ "`lsmod | grep dvb | wc -l`" -eq "0" ] ; then
    return 1
  else
    return 0
  fi
}

# Load all DVB driver modules needed for your hardware:
function LoadDriver()
{
  modprobe dvb-ttpci
}

# Unload all DVB driver modules loaded in LoadDriver():
function UnloadDriver()
{
  modprobe -r dvb-ttpci
}


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

while (true) do
  eval "$VDRCMD"

  if test $? -eq 0 -o $? -eq 2; then exit; fi

  echo "`date` reloading DVB driver"
  $KILL $VDRPRG
  sleep 10
  UnloadDriver
  LoadDriver


  echo "`date` restarting VDR"
 
done


A questo punto possiamo salvare e chiudere gedit

prova funzionamento

Image:nota.png Ora è finalmente arrivato il momento di verificare se abbiamo fatto tutto correttamente.


All'interno della directory dei sorgenti di VDR eseguiamo questi comando:

$ cd /vdr/current
$ sudo ./vdr -c /etc/vdr


Image:attenzione.png Se la finestra si blocca basta chiuderla ed aprirne una nuova.


Se il terminale ci restituisce un messaggio di errore simile a quello sotto significa che mancano i file di configurazione localizzati in italiano (vedi Extension Patch):

$ sudo ./vdr -c /etc/vdr
$ vdr: error while reading '/etc/vdr/commands.conf'
$ vdr: error while reading '/etc/vdr/reccmds.conf'
$ vdr: error while reading '/etc/vdr/timercmds.conf'

Procediamo a crearli con questi comandi:

$ sudo touch /etc/vdr/commands.conf
$ sudo touch /etc/vdr/reccmds.conf
$ sudo touch /etc/vdr/timercmds.conf


Image:importante.png A questo punto possiamo avviare VDR in 2 modi:

1) esecuzione script “runvdr”

2) esecuzione script personalizzato


file di configurazione

liste canali

Vi consiglio di scaricarirvi delle liste canali dalla sezione VDR Risorse/VDR-Liste canali e poi copiarle nella directory /etc/vdr/ salvando il file con il nome channels.conf.

file disecq.conf

Scaricate dal risorse oppure da Internet un file disecq.conf che rispecchi la configurazione del vostro impianto sat (vedi motori, posizionatori, etc).

file remote.conf"

Questo file di solito viene creato la prima volta che si collega un telecomando che viene riconosciuto da VDR, altrimenti potete semplicemente utilizzare i tasti preconfigurati della tastiera.

file sources.conf

Lo stesso discorso del file disecq.conf vale per il file sources.conf, quindi andate su Intenet e cercate uno che vada bene per il vostro impianto sat.

opzioni osd

Una volta che VDR è funzionante è necessario modificare le voci del menu OpzioniOSD in modo da poter visualizzare correttamente le icone (vedi sezione copia fonts vdrsymbols per maggiori info).


Voce Parametro
Caratteri predefiniti piccoli VDRSymbols Sans: Bold
Caratteri piccoli VDRSymbols Sans
Caratteri fissi VDRSymbols Sans

Rif.Bibliografici

Ringrazio Gringo per il lavoro svolto e l'aver concesso la pubblicazione su questo sito

pagina originale ubuntu 8.04 ss1 2008

Adattamento --Stef 1 nov 2008

Strumenti personali