handdator

Visa fullständig version : HTPC med Debian Linux + VDR + SC m.m.



mami
2005-11-11, 15:32
Denna guide är med lämplig för VDR version 1.3.44

------------------------------------------------------
OBS!
------------------------------------------------------
Fråga inget om detta här (i Guider avdelningen) utan fråga i passade forums del.
Ex. Övrigt för VDR frågor med en bra rubrik. :wink:
-------------------------------------------------------

Edit 09.03-06:
Ändrat hela för kompilering av VDR-1.3.44
Annan hemsida att hämta EPG från (mera kanaler)
Fixat en del kommandon som var fel/saknades

Edit 24.03-06:
Fixat stavfel

Edit 30.03-06:
Satt till info ifall det visar fel tid i vdr med xmltv2vdr (EPG)

-------------------------------------------------------

Här kommer en komplett guide på att få igång VDR under linux.
Vissa filer har jag laddat upp i ComHit's Filarkiv under Linux.

Tyvärr så fattas vissa delar vid installationen av Debian, Kernel m.m.
Men bara man läser så klara man nog av dem utan problem.
Stavfel kan också förekomma.

Sen har det varit funderingar om man kan använda denna guide för DVB-C & -T
Detta går bra, bara du kompilerar kernel för ditt kort i stället.
Kolla även hur det är med Firmware till ditt kort, kan vara samma.
Om du inte har ett FF (full future) card så måste du ha andra saker till VDR också så som framebuffer stöd + något program som kan visa bilden via grafikkortet (ex. FBTV).

-------------------------------------------------------
Min dator:
-------------------------------------------------------
Intel Pentium4 1.6Ghz
Asus P4S800-MX Moderkort (matx)
512mb DDR minne
1x Nexus-s DVB-S kort
1x TwinhanDTV DVB-C kort (w/o CI)
20Gb hårddisk
Sony DVD-Rom (region free)
Torn: Enlight Media Center

Om tornet:
MATX
1x5.25" plats
2x3.5" plats
Minnes kort läsare 8-in-1 (tar en 3.5" plats)
250W Power

Står inget på hemsidan om Minnes kort läsaren med den var med mitt som standard iaf.
Står även bara 200W power, så kolla vad ni får med om ni är intresserade av detta.
http://nl.enlightcorp.com/Product/Product_Detail.aspx?ID=131


Om Nexus-S kort:
Jag har 3 olika nexus-s kort (version 2.1).
Ett är söndrigt (klagar på EEPROM i linux).
De andra två fungerar men är olika kretsar på dem.
Ett är gamlare än det andra och detta gör dem lite olika.
Har haft problem med svart skärm och att kortet har "släkt" av sig själv med det gamlare nexus-s.
Bytte till det nyare och nu har jag inte haft ett enda problem med svarta rutor eller annat.
Så har ni problem med svarta rutor och att kortet stänger av sig själv efter ett tag så byt kort.


-----------------------------------------------
Install Debian Linux
-----------------------------------------------

Ladda ned netinstall versionen å bränn den på cd.
Finns här: http://www.debian.org/CD/netinst/
debian-31r0a-i386-netinst.iso <--- filen du skall ha för Intel/AMD (x86)

Boota med cd:n
Kör installations guiden till slut.

Detaljerad guide av installation (engelsk)
http://www.debian.org/releases/stable/i386/index.html.en

OBS!
Var noga med Versaler & Gemener i linux


När klart:



apt-setup <--- om inte apt-get är confad
apt-get update <--- uppdaterar vilka paket som finns
apt-get upgrade <--- uppdaterar installerade paket till nyaste

apt-get install joe ssh bzip2 make libncurses5-dev hotplug gcc


Kompilera kernel:



cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-<version>.1.tar.bz2
tar -jxvf linux-<version>.1.tar.bz2
ln -s <kernel mapp> linux
cd linux
make menuconfig


----------------------------------------------------------------------------
Nödvändigt i kerneln:
----------------------------------------------------------------------------
Kompilera alla med DVB-x kort som Moduler!
Annars så funkar de inte!

Har laddat upp min kernel.conf fil (om du kan se den?)
Editera den enligt dina behov/dator

Code maturity level options --->
|| Prompt for development and/or incomplete code/drivers
|| Select only drivers expected to compile cleanly

General setup --->
|| --- Support for hot-pluggable devices

Lodable module support --->
|| Enable loadable module support
|| Module unloading
|| Automatic kernel module loading

Bus Options --->
|| PCI Support
|| PCI Hotplug Support --->
|| || <*> Support for PCI Hotplug

Device drivers --->
|| Generic Driver Options --->
|| || Prevent firmware from being built
|| || <*> Hotplug firmware loading support
||
|| Input device support --->
|| || <*> Event interface (<--- om du vill kolla på tv i monitorn!)
||
|| I2C support --->
|| || <M> I2C support
|| || <M> I2C device interface
||
|| Multimedia devices --->
|| || <*> Video For Linux
|| || Digital Video Broadcasting Devices -->
|| || || DVB For Linux
|| || || <M> DVB Core Support
|| || || [M] AV7110 cards
|| || || AV7110 OSD support
|| || || <M> Budget cards
|| || || <M> AV7110 cards whit Budget Patch
|| || || <M> BT8xx based PCI cards
|| || || Customise DVB Frontends ---> (sätta alla som moduler!)
||
|| Graphics support --->
|| || <*> Support for frame buffer devices


Hoppas jag inte missat nått + att det kan vara något som inte behövs här med!

----------------------------------------------------------------------------------

När klart...



make
cp arch/i386/boot/bzImage /boot/kernel.2.6.14
make modules
make modules_install

joe /boot/grub/menu.lst
Editera in den nya kerneln.


kopiera in firmware till Nexus-s
Du behöver följande fil: dvb-ttpci-01.fw
Finns på nätet



cp /<var filen finns>/dvb-ttpci-01.fw /usr/lib/hotplug/firmware/

reboot


Starta DVB-C kortet måste man göra själv eller sätt in det i följande fil, så autostartar det.


joe /etc/modules
sätt in i slutet: dvb-bt8xx


Kolla om några fel medelanden!
Kanske du glömt något?
Annars BRA =)

-----------------------------------
SAMBA
-----------------------------------
Vill du flytta över filer från en annan dator via windows fildelning?
Installera isf Samba



apt-get install samba
joe /etc/samba/smbd.conf
Editera
ta bort ; från security = user
writable = yes på hemområden

/etc/init.d/samba restart

smbpasswd -a <användare>
Sätt en linux användare som du lagt till i systemet tidigare + samma lösenord.


klart!

---------------------------------
VDR
---------------------------------

Du behöver:
vdr-<version>.tar.bz2
linux-dvb.2004-12-26.tar.bz2

OBS!
Gör någon backup nu som då ifall nått går fel i de olika stegen.



cd /usr/src
cp -rp vdr-<version> vdr-<version>.bakup


Annars kör vi på....



cd /usr/src


Download dvb driver




wget ftp://ftp.cadsoft.de/vdr/linux-dvb.2004-12-26.tar.bz2
tar -jxvf linux-dvb.2004-12-26.tar.bz2
ln -s linux-dvb.2004-12-26 DVB
cd DVB
ln -s /usr/src/linux/include include
cd driver
./makedev.napi
cd /usr/src


Download vdr



wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-<version>.tar.bz2 (1.3.x)
tar -jxvf vdr-<version>.tar.bz2
cd vdr-<version>
apt-get install g++ libjpeg62-dev ccache libcap-dev
make
make plugins <plugins options>
mkdir /etc/vdr
mkdir /usr/lib/vdr
mkdir /video
cp vdr /usr/bin
cp *.conf /etc/vdr
cp PLUGINS/lib/* /usr/lib/vdr


Make channels.conf före start



cd /usr/src/DVB/apps/scan
joe dvb-x/<fil med rätt transponder info>

Format på filen: freq pol sr fec
ex: S 12054000 V 27500000 3/4

make scan
./scan -o vdr -e 3 dvb-s/<satelit> > channels.conf
cp channels.conf /etc/vdr/


Starta VDR



vdr -v/video0 -c/etc/vdr -L/usr/lib/vdr -w900 -P<plugin namn>

-P<plugin namn> = nytt -P för varje enskilt plugin
-t /dev/tty7 = tangentbordet tas från tty7 (alt+f7) för att få bort koderna till det...


-----------------------------------
Bra patchar till vdr
-----------------------------------
vdr-<version>-ac3-fw.diff <--- AC3 ljud från FF kort.


--------------------------------------------------------------------------------------------
Nu funkerar ditt VDR! Om du har editerat *.conf i /etc/vdr rätt, men bara med FTA kanaler
--------------------------------------------------------------------------------------------

--------------------------
Lägg till plugins:
--------------------------

Plugin error? gör detta:



make clean
make plugins-clean
(starta igen)


-------------------------------
Remote plugin
-------------------------------
Detta behövs om du har fjärrkontoll som är kopplad till ditt kort
Nexus-S använder denna.




cd /usr/src/vdr-<version>/PLUGINS/src
wget http://escape-edv.de/endriss/vdr/vdr-remote-<version>.tgz
tar -zxvf vdr-remote-<version>.tgz
ln -s vdr-remote-<version> remote
cd /usr/src/vdr-<version>
make clean
make
make plugins <plugins options>
cp PLUGINS/lib/libvdr-remote.so.<vdr-version> /usr/lib/vdr/
rm /etc/vdr/remote.conf


starta vdr och lägg till -Premote till plugins options.
Håll ned en knapp på fjärren tills vdr hittar den, sen bara att confa.


-----------------------
SC (SoftCam) plugin
-----------------------

Ladda ned vdr-sc-<version>.tar från nätet
Sätt det i:



/usr/src/vdr-<version>/PLUGINS/src/


Du behöver också OpenSSL



cd /usr/src
wget http://www.openssl.org/source/openssl-<version>.tar.gz
tar -zxvf openssl-<version>.tar.gz
cd openssl-<version>
./config --prefix=/usr/local -enable-share -enable-idea
make
make test
make install


Vi fortsätter med SC:



cd /usr/src/vdr-<version>/PLUGINS/src
tar -zxvf vdr-sc-<version>.tar.gz
ln -s sc-<version>/ sc
cd ..
cd ..
apt-get install patch zlib1g-dev
make clean
make plugins-clean
patch -p 1 < PLUGINS/src/sc/patches/vdr-1.3.38-sc.diff
patch -p 1 < PLUGINS/src/sc/patches/vdr-1.3.38-ffdecsa-0.1.3.diff (om du har budget kort också)
make


För Cardsharing server



make plugins <options>
ex: make plugins IRDETO=1 SECA=1 VIACCESS=1 NAGRA=1 CONAX=1 SHL=1 CONSTANTCW=1 CARDCLIENT=1 DBG=1
(klarar även NDS med denna)


Kopiera den nya VDR + SC pluginnet

Fixa konfigurations filen för Cardsharing



cp PLUGINS/src/sc/examples/cardclient.conf.example /etc/vdr/plugins/
cd /etc/vdr/
mv plugins/cardclient.conf.example plugins/cardclient.conf
joe plugins/cardclient.conf
konfigurerar den så den passar dig!


Fixa setup.conf



joe setup.conf
lägg till:
CaCaps = 0 0
sc.ScCaps = 1 1


Editera channels.conf



0 = free
1 = kodad
ändra 1 till caid på kanalen.
ex. Viasat = ZTV Sverige:12054:v:S5.0E:27500:1161:1162:1166:1:1160: 86:0:0
Viasat = ZTV Sverige:12054:v:S5.0E:27500:1161:1162:1166:090F:11 60:86:0:0


För mera info läs:



/usr/src/vdr-<version>/PLUGINS/src/sc/README & INSTALL m.m.


-------------------------------------------
TeleTxtSubs
-------------------------------------------
Detta behövs för att se texten på kanaler som du får välja språk på och använder teletext subtitles.
Ex. Viasat

Du behöver:
vdr-ttxtsubs-<version>.tgz
vdr-<version>-subtitles-<version>-and-ttxtsubs-0.0.5.diff.gz
vdr-ttxtsubs-0.0.5-pilikumi-edition.diff.gz

Finns på http://solplats2.nada.kth.se/pub/home/ragge/vdr/
Patch på http://www.saunalahti.fi/~rahrenbe/vdr/patches/




zcat vdr-<version>-subtitles-<version>-and-ttxtsubs-0.0.5.diff.gz | patch
cd PLUGINS/src/ttxtsubs
zcat vdr-ttxtsubs-0.0.5-pilikumi-edition.diff.gz | patch
cd /usr/src/vdr-<version>
make clean
make plugins-clean
make include-dir
make
make plugins <options>


vet ej hur man ändrar stoleken på texten

-------------------------------------------------------
Andra bra plugins:
-------------------------------------------------------

vdr-channelswitcher-<version> <--- ha flera kanal listor att ändra mellan.
vdr-channelscan-<version> <--- scanna kanaler i vdr
vdr-rotor-<version> <--- För er med diseqc motor, kräver patch.
vdr-savechannel-<version> <--- spara kanalen som du tittar ifall vdr krachar!
vdr-subtitles-<version> <--- DVB undertext

---------------------------------------------------------
Start/Stop Script
---------------------------------------------------------
På denna sidan finns ett script som jag använder.
http://www.markku.iki.fi/markku/vdr/

Stoppa VDR före du gör detta
Starta det när det är klart med /etc/init.d/vdrd start|stop|restart eller starta om datorn.

Med denna kod får du vdr att starta automatiskt när datorn startar:

Ladda ned runvdr.sh & vdrd
Editera dessa filer:



cd /root
wget http://www.markku.iki.fi/markku/vdr/runvdr.sh
wget http://www.markku.iki.fi/markku/vdr/vdrd
joe runvdr.sh
Ta bort cd /home/vdr/vdr-1.3.27
Ändra: ./vdr -s"/home/vdr/shutdown.sh" -w 30 -p 0
Till: vdr -w900 -p0 -v/video0 -c/etc/vdr -L/usr/lib/vdr -w900 -t/dev/tty7 -P<plugin>
Spara

joe vdrd
Ändra alla /home/vdr/runvdr.sh
Till: /etc/vdr/runvdr.sh
Spara

cp vdrd /etc/init.d/
cp runvdr.sh /etc/vdr/
update-rc.d vdrd defaults <nr>


Thnx to Markku for script...


För att stanna datorn från vdr:

Du måste ha ACPI kompilerat i kernel för att datorn skall släcka av sig själv.
Sedan gör följande ändringar till VDR:




cd /etc/vdr/
joe remote.conf
Sök upp om du har Power Knappen på fjärrkontrollen insatt här & ändra den till följande knapp
remote-event<ditt nummer>.Commands <kod till fjärr>
ex. min: remote-event0.Commands 000000010001003E
Spara

joe commands.conf
Detta är en ny/tom fil
Sätt in denna kod:
1 Restart VDR System : shutdown -r now # Reboots the System.
2 Shutdown VDR System : shutdown -h now # Shuts the System down.
Spara


KLART!
När du trycker på Power knappen så kommer det en meny upp med de alternativen som blev insatta i commands.conf.
Du kan editera in vad du vill i den bara det är linux kommandon!
Raden skall se ut såhär: <nummer> <text i vdr rutan> : <linux kommando> #kommentarer

--------------------------------------------------------------------------
EPG från internet
--------------------------------------------------------------------------
OBS! VDR måste vara igång när detta körs
Kör jag med tv_grab_se_dagenstv från http://xmltv.axnet.nu/




apt-get install xmltv
cd /usr/src
wget ftp://ftp.cadsoft.de/vdr/Tools/xmltv2vdr-1.0.6.tar.gz
tar zxvf xmltv2vdr-1.0.6.tar.gz
cd xmltv2vdr-1.0.6
wget http://xmltv.axnet.nu/tv_grab_se_dagenstv
tv_grab_se_dagenstv --configure
Välj vilka kanaler du vill ha

tv_grab_se_dagenstv > channels.xml
cp /etc/vdr/channels.conf channels.conf.dagenstv

Dagenstv version
tv_grab_se_dagenstv --list-channels

Annan version
grep "channel id" channels.xml |awk -F\" '{print ":"$2}'

joe channels.conf.dagenstv
Sätt in de listade kanalerna efter varje kanal i filen.
ex
före: TV3 Sverige:12054:v:S5.0E:27500:1101:1102:1106:90F:110 0:86:5:0
efter: TV3 Sverige:12054:v:S5.0E:27500:1101:1102:1106:90F:110 0:86:5:0:26.dagenstv.com

joe /etc/vdr/runvdr.sh
ändra -p0 till -p2001 för vdr

joe update_epg.sh
#!/bin/sh
# Use xmltv and xmltv2vdr to uppdate vdr epg.data
#
# channel info is collected from http://dagenstv.com by the tv_grab_se_dagenstv xml

# Uppdate channel info
tv_grab_se_dagenstv --config-file /root/.xmltv/tv_grab_se_dagenstv.conf > /usr/src/xmltv2vdr-1.0.6/channels.xml

#"Feeding into VDR via SVDRP"
/usr/src/xmltv2vdr-1.0.6/xmltv2vdr.pl -x /usr/src/xmltv2vdr-1.0.6/channels.xml -c /usr/src/xmltv2vdr-1.0.6/channels.conf.dagenstv -p 2001

Spara

chmod 755 update_epg.sh
./update_epg.sh


Kan komma lite fel, men bara att ignorera.
Om allt gått bra så skall du nu kunna se infon i VDR

Är din tid fel när den visas i VDR?
sätt -a <-/+ min> efter xmltv2vdr.pl i update_epg.sh
ex: -a -60 <--- ändrar tiden bakåt 60 minuter.

För att uppdatera den automatiskt från crontab på vissa tider.




crontab -e
15 9 * * * /usr/src/xmltv2vdr/update_epg.sh > /dev/null 2>&1


Hur crontab är uppbyggt:

* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)



-------------------------------------------------------
Annan bra info:
-------------------------------------------------------
kommandon för olika patchningar:
<patch>.diff.bz2 = bzcat <filnamn>.diff.bz2 | patch
<patch>.diff.gz = zcat <filnamn>.diff.gz | patch
<patch>.diff = patch -p0 < <filnamn>.diff

-------------------------------------------------------

För mer info om VDR: http://www.linuxtv.org/vdrwiki/index.php/Main_Page

Bara att kolla på =)