понеділок, 28 грудня 2015 р.

SkyStar 2 eXpress HD w Linux


Zbiórka i instalacja modułów jadra dla dvb-karty SkyStar 2 eXpress HD. Jak to zrobić jest opisano w tym wiki.
Dla SUSE to niczym się nie odróżnia ale ja opisze swój wariant.
Najpierw budujemy swoje środowisko developerskie, dla tego z konta root wykonujemy następne komendy

# zypper in -t pattern devel_C_C++ devel_basis devel_kernel devel_perl devel_rpm_build
# zypper in mercurial



Kiedy zostanie wszystko zainstalowane wracamy do zwykłego użytkownika, ściągamy źródła i budujemy moduł Perl Proc::ProcessTable. Ten moduł nam potrzebny będzie przy zbiórce modułów jadra.


$ wget -P Downloads/ http://search.cpan.org/CPAN/authors/id/J/JW/JWB/Proc-ProcessTable-0.53.tar.gz
$ mkdir stuff
$ cd stuff/
$ tar -zxvf ~/Downloads/Proc-ProcessTable-0.53.tar.gz
$ cd ~/stuff/Proc-ProcessTable-0.53
$ perl Makefile.PL
$ make
$ make test
$ su -
# cd /home/user/stuff/Proc-ProcessTable-0.53
# make install

  Teraz można przestępować do budowania modułów dla dvb-kart
$ cd ~/stuff
$ hg clone http://linuxtv.org/hg/%7Eendriss/media_build_experimental_work
$ cd media_build_experimental_work
$ make download
$ make untar
$ make
$ su -
# cd /home/user/stuff/media_build_experimental_work
# make install 


Po instalacje przeładujemy komputera i u nas musi się zjawić urządzenie /dev/dvb/adapter0


$ ls -R /dev/dvb

/dev/dvb:
adapter0

/dev/dvb/adapter0:
demux0 dvr0 frontend0 net0

.
Żeby to przetestować potrzebujemy oprogramowania dla oglądania telewizji, temu dodajemy repozytorium packman i instalujemy niezbędne pakiety. Tutaj można przeczytać o dodatkowych repozytoriach 



# zypper ar -f -n packman http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_13.2/ packman
# zypper in dvbcut dvbsnoop dvbstream dvb vdr



Najpierw otrzymujemy spisek kanałów przy pomoce dvbscan

$ dvbscan -s 3 /usr/share/dvb/dvb-s/Astra-19.2E > Astra-`date +%F`.conf

using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
ERROR: cannot parse'S2 10729000 V 22000000 2/3 8PSK
'
initial transponder 10744000 H 22000000 5
initial transponder 10759000 V 22000000 5
ERROR: cannot parse'S2 10773000 H 22000000 3/4 8PSK
'
initial transponder 10788000 V 22000000 5
ERROR: cannot parse'S2 10803000 H 22000000 3/4 8PSK
8< ------ 8< ------ 8< ------ 8< ------ 8<
nieco wycięto
8< ------ 8< ------ 8< ------ 8< ------ 8<
DVB-S IF freq is 1841000
Network Name 'ASTRA 1'
0x044e 0x1965: pmt_pid 0x0064 CSAT -- NAT GEO WILD (???, scrambled)
0x044e 0x1966: pmt_pid 0x00c8 CSAT -- MEZZO LIVE (???, scrambled)
0x044e 0x1967: pmt_pid 0x012c CSAT -- M6 MUSIC (???, scrambled)
0x044e 0x1968: pmt_pid 0x0190 CSAT -- DJAZZ.TV (???, scrambled)
0x044e 0x1969: pmt_pid 0x01f4 CSAT -- SERIE CLUB (???, scrambled)
0x044e 0x196a: pmt_pid 0x0258 CSAT -- OCS MAX (???, scrambled)
8< ------ 8< ------ 8< ------ 8< ------ 8<


W rezultacie otrzymujemy plik Astra-2015-12-27.conf, co mieści świeże listę kanałów zdjęte z 4-go portu DiSEqC-a (opcja -s 3). Сzyli liczba idzie od zera, dla przykładu do 1-go portu DiSEqC-a u mnie podłączona głowica naprawiona na satelitę Amos 4W, dla niej będę wykorzystana opcja -s 0.


$ dvbscan -s 0 /usr/share/dvb/dvb-s/Amos-4w > Amos-`date +%F`.conf

U Państwa mogę być ustawione głowicy na inne porty DiSEqC-a, temu opcje -s będę swoje. Pliki z danymi satelitów zawarte w katalogu /usr/share/dvb/dvb-s/, z tego tez trzeba wybrać swój.

Po zakończeniu skanowania przeglądamy otrzymane pliki

$ cat /home/user/Hotbird-2015-12-27.conf

Discovery Channel:10719:v:2:27500:175:140:4416
TVP Regionalna:10719:v:2:27500:170:120:4411
TVP INFO:10719:v:2:27500:169:116:4410
TVS:10719:v:2:27500:162:88:4403
KINO POLSKA:10719:v:2:27500:164:96:4405
TV PULS:10719:v:2:27500:171:124:4462
TV PULS:10719:v:2:27500:171:124:4412
TVP SPORT:10719:v:2:27500:161:84:4402
8< ------ 8< ------ 8< ------ 8< ------ 8<

Widzimy mnóstwo znalezionych kanałów, próbujemy podłączyć się do jednego z nich,do kanału TV PULS za pomocą szap.

$ szap -r -x -c /home/user/Hotbird-2015-12-27.conf TV\ PULS

reading channels from file '/home/user/Hotbird-2015-12-27.conf'
zapping to 6 'TV PULS':
sat 2, frequency = 10719 MHz V, symbolrate 27500000, vpid = 0x00ab, apid = 0x007c sid = 0x116e
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
status 1f | signal 9999 | snr 6058 | ber 00000000 | unc 00000000 | FE_HAS_LOCK

Jeżeli w końcu wyświetlonego wiersza otrzymujemy FE_HAS_LOCK, to kanał jest podłączony, wszystko pracuje i możemy zdejmować video-strumienie i patrzeć telewizje satelitarne. Jak to zrobić napisze następnym razem.


# zypper in tvheadend tvheadend-debuginfo vlc vlc-codecs phonon-backend-gstreamer phonon-backend-vlc
# zypper in kodi kodi-pvr.addons