Instalacja Kaffeine 0.8.8 oraz newcs. Cyfra+ i Linux.
We wcześniejszym wpisie omawiałem sposób instalacji karty DVB-S Skystar2 w Arch Linux. Sposób jest ten w pełni legalny gdyż jest to jedynie odczyt legalnej karty kodowej w celu odkodowania obrazu przez kartę DVB.
Dzisiaj przyszedł czas na trudniejsze wyzwanie: instalację oprogramowania do obsługi tej karty. Zaznaczam przy tym, że to jest moja droga a Ty możesz dokonać tego w inny, sprawdzony dla ciebie sposób.
Wpis będzie przydatny także osbom, które posiadają inny system operacyjny (konfiguracja newcs) a także inną telewizję np: Telewizję na Kartę.
Trochę teorii.
Nie jestem zbytnim ekspertem w tej dziedzinie ale postaram się wytłumaczyć kilka istotnych rzeczy.
Phoenix – urządzenie w którym umieszczamy kartę kodową wybranej telewizji (artykuł dotyczy Cyfry+). Na dzień dzisiejszy z polskich TV jeszcze TNK oferuje pozostałą możliwość, gdyż podobnie jak i Cyfra+ nie “paruje” swoich kart z dekoderami.
NewCS jest to programowy czytnik kart (software card reader) z podłączonego przez USB Phoenix-a (ale i nie tylko).
Oprogramowanie:
Kaffeine 0.8.8 – ostatnia wersja kaffeine przed 1.x. Niestety nie powstała jeszcze odpowiednia wtyczka na Kaffeine 1.x z tego względu należy się zaopatrzyć właśnie w tą wersję.
kaffeine-sc-plugin-0.4.0 – i wyższa. plugin do kaffeine współpracujący z serwerem newcs.
NewCS 1.66 – i wyższa. Serwer NewCS. Dostępne są różne wersje (procesory/proty). Ja użyłem newcs.i686.usb.
Poniżej znajdują się pliki do pobrania. Jako, że jest to wpis dla 2 platform: Archlinux i Ubuntu ściągnijcie rozważnie.
Do pobrania ArchLinux/Ubuntu:
Do pobrania Ubuntu/Debian
kaffeine_0.8.8-0ubuntu1~mtron2_i386.deb
kaffeine-sc-plugin-0.4.2-svn_0.4.2-SVN-1_i386.deb
Instalacja w Archlinux
Instalacja kaffeine
Potrzebujemy spełnić na początku zależności tak więc ściągmy paczki: kdelibs3 libcdio libxtst xine-lib
# su - # pacman -S kdelibs3 libcdio libxtst xine-lib # mkdir kaffeine # cd kaffeine # wget http://aur.archlinux.org/packages/kaffeine-kde3/PKGBUILD # chmod +x ./PKGBUILD # makepkg PKGBUILD # sudo pacman -U kaffeine-kde3-0.8.8-1-i686.pkg.tar.xz
Powinniśmy mieć już zainstalowane kaffeine. Teraz pozostaje najtrudniejsza część instalacja pluginu sc. Normalnie proponował bym ściągnięcie PKGBUILDa ale w tym momencie raczej konieczne będzie ściągniecie paczki tar.gz ze względu na modyfikacje jakie musimy poczynić. Nie obawiajcie się nie jest to wcale trudne.
cd .. mkdir kaffeine-sc cd kaffeine-sc wget http://kaffeine-sc-plugin.googlecode.com/files/kaffeine-sc-plugin-0.4.0.tar.gz tar -xvf kaffeine-sc-plugin-0.4.0.tar.gz cd kaffeine-sc-plugin-0.4.0 gedit kaffeine-sc-plugin-0.4.0/src/FFdecsa/Makefile
Tutaj musimy zmienić 2 rzeczy.
Pierwsza: kompilator. U mnie należało zahashować linijkę z g++-3.4 a odhashować g++
COMPILER=g++ #COMPILER=g++-3.4
Po drugie należy wybrać platformę (procesor – a dokładnie instrukcje jakie obsługuje niezbędne od sprawnego odkodowywania).
#FLAGS += -march=pentium-mmx #FLAGS += -march=pentium2 #FLAGS += -march=pentium3 FLAGS += -march=pentium4 #FLAGS += -march=prescott #FLAGS += -march=athlon #FLAGS += -march=athlon-xp #FLAGS += -march=athlon64
U mnie jak widzieliście jest to pentium4 u Was może być coś innego. Najlepiej się upewnić przez wynik polecenia:
less /proc/cpuinfo – które udzieli nam informacji o procesorze. Więcej tutaj: http://pl.wikipedia.org/wiki/X86
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz stepping : 10 cpu MHz : 2999.266 cache size : 6144 KB physical id : 0
Wydajemy niezbędne polececenia aby nie było błędów związanych z dowiązaniem do bibliotek Qt (na których oparty jest kaffeine).
source /etc/profile.d/qt3.sh export QMAKESPEC=/opt/qt/mkspecs/linux-g++
Kompilujemy:
./configure --without-arts make sudo make install
Plugin w postaci bibliotek powinien znaleźć się w katalogu: /opt/kde/lib/kde3/
Oto i one:
libkaffeinedvbsc.la libkaffeinedvbsc.so libkaffeinedvbsc.so.0 libkaffeinedvbsc.so.0.0.0
Niestety zauważyłem pewną przypadłość. Otóż kaffeine w trybie TV uruchomił się raz a drugi raz już nie chciał. W konsoli pojawił się błąd:
kaffeine: symbol lookup error: /usr/lib/xine/plugins/1.29/xineplug_inp_dvb.so: undefined symbol: xine_get_homedir
Okazało się, że winny jest plik ~/.xine/catalog.cache w nim zapis:
[/usr/lib/xine/plugins/1.29/xineplug_inp_v4l2.so] size=8028 mtime=1291005555 type=1 api=17 id=v4l2 version=10119 input_priority=4000
Kaffeine po zakończeniu swojej pracy nadpisuje plik catalog.cache i zmienia wartość dotyczącą pliku xineplug_inp_v4l2.so na size=8028. Postanowiłem w skrypcie związanym z uruchomieniem kaffeine kopiować ten plik z tego samego pliku ale pod inną nazwą.
Utworzyłem plik ~/.xine/catalog.cache1 ze zmienioną wartością size=20000.
cp ~/.xine/catalog.cache ~/.xine/catalog.cache1 gedit ~/.xine/catalog.cache1
zmieniamy wartość
Tworzymy skrypt do uruchomienia kaffeine
sudo gedit /usr/bin/kaffeine.sh
W pliku zapisujemy
#!/bin/bash cp ~/.xine/catalog.cache1 ~/.xine/catalog.cache cd /opt/kde/bin/ ./kaffeine &
Konfiguracja Kaffeine.
Po uruchomieniu trybu TV, klikamy w menu DVB/Configure DVB a tam po lewej stronie w “DVB Plugins”. Powinna być dostępna wtyczka “Softcam 0.4.0″ Dodajemy nowy wpis: new entry. Uzupełniamy ją o wartości:
hostname: localhost user: dummy2 password: dummy port: 12010 config key: 0102030405060708091011121314 ca: 100 ProvId: 68
Instalacja NewCS
Ściągmy plik newcs-1_67RC1.zip
wget http://www.skystar.org/arsiv/index.php?dir=cardsharing/newcs/&file=newcs-1_67RC1.zip unzip newcs-1_67RC1.zip
kopiujemy plik
sudo cp newcs-1.67_RC1/bin/newcs.i686.usb /usr/bin/newcs sudo chmod +x /usr/bin/newcs
ściągamy plik niezbędny do działania newcs
wget http://cytrynek.rapidmedia.pl/newcs.xml sudo cp newcs.xml /etc sudo chmod 666 /etc/newcs.xml
uruchaniamy newcs
sudo newcs
W w ustawieniach pliku newcs.xml
<newcamdserver> <enabled>Yes</enabled> <name>newcs</name> <deskey>01 02 03 04 05 06 07 08 09 10 11 12 13 14</deskey> <user><status>access</status> <name>dummy2</name> <password>dummy2</password> <au>on</au> <sidoverride>on</sidoverride> <spider>on</spider> <rate>2</rate> <port>12010</port> </user>
<deskey> -Data Encryption Systems. Software protection and data protection devices. Klucz zabezpieczający urządzenia. Standardowo wypełniony od 01 do 14
Użytkownik ma <status> access – czyli ma dostęp
Nazwa i hasło użytkownika to dummy2
Jak ktoś miał wcześniej ten plik to musi wykasować sekcję <pincode>0000</pincode>. Niestety ja tego nie zrobiłem i straciłem dobre 2h na kombinowanie
Program powinien wyświetlić coś takiego:
cyt@cytarch ~]$ sudo newcs This is NewCS 1.66 [Build: 82] - the New CardServer by the Butter-team.. Compiled on May 22 2009 at 11:54:29 Reading Config file from /etc/newcs.xml TCP-log password is enabled, set to: NewCSpwd level: internal type: all output: console,tcp logger config: level 16777215 type 255 output 5 Console log options: level 16777215 type 255 TCP log options: level 1 type 255 [ 10:16:11 ] [ Box detect ] Box type 1 (General Boxtype - Generic) [ 10:16:11 ] [ Config ] Option <blockc0> for device 0 (Phoenix on USB) not present, defaulting to NO [ 10:16:11 ] [ Config ] Option <crypto-special> for device 0 (Phoenix on USB) not present, defaulting to NO [ 10:16:11 ] [ Config ] Option <sid> for device 0 (Phoenix on USB) not present, no static sids added to filter [ 10:16:11 ] [ Config ] Option <protectedsid> for device 0 (Phoenix on USB) not present, no PIN Code will be sent [ 10:16:11 ] [ Config ] /dev/ttyUSB0 ECM priority: round [ 10:16:11 ] [ DNS ] Resolved Hostname localhost to: 127.0.0.1 [ 10:16:11 ] [ Newcamd ] Server name : newcs [ 10:16:11 ] [ Newcamd ] Des key : 0102030405060708091011121314 [ 10:16:11 ] [ Config ] Option <hostname> or <port> not present for User: dummy2, DISABLING reverse login [ 10:16:11 ] [ Config ] Option <readers> not present for User: dummy2, NO reader control enabled [ 10:16:11 ] [ Newcamd ] User 2: dummy2, Pass: dummy2, Host none, Port: 12010, Au: On, Spider allowed: Yes, Sidoverride: Yes, level: 0 [ 10:16:11 ] [ httpd ] httpd-user: newcs, password: newcs, accesslevel: admin [ 10:16:11 ] [ httpd ] httpd-user: cyt, password: wolnaamerykanka, accesslevel: admin [ 10:16:11 ] [ EMM Cache ] Initialising dynamic Cache [ 10:16:11 ] [ ECM Cache ] Initialising dynamic Cache [ NewCS ] Process ID is: 8191 [ 10:16:11 ] Calibrating delay loops [ 10:16:11 ] usleep(5) takes: 0 s 6 us [ 10:16:11 ] usleep(10) takes: 0 s 11 us [ 10:16:11 ] usleep(100) takes: 0 s 108 us [ 10:16:11 ] usleep(500) takes: 0 s 500 us [ 10:16:11 ] Allocation memory for 200 regular users [ 10:16:11 ] [ Loader ] Starting Telnet on port 1001 [ 10:16:11 ] [ SockSrv ] Server thread started [ 10:16:11 ] [ Loader ] Started HTTP-server on port: 8080 [ 10:16:11 ] [ Loader ] Reader type 2 on node /dev/ttyUSB0 [ 10:16:11 ] [ CardMan ] Reseting reader parameters [ 10:16:11 ] [ Phoenix ] Opening device /dev/ttyUSB0 [ 10:16:11 ] [ Phoenix ] Setting Parity to: ODD [ 10:16:11 ] [ Phoenix ] Setting 2 Stop bits on node /dev/ttyUSB0 [ 10:16:11 ] [ Phoenix ] Setting Baud to standard 9600 [ 10:16:12 ] [ Phoenix ] Normal RESET on node /dev/ttyUSB0 [ 10:16:13 ] [ Serial ] Read on fd 5 (len=16 timeout=5300ms) [ 10:16:13 ] Phoenix_read: 0000: 3b f7 11 00 01 40 96 70 70 0a 0e 6c b6 d6 90 00 ;....@.pp..l.... [ 10:16:14 ] [ Serial ] Read on fd 5 (len=25 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 00 68 34 59 12 52 41 3b 00 31 20 10 20 20 20 20 .hCYFRA+ 1 0010: 10 20 00 37 24 34 2b 23 11 .gD.+3. [ 10:16:14 ] [ Serial ] Read on fd 5 (len=1 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 150 [ 10:16:14 ] [ Serial ] Read on fd 5 (len=1 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 00 [ 10:16:14 ] [ Seca ] Status Word from Card: 9000 [ 10:16:14 ] [ KeymaN ] Adding key 0000000034673b4 type 1 on Provider 000068 for caid 0100 ID=1 [ 10:16:14 ] [ Seca ] Sending to Card: C234021223 [ 10:16:14 ] Phoenix_write: 0000: c1 56 13 b2 12 [ 10:16:14 ] [ Serial ] Write on fd 5 (len=5) [ 10:16:14 ] [ Serial ] Read on fd 5 (len=5 timeout=15500ms) [ 10:16:14 ] [ Serial ] Read on fd 5 (len=1 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 12 [ 10:16:14 ] [ Serial ] Read on fd 5 (len=25 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 00 65 43 59 46 52 41 2b 20 32 20 20 20 20 20 20 .eCYFRA+ 2 0010: 20 20 00 00 00 00 04 21 00 .....!. [ 10:16:14 ] [ Serial ] Read on fd 5 (len=1 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 90 . [ 10:16:14 ] [ Serial ] Read on fd 5 (len=1 timeout=15300ms) [ 10:16:14 ] Phoenix_read: 0000: 00 . [ 10:16:14 ] [ Seca ] Status Word from Card: 9000 [ 10:16:14 ] [ KeymaN ] Adding key 00000000000000 type 1 on Provider 000065 for caid 0100 ID=2 [ 10:16:14 ] Card reader unlocked for reader Phoenix on USB [/dev/ttyUSB0] [ 10:16:14 ] [ 0100 ] Init took: 0.772715 [ 10:16:14 ] [ Loader ] Card 0100 on port /dev/ttyUSB0 ready [ 10:16:14 ] [ Card queue /dev/ttyUSB0 ] Starting... [ 10:16:14 ] [ Loader ] Starting Newcamd Server on port 12010 [ 10:16:14 ] [ Loader ] Starting Radegast Server on port 10001 [ 10:16:14 ] [ Newcamd ] Newcamd thread Server started on port 12010 [ 10:16:14 ] [ SockSrv ] Server thread started newcamd: main loop [ 10:16:14 ] [ NewCS ] Ready to GO!![]()
W razie problemów należy usunąć newcs z pamięci:
sudo killall newcs
Jeśli to nie skutkuje poszukać numeru PID i wtedy jak jeszcze będzie proces wyrzucić. (polecenia ps ax i później sudo kill PID).
Teraz mamy możliwość zalogowania się do serwera przez stronę www.
W przeglądarce wpisujemy: localhost:8080
Dodatkowe pliki:
zmieniona lista transporderów z Hotbirda – przydatna przy skanowaniu satelity (stan na 20.07.2011) – należy ją umieścić w katalogu ~/.kde/share/apps/kaffeine/dvb-s/
lista kanałów - niestety niepełna ale może komuś się przyda umieszczamy ją w katalogu ~/.kde/share/apps/kaffeine/







instalacja Kaffeine 0.8.8 na ubuntu 11.10 może komuś sie przyda