Χρήση 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
πρέπει να είναι επιλεγμένα τα παρακάτω:
Μετά από 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
Πηγή 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
Καλή θέαση!