Linux

Skystar2 και VDR οδηγός

09/11/2010 01:00 μμ | nske από nske


Χρήση sasc-ng

 

  • Κατεβάζουμε το sasc-ng
     
    >cd sasc-ng
    ./configure
    make 
    make module
    cp Sof*Cam.*ey sc_files/
    insmod ./dvbloopback.ko


     

  • Τρέχουμε το sasc-ng με την παράμετρο -i και βλέπουμε τι νούμερο adapter έχει πάρει η skystar.
     
    Για παράδειγμα:
     
    ># ./sasc-ng --help
    # ./sasc-ng -i
    # 0: ST STV0299 DVB-S
    # ./sasc-ng -j 0:1


     
    Και έτσι έχουμε τον adaptor /dev/dvb/adapter1/ στον οποίο στρέφουμε όποια εφαρμογή θέλουμε για να δούμε δορυφορική τηλεόραση.

 

VDR με SC

 

Το σύστημά μου: Slackware 10.1 με πυρήνα 2.6.14.2

 

Υποστήριξη Πυρήνα

 

Απαιτείται πυρήνας 2.6.x με υποστήριξη DVB (είτε module είτε ενσωματωμένη στον πυρήνα).

 

Στην κατηγορία:

Device Drivers->Multimedia Devices->Digital Video Broadcasting Devices

πρέπει να είναι επιλεγμένα τα παρακάτω:

 

+: DVB Core Support

+: Technisat/B2C2 FlexCopII(
B)
and FlexCopIII adapters

+: Technisat/B2C2 Air/Sky/Cable2PC PCI (ή/και USB)

 

Μετά από compile του νέου kernel και των αντίστοιχων modules και επανεκίνηση με lsmod θα πρέπει να έχουν φορτωθεί τα modules για την κάρτα:

 

(Παράδειγμα από το δικό μου σύστημα)

>b2c2_flexcop_pci        7000  14 
b2c2_flexcop           25484  1 b2c2_flexcop_pci
mt352                   6532  1 b2c2_flexcop
bcm3510                10820  1 b2c2_flexcop
stv0299                11208  1 b2c2_flexcop
nxt2002                 9220  1 b2c2_flexcop
stv0297                 8512  1 b2c2_flexcop
mt312                   8132  1 b2c2_flexcop

 

Επίσης αν έχει αναγνωρισθεί η κάρτα στο dmesg θα φαίνεται κάτι παρόμοιο:

 

>b2c2-flexcop: B2C2 FlexcopII/II(B)/III digital TV receiver chip loaded successfully
flexcop-pci: will use the HW PID filter.
flexcop-pci: card revision 2
ACPI: PCI Interrupt 0000:00:0b.0[A] -> GSI 19 (level, low) -> IRQ 17
DVB: registering new adapter (FlexCop Digital TV device).
b2c2-flexcop: MAC address = 00:d0:d7:0b:2b:69
b2c2-flexcop: found the stv0299 at i2c address: 0x68
DVB: registering frontend 0 (ST STV0299 DVB-S)...
b2c2-flexcop: initialization of 'Sky2PC/SkyStar 2 DVB-S' at the 'PCI' bus controlled by a 'FlexCopIIb' complete

 

Δημιουργία των "συσκευών"

 

Έχω τροποποιήσει το script που βρήκα εδώ:http://www.fedoraforum.org/forum/showthread.php?t=3081 .[/b]

 

>
#!/bin/sh
# Create device nodes for the Linux DVB API with DVB_API_VERSION 2.
# The devices created are suitable for most current PC DVB cards,
# i.e. cards having one frontend, one demux and optionally one
# MPEG decoder.
# The script creates devices for four cards by default.

if [ -e /dev/.devfsd ]; then
echo "It seems you are using devfs. Good!"
exit 0
fi

# Get rid of old DVB API Devices; do it twice for good measure...
rm -fr /dev/ost
rm -fr /dev/dvb

mkdir /dev/dvb
chmod 777 /dev/dvb
chown root.video /dev/dvb

for i in `seq 0 0`; do
echo "Creating DVB devices in /dev/dvb/adapter$i"
mkdir /dev/dvb/adapter$i
chown root.video /dev/dvb/adapter$i
chmod 777 /dev/dvb/adapter$i
mknod -m 0600 /dev/dvb/adapter$i/video0 c 212 `expr 64 \* $i + 0`
mknod -m 0600 /dev/dvb/adapter$i/audio0 c 212 `expr 64 \* $i + 1`
mknod -m 0600 /dev/dvb/adapter$i/frontend0 c 212 `expr 64 \* $i + 3`
mknod -m 0600 /dev/dvb/adapter$i/demux0 c 212 `expr 64 \* $i + 4`
mknod -m 0600 /dev/dvb/adapter$i/dvr0 c 212 `expr 64 \* $i + 5`
mknod -m 0600 /dev/dvb/adapter$i/ca0 c 212 `expr 64 \* $i + 6`
mknod -m 0600 /dev/dvb/adapter$i/net0 c 212 `expr 64 \* $i + 7`
mknod -m 0600 /dev/dvb/adapter$i/osd0 c 212 `expr 64 \* $i + 8`
chown root.video /dev/dvb/adapter$i/*
chmod 777 /dev/dvb/adapter$i/*
done

 

Λήψη σχετικών προγραμμάτων

 

Download των παρακάτω προγραμμάτων σε κάποιο σημείο στο σκληρό (π.χ /usr/local/src/):

 

vdr-1.4.0.tar.bz2(
)

DVB-Driver(
)

linuxtv-dvb-apps-1.1.0.tar.bz2 (
)

vdr-sc-0.5.7.tar.gz (
)

vdr-softdevice-0.2.3a.tgz (
)

Πρέπει να είναι εγκατεστημένο το ffmpeg (make install και make installib του ffmpeg για να εγκατασταθούν libraries και headers). Το softdevice δουλεύει με Xv, DirectFB, Vidix ή framebuffer.

 

Εγκατάσταση VDR

Πηγή http://dvbn.happysat.org/viewtopic.php?t=20211

 

- Ετοιμασία των προγραμμάτων για compile (υπόθεση οτι τα παραπάνω έχουν κατέβει στο /usr/local/src)

 

># su -
# cd /usr/local/src

 

VDR

># tar -jxvf vdr-1.4.0.tar.bz2
# ln -s vdr-1.4.0 VDR
# cd VDR
# cp Make.config.template Make.config

 

Με έναν text editor ανοίγουμε το /usr/local/src/VDR/Make.config και αντικαθιστούμε τη γραμμή:

>#DVBDIR   = /usr/src/v4l-dvb/linux

με την ακόλουθη:

>DVBDIR   = /usr/local/src/DVB/linux

 

 

DVB drivers

># cd /usr/local/src
# tar -jxvf hg-v4l-dvb-7b2efa772750.tar.bz2
# ln -s hg-v4l-dvb-7b2efa772750 DVB

 

 

Softdevice

># tar -zxvf vdr-softdevice-0.2.3a.tgz -C VDR/PLUGINS/src
# cd VDR/PLUGINS/src/
# ln -s softdevice-0.2.3a/ soft
# cd soft
# ./configure

 

(Σημείωση: Στο δικό μου σύστημα έβγαλε error οτι δε βρίσκει το πακέτο libavcodec στο PKG_CONFIG_PATH. Αυτό διορθώθηκε γράφοντας τις εντολές:

find /usr -name libavcodec.pc

Τον κατάλογο που επιστράφηκε τον δηλώνω στη μεταβλητή PKG_CONFIG_PATH

 

># export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
και στη συνέχεια πάλι ./configure

Ότι άλλα error βγουν πρέπει να διορθωθούν ώστε να δημιουργηθούν τα αρχεία config.h και config.mak ωστε να δουλέψει σωστά το compile.)

 

SC Plugin

># cd /usr/local/src
# tar -zxvf vdr-sc-0.5.7.tar.gz -C VDR/PLUGINS/src
# cd VDR/PLUGINS/src
# ln -s sc-0.5.7/ sc

 

Patch του VDR

># cd /usr/local/src/VDR
# patch -p1 < PLUGINS/src/sc/patches/vdr-1.3.38-ffdecsa-0.1.3.diff
# patch -p1 < PLUGINS/src/sc/patches/vdr-1.3.38-sc.diff

 

Δημιουργία φακέλου για εγγραφές

Ο προκαθορισμένος φάκελος είναι ο /video

># mkdir /video
# chown root:users /video
# chmod -R g+rw /video

 

Compile tou VDR

>
# cd /usr/local/src/VDR
# make
# make plugins I*DETO=1 SE*A=1 VIA*CESS=1 NA*RA=1 CO*AX=1 S*L=1 CONS*CW=1

(για περισσότερες πληροφορίες /usr/local/src/VDR/PLUGINS/src/sc/README)

 

Ρύθμιση του VDR

Φάκελος Ρυθμίσεων:

># cd /usr/local/src/VDR
# mkdir VDRconf
# cp *.conf VDRconf
# mkdir VDRconf/plugins
# cp Sof*Cam.*ey VDRconf/plugins/

(Προσοχή το case sensitive! Για περισσότερες πληροφορίες /usr/local/src/VDR/PLUGINS/src/sc/README)

 

Επίσης κατεβάζουμε από εδώ (http://vdr.bluox.org/download/?path=vdr-sc/):

Όλα τα n*gra_roms και τα βάζουμε στο VDRconf/plugins/nagra

Όλα τα s*ca_hash και τα βάζουμε στο VDRconf/plugins/seca

 

># mkdir VDRconf/scans
# cd /usr/local/src
# tar -jxzf linuxtv-dvb-apps-1.1.0.tar.bz2
# cd linuxtv-dvb-apps-1.1.0
# make
# cp util/scan/scan ../VDR/VDRconf/scans/
# cp util/scan/dvb-s/* ../VDR/VDRconf/scans
# cd ../VDR/VDRconf/scans
# touch scan-tv
# chmod +x scan-tv

Το scan-tv είναι το εξής script:

 

 

>#!/bin/bash
./scan -v -o vdr -l UNIVERSAL -t 1 -x 1 Hotbird-13.0E > channels-tv.txt
rm channels.sorted
rm ../channels.conf
echo "Sorting channels alphabetically..."
sort -f channels-tv.txt> channels.sorted

declare -i TOTLINES=0
declare -i CNT=0
TOTLINES=`wc -l channels.sorted | awk '{print $1}'`
echo "Total number of channels:"$TOTLINES

echo "Fixing encryption field...."
while [ $CNT -lt $TOTLINES ]; do
CNT=$[$CNT+1]
tail +$CNT channels.sorted | head -n1 | awk -F : '{print $1 FS $2 FS $3 FS $4 FS $5 FS $6 FS $7 FS $8 ":0:" $10 FS $11 FS $12 FS $13 }' >> ../channels.conf
done

 

 

Τώρα τρέχοντας το scan-tv σκανάρει τον Hotbird και αποθηκεύει τα κανάλια στο /usr/local/src/VDR/VDRconf

 

 

Εκκίνηση

># echo "killall vdr" > killvdr
# chmod +x killvdr
# mv runvdr runvdr.orig
# touch runvdr
# chmod +x runvdr
# vim runvdr

και γράφω το παρακάτω script μέσα στο νέο runvdr:

>#!/bin/bash
./vdr -w 20 -s ./killvdr -c ./VDRconf -P 'softdevice -vo xv:' -Psc 

 

Εκτέλεση του VDR

 

># cd /usr/local/src/VDR
# ./runvdr
Μας ζητά να δώσουμε τα πλήκτρα για τις διάφορες λειτουργίες
Παράδειγμα:
     UP - up arrow
     Down - Down arrow
     Menu - HOME
     Ok - Enter
     Back - Backspace
     Left - Left arrow
     Right - Right arrow
     Red - m
     GReen - ,
     Yellow - .
     Blue - /
     Language l
     Channels '
     Info i
     number 0-9 - 0-9
     Volume+ - +
     Volume- - -
     Mute - *
     Power q

 

Τερματισμός του VDR

Με το πλήκτρο q

 

Καλή θέαση!