1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom CPU

Dieses Thema im Forum "HowTo´s" wurde erstellt von konvader, 18. Dezember 2012.

  1. konvader
    Offline

    konvader Newbie

    Registriert:
    20. Dezember 2009
    Beiträge:
    3
    Zustimmungen:
    14
    Punkte für Erfolge:
    0
    OSCam Server mit S02 und HD02 in Smargo an Synology Diskstation mit Intel Atom Prozessor

    Diese Anleitung funktioniert bei folgenden Geräten:
    DS713+ DS2413+ DS1512+ DS1812+ RS812+/RS812RP+ RS2212+/RS2212RP+
    DS411+ DS411+II DS1511+ DS2411+ RS2211+/RS2211RP+ DS710+ DS1010+ RS810+/RS810RP+

    Bitte lest euch die Anleitung einmal komplett durch und schaut ob ihr alles verstanden habt, oder ob etwas unklar ist, bevor ihr startet.

    Soooo, nach langer Recherche im Internet und zahllosen Nächten habe ich es geschafft OSCam auf meiner Diskstation 1812+ zum laufen zu bekommen.
    Das möchte ich nun mit euch teilen. Die Informationen im Netz beziehen sich meist nur auf kleinere Geräte mit ARM Prozessor oder laufen völlig am Thema vorüber.
    Nachfolgend also ein Tutorial um auf seiner Intel Atom Based Diskstation einen OSCam Server mit S02 und HD02 support ans laufen zu bringen.
    Das ist mein erstes Tutorial, bitte seht es mir nach wenn es nicht perfekt ist.

    Als erstes mal zu meinem Grundsystem:

    Ich verwende eine Synology Diskstation 1812+ mit 4 x WD Red 3TB Platten. Als DSM habe ich die aktuelle 4.1 installiert.
    Ziel war es einen OSCam Server mit S02 und HD02 über Smargo Reader im lokalen Netzwerk zu verteilen.
    Läuft mittlerweile seit 3 Monaten ohne einen Ausfall.

    Dann legen wir mal los:

    Als erstes muss auf der Diskstation Telnet oder SSH freigegeben werden. Falls die Diskstation nicht hinter einer Firewall, oder sonst irgendwie zugänglich ist, rate ich euch von Telnet ab.
    Falls ihr doch Telnet nutzen wollt, sollte die Firewall diesen Port auf jeden Fall von außen blocken. Also Port 23/TCP. Als nächstes verbinden wir uns über Telnet oder SSH mit der Diskstation.
    Dort melden wir uns mit dem Benutzer root und dem Adminkennwort auf der Konsole an. Jetzt kopieren wir die USB-Module in den Ordner /lib/modules
    Die Module sind für die Atom Cedarview CPU kompiliert und laufen bisher ohne Probleme. Im Paket sind die Treiber für ftdi_sio, pl2303 und usbseriell enthalten.
    Den pl2303 benötigen wir für unser Vorhaben eigentlich nicht, man kann aber nie wissen was noch kommt…

    Die Dateien müssen wir mit chmod auf 644 flaggen. Wer nicht weiß wie es funktioniert:

    chmod 644 ftdi_sio.ko pl2303.ko usbseriell.ko
    im Ordner /lib/modules ausführen.

    Als nächstes erstellen wir und im Ordner /usr/syno/etc/rc.d/ ein Script. Analog zur Namenskonvention der Diskstation habe ich mein Script S99USBModules.sh genannt.
    Um das Script zu erstellen nutzen wir einfach vi. Im Ordner einfach nur vi S99USBModules.sh eingeben und das Fenster mit folgendem Inhalt füllen.
    Um den Editiermodus zu starten einfach auf i wie Insert drücken.

    Code:
    #!/bin/sh
    
    MODULES_DIR="/lib/modules"
    MODULES="usbserial.ko pl2303.ko ftdi_sio.ko"
    
    [/SIZE][/FONT][COLOR=#333333]start_modules() { echo "- Load modules -"[/COLOR]
    [COLOR=#333333]for i in $MODULES; do[/COLOR]
    [COLOR=#333333]echo "Loading $i"[/COLOR]
    [COLOR=#333333]/sbin/insmod $MODULES_DIR/$i[/COLOR]
    [COLOR=#333333]done[/COLOR]
    [COLOR=#333333]}
    [/COLOR][FONT=arial]
    [/FONT][COLOR=#333333]stop_modules(){[/COLOR]
    [COLOR=#333333]echo "- Unload modules -"[/COLOR]
    [COLOR=#333333]for i in $MODULES; do[/COLOR]
    [COLOR=#333333]echo "Unloading $i"[/COLOR]
    [COLOR=#333333]/sbin/rmmod $MODULES_DIR/$i[/COLOR]
    [COLOR=#333333]done[/COLOR]
    [COLOR=#333333]}
    [/COLOR][FONT=arial]
    case "$1" in
    
    
    start)
            start_modules
            ;;
    stop)
            stop_modules
            ;;
    *)
            echo "usage: $0 { start | stop }" >&2
            exit 1                               
            ;;
    esac
    [/FONT]


    Im die Datei abzuspeichern nutzen wird folgende Methode. CTRL + C, ESC, Doppelpunkt, wq!, Enter

    CTRL + C
    , ESC für Editiermodus verlassen
    Doppelpunkt für „Menü“ öffnen
    wq!, Enter für write - quit

    EDIT – Ich habe mittlerweile festgestellt, dass das Mapping in OSCam über ttyUSB nicht das wahre ist.
    Wer diese trotzdem nutzen möchte, kann im Script einfach das # bei den mknods entfernen.


    Das gerade erstellte Script flaggen wir nun mit 755. Anschließend kann das Script über
    ./usr/syno/etc/rc.d/S99USBModules.sh start gestartet werden. Soweit, so gut…
    Der positive Nebeneffekt an dieser Stelle ist, dass alle Scripts aus dem Ordner /r.cd/ automatisch mit der Diskstation gestartet wird.
    Hier ist also keine Anpassung mehr nötig. Nach dem manuellen Start des Scripts führen wir nur den Befehl dmesg aus.
    Mit diesem Befehl (Driver Message) sollte nun folgendes im Output erkennbar sein.

    Jetzt wird es Zeit die Smargos einzustecken. Sollte jetzt im Script die ttyUSB Veriante angewendet worden sein, sollte der Output von dmesg nur folgendermaßen aussehen.

    Als nächstes erstellen wir uns einen Public Ordner.

    mkdir /volume1/public

    und wechseln per cd /volume1/public in den Ordner

    Hier holen wir uns jetzt per wget das Bootstrap für unsere Synology.
    Mittlerweile funktioniert das auf über das Paketzentrum mit der entsprechenden Repository.
    Ich habe es bei mir nicht ausprobiert, hatte mir das Paket bereits vorher manuell installiert.
    Falls Ihr diesen Weg gehen wollt, gibt es genügend Informationen dazu im Web.

    Manuelle Installation:

    wget

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?


    chmod +x syno-i686-bootstrap_1.2-7_i686.xsh
    sh syno-i686-bootstrap_1.2-7_i686.xsh

    Das Bootstrap wird nun installiert.

    Per vi öffnen wir unter /etc die Datei profile Hier fügen wir beim Pfad folgendes ein.

    /opt/bin:/opt/sbin:


    Der Doppelpunkt dient als Trennzeichen. Die Datei wird wieder ESC : wq! Enter gespeichert.
    In der Datei /root/.profile kommentieren wir per vi die Zeilen PATH und export Path mit einem # aus.
    Wir speichern auch diese Datei wieder ab. In der Datei /etc/rc.local kommentieren wir per vi die Zeile [ -x /etc/rc.optware ] && /etc/rc.optware start mit einem # aus.
    Datei wieder speichern.

    Jetzt müssen wir unsere neue Optware noch mit dem System verknüpfen. Dazu müssen wir das alte Mount erst einmal lösen.
    Das tun wir mit umount /opt Des weiteren entfernen wir den vorhandenen /opt Ordner mit rmdir /opt

    Nun verlinken wir die neue Optware mit dem Linux System ln -s /volume1/@optware /opt
    Damit die Optware auch automatisch gestartet wird, bauen wir das Startscript im System ein. Hierzu laden wir uns das optware Script aus dem Internet

    wget

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    Danach führen wir folgende Befehle aus.

    Erstellen des Startordners mkdir –p /usr/local/etc/rc.d/
    Verschieben des Scripts mv optware.sh /usr/local/etc/rc.d/
    Flaggen der Berechtigung chmod +x /usr/local/etc/rc.d/optware.sh


    Anschließend sollte die Diskstation neu gestartet werden. Nach dem Reboot melden wir uns wieder auf der Konsole der Diskstation an.

    Im nächsten Schritt richten wir uns eine chroot Umgebung ein. Wir können uns diese wieder per wget aus dem Internet.

    wget

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    Auf der Diskstation entpacken wir jetzt die runtergeladene Datei und bringen die chroot Umgebung zum laufen.

    Code:
    [COLOR=#323333]tar -C /volume1/public/ -xf debian.tar.gz[/COLOR]
    [COLOR=#323333]mount -o bind /dev /volume1/public/debian/dev[/COLOR]
    [COLOR=#323333]mount -o bind /proc /volume1/public/debian/proc[/COLOR]
    [COLOR=#323333]grep -v rootfs /proc/mounts > /volume1/public/debian/etc/mtab [/COLOR]
    [COLOR=#323333]chroot /volume1/public/debian/ /bin/bash [/COLOR]
    [COLOR=#323333]/debootstrap/debootstrap --second-stage [/COLOR]
    [COLOR=#323333]exit [/COLOR]
    [COLOR=#323333]cp /etc/hosts /volume1/public/debian/etc/hosts [/COLOR]
    [COLOR=#323333]cp /etc/resolv.conf /volume1/public/etc/resolv.conf[/COLOR]
    [COLOR=#323333]hostname > /volume1/public/debian/etc/hostname [/COLOR]
    [COLOR=#323333]mount -o bind /dev /volume1/public/debian/dev [/COLOR]
    [COLOR=#323333]mount -o bind /proc /volume1/public/debian/proc [/COLOR]
    [COLOR=#323333]grep -v rootfs /proc/mounts > /volume1/public/debian/etc/mtab [/COLOR]
    [COLOR=#323333]chroot /volume1/public/debian/ /bin/bash [/COLOR]
    [COLOR=#323333]wget http://files.satware.com/synology/chroot/sources.list -O /etc/apt/sources.list [/COLOR]
    [COLOR=#323333]apt-get update -y [/COLOR]
    [COLOR=#323333]apt-get upgrade -y [/COLOR]
    [COLOR=#323333]apt-get dist-upgrade -y[/COLOR]
    
    Für “Faule” gibt es hier noch ein Script für den Start der chroot Umgebung. Es sorgt dafür, dass /dev und /proc zur Verfügung stehen, und Tools wir „df“ funktionieren.
    Vielen Dank an satware.com für die Entwicklung des Scripts und die Anleitung für die chroot Umgebung. Das Script bekommen wir per

    wget

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    -O ~/debian-chroot.sh


    Wir ändern die Berechtigung über chmod +x ~/debian-chroot.sh

    Jetzt kann die chroot Umgebung einfach mit ~/debian-chroot.sh gestartet werden.
    Mit exit oder CTRL+D kann die Umgebung wieder verlassen werden.


    Im nächsten Schritt werden wir uns OSCam für die Diskstation neu kompilieren. Es gibt zwar mittlerweile Downloads für die Diskstation im Internet, aber leider nicht für die Intel Atom CPUs mit Cedarview.
    Für das Cross compiling benötigen wir nun das DSM Tool Chain. Das Paket kann auf

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    heruntergeladen werden.
    Hier laden wir uns den aktuellen Tool Chain (momentan DSM 4.1) herunter. Als CPU Architektur nehmen wir Intel x86 Linux 3.2.11 (Cedarview). Es gibt eines für x86 und eines für x64.
    Ich habe beide heruntergeladen. Desweiteren benötigen wir einen Linux PC. Hierfür habe ich mir das aktuelle Debian Paket als VM unter Parallels installiert.
    Ubuntu oder sonstige Linux Derivate funktionieren natürlich auch. Wir installieren uns ein Minimal System. Danach installieren wir die notwendigen Pakete sofern noch nicht vorhanden.

    sudo apt-get install build-essential g++ libssl-dev libusb-1.0-0-dev libpcsclite-dev



    Nach der Installation erstellen wir uns die notwendigen Verzeichnisse um OSCam per SVN zu laden.

    sudo mkdir /home/oscam-svn/

    sudo mkdir /home/toolchain/
    sudo chmod 777 /home/oscam-svn/ /home/toolchain/

    Die heruntergeladenen Toolchain Dateien kopieren wir nun auf den Linux PC in den Ordner /home/toolchain und entpacken diese anschließend


    tar –xvzf gcc420_glibc236_x64_cedarview-GPL.tar
    und
    tar –xvzf gcc421_glibc236_x86_cedarview-GPL.tar

    Nun wechseln wir in den Ordner /home/oscam-svn/ und führen diesen Befehl aus um das Paket zu laden.

    svn co

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    ./
    svn up CMakeLists.txt
    mkdir build


    Wir erstellen uns ein neues toolchain im Ordner /home/oscam-svn/toolchains
    Einfach in den Ordner wechseln und vi toolchain-i686-Diskstation.cmake eingeben.
    In diese Datei tragen wir dann folgenden Inhalt ein.

    Code:
    set (OSCAM_SYSTEM_NAME none)
    set (CMAKE_SYSTEM_NAME linux)
    set (CMANKE_C_COMPILER /home/toolchain/i686-linux-gnu/bin/i686-linux-gnu-gcc)
    set (CMAKE_SYSTEM_PROCESSOR i686)
    
    Zusätzlich benötigen wir noch den Quellcode von libusb. Den gibt es hier

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?


    Wir kopieren die Datei nach /home/oscam-svn/
    Wir wechseln in den Ordner cd /home/oscam-svn/
    und entpacken den Inhalt mit tar –xvjf libusb-1.0.9.tar.bz2
    Das Paket müssen wir jetzt noch für unsere Diskstation cross compilen.

    cd /home/oscam-svn/libusb-1.0.9
    CC=/home/toolchain/i686-linux-gnu/bin/i686-linux-gnu-gcc ./configure --host=i686-linux --target=i686-linux --prefix=/home/toolchain/i686-linux-gnu/ --exec-prefix=/home/toolchain/i686-linux-gnu/
    make
    make install

    Nun sind alle Vorbereitungen abgeschlossen und es kann endlich mit dem kompilieren von OSCam losgehen.

    cd /home/oscam-svn/build/

    cmake -DWEBIF=1 -DLIBUSBDIR=/home/toolchain/i686-linux-gnu -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-i686-Diskstation.cmake DHAVE_LIBUSB=1 ..

    make

    Das Ergebnis in Form der oscam Datei kopieren wir auf unsere Diskstation. Ich habe mir in der Root einfach den Ordner oscam erstellt.
    Die Datei wird über

    chmod +x oscam noch geflagged und ist nun lauffähig.

    EDIT – Falls euch das zu umständlich ist, findet ihr in der Database den fertig kompilierten OSCam Server. Ich werde auch von Zeit zu Zeit dort eine neue Version einstellen.


    Nun führen wir auf der Diskstation ein Update der IPKG durch


    ipkg update

    ipkg list

    Wir benötigen nun noch die Pakete gcc, libgcrypt und libusb

    ipkg install gcc

    ipkg install libgcrypt
    ipkg install libusb

    Der Output in der Konsole sollte dann folgendermaßen aussehen.
    Als nächstes müssen die OSCam Konfigurationsdateien auf den Server kopiert werden.
    Die oscam.conf Datei könnte z.B. so aussehen

    Code:
    [global]
    nice = -1
    usrfile = /oscam/log/oscamuser.log
    logfile = /oscam/log/oscam.log
    cwlogdir = /oscam/log
    disableuserfile = 0
    maxlogsize = 1024
    failbantime = 360
    failbancount = 3
    preferlocalcards = 1
    saveinithistory = 1
    dropups = 1
    clienttimeout = 4700
    fallbacktimeout = 2400
    clientmaxidle = 300
    cachedelay = 100
    readerrestartseconds = 120
    resolvegethostbyname = 1
    
    
    #lb_mode = 1
    #lb_save = 100
    #lb_max_ecmcount = 400
    #lb_reopen_seconds = 500
    #lb_retrylimit = 700
    #lb_noproviderforcaid = 0D00,1830,0500
    #lb_savepath = /tmp/.oscam/stat
    #lb_stat_cleanup = 72
    #lb_reopen_mode = 1
    #lb_auto_betatunnel = 0
    
    
    [newcamd]
    Key = 0102030405060708091011121314
    Keepalive = 1
    Port = 12000@1702:000000;12001@1833:000000;12002@1843:000000
    
    
    [cccam]
    port = 11999
    reshare = 10
    reshare_mode  = 1
    version = 2.1.3
    stealth = 1
    
    
    [monitor]
    port = 987
    nocrypt = 192.168.0.0-192.168.255.255
    aulow = 120
    hideclient_to = 30
    monlevel = 1
    appendchaninfo = 1
    
    
    [webif]
    httpport = 83
    httphelplang = de
    httpuser = admin
    httppwd = oscam
    httprefresh = 10
    httpallowed = 0.0.0.0-255.255.255.255
    
    oscam.server (Bei device = kann entwerder /dev/ttyUSB0 und /dev/ttyUSB1 eingetragen werden, oder die Device ID aus der Diskstation.
    Diese kann mit dem folgenden Befehl aus der Diskstation ausgelesen werden)
    cat /proc/bus/usb/devices | grep -E "^([TSPD]:.*|)$"
    Code:
    [reader]
    label = sky1
    protocol = smartreader
    device = 00x:00x
    services = skyall,!hdplus
    smargopatch = 1
    caid = 1702,1833
    boxkey = 1122334455667788
    ecmwhitelist = 1702:93;1833:89
    detect = cd
    mhz  = 600
    cardmhz = 600
    group = 1
    emmcache = 1,3,2
    blockemm-unknown = 1
    blockemm-g = 1
    
    
    [reader]
    label = hdplus1
    protocol = smartreader
    device = 00x:00x
    services = !skyall,hdplus
    smargopatch = 1
    caid = 1843
    rsakey = 
    boxkey = 
    ecmwhitelist = 1843:89
    detect = cd
    mhz = 357
    cardmhz = 368
    group = 2
    emmcache = 1,2,2
    blockemm-unknown = 1
    blockemm-g = 1
    


    oscam.user

    Code:
    [account]
    disabled = 0
    au = sky1,hdplus1
    User = user
    Pwd = pwd
    Group = 1,2
    CAID = 1702,1833,1843
    


    oscam.provid
    , oscam.services und oscam.srvid sollten direct aus dem Internet geladen warden.
    Damit ist der OSCam Server fertig konfiguriert. Damit wir uns jetzt um den Systemstart keine Gedanken mehr machen müssen, erstellen wir uns nun noch ein Script für den automatischen Start.
    Wir erstellen wieder mi vi im Ordner /usr/syno/etc/rc.d/ eine Datei S99OSCam.sh Der Inhalt der Datei sollte folgendermaßen aussehen.

    Code:
    [COLOR=#008400]#!/bin/sh[/COLOR]
    
    
    OSCAM_DIR=[COLOR=#D12F1B]"/oscam"[/COLOR]
    OSCAM_LOG_DIR=[COLOR=#D12F1B]"/oscam/log"[/COLOR]
    BIN=$OSCAM_DIR/oscam
    
    
    start() {
        [COLOR=#BB2CA2]if[/COLOR] [ ! -d $OSCAM_LOG_DIR ]
        [COLOR=#BB2CA2]then[/COLOR]
        mkdir $OSCAM_LOG_DIR
        [COLOR=#BB2CA2]fi[/COLOR]
    
        $BIN -b -c $OSCAM_DIR
    
    }
    
    
    stop() {
        killall -[COLOR=#272AD8]15[/COLOR] oscam > /dev/null [COLOR=#272AD8]2[/COLOR]>&[COLOR=#272AD8]1[/COLOR]
    
    }
    
    
    [COLOR=#BB2CA2]case[COLOR=#D12F1B]"$1"[/COLOR]in[/COLOR]
        start)
              start
              ;;
        stop)
              stop
              ;;
        restart)
              stop
              sleep [COLOR=#272AD8]1[/COLOR]
              start
              ;;
        *)
    [COLOR=#D12F1B][COLOR=#000000]          echo [/COLOR]"usage: $0 { start | stop }"[COLOR=#000000] >&[/COLOR][COLOR=#272AD8]2[/COLOR][/COLOR]
              [COLOR=#BB2CA2]exit[/COLOR] [COLOR=#272AD8]1[/COLOR]
              ;; 
    
    [COLOR=#BB2CA2]esac[/COLOR]
    
    
    [COLOR=#BB2CA2]exit[COLOR=#272AD8]0[/COLOR][COLOR=#000000];[/COLOR][/COLOR]
    [COLOR=#000000]
    [/COLOR]
    
    Speichern über CTRL + C, ESC, wq!, Enter. Über chmod 755 S99OSCam.sh flaggen wir wieder die Berechtigung. Falls wir nun die Diskstation neu starten, wird automatisch der OSCam Server gestartet.
    Falls der Ort für den OSCam nicht /oscam ist, müssen natürlich die Scripts und Configdateien angepasst werden.
    Um das System jetzt noch perfekt zu machen, erstellen wir zum Schluss noch eine Script, welches regelmäßig über Crontab unseren OSCam Server überprüft.
    Es sollte nicht nur schauen ob der Service gestartet ist, sondern auch Warnings und Panics aus der Log auswerten. Somit ist sichergestellt, dass unser Dienst nicht nur gestartet ist, sondern auch funktioniert.
    Dazu erstellen wir uns im Ordner /oscam per vi das Script srvcheck.sh Der Inhalt der Datei sollte so aussehen.

    Code:
    [COLOR=#008400]#!/bin/sh[/COLOR]
    [COLOR=#11053B]
    [/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]oscamlog=[/COLOR]"/oscam/log/oscam.log"[/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]logfile=[/COLOR]"/oscam/log/oscam-check.log"[/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]oscampath=[/COLOR]"/oscam/oscam"[/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]oscamstart_cmd=[/COLOR]"/oscam/oscam -b -c /oscam"[/COLOR]
    [COLOR=#11053B]warning_limit=[COLOR=#D12F1B]"50"[/COLOR][/COLOR]
    [COLOR=#11053B]panic_limit=[COLOR=#D12F1B]"1"[/COLOR][/COLOR]
    [COLOR=#11053B]
    [/COLOR]
    [COLOR=#11053B][COLOR=#BB2CA2]if[/COLOR] [ $(ps -w | grep -c oscam) = [COLOR=#272AD8]0[/COLOR] ]; [COLOR=#BB2CA2]then[/COLOR][/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]     echo [/COLOR]"$(date) Starting OSCam..."[COLOR=#000000] >> $logfile[/COLOR][/COLOR]
    [COLOR=#11053B]     $oscamstart_cmd[/COLOR]
    [COLOR=#BB2CA2]fi[/COLOR]
    [COLOR=#11053B]
    [/COLOR]
    [COLOR=#11053B][COLOR=#BB2CA2]if[/COLOR] [ $(grep -c WARNING $oscamlog) -gt $warning_limit ]; [COLOR=#BB2CA2]then[/COLOR][/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]     echo [/COLOR]"$(date) Warning detected - Stoping OSCam..."[COLOR=#000000] >> $logfile[/COLOR][/COLOR]
    [COLOR=#11053B]     grep -c WARNING $oscamlog >> $logfile[/COLOR]
    [COLOR=#11053B]     killall -[COLOR=#272AD8]15[/COLOR] oscam[/COLOR]
    [COLOR=#11053B]     cp $oscamlog $oscamlog[COLOR=#D12F1B]".failed"[/COLOR][/COLOR]
    [COLOR=#11053B]     cat /dev/null > $oscamlog[/COLOR]
    [COLOR=#11053B]     sleep [COLOR=#272AD8]2[/COLOR][/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]     echo [/COLOR]"$(date) OSCam started after WARNING"[COLOR=#000000] >> $logfile[/COLOR][/COLOR]
    [COLOR=#11053B]     $oscamstart_cmd[/COLOR]
    [COLOR=#BB2CA2]fi[/COLOR]
    [COLOR=#11053B]
    [/COLOR]
    [COLOR=#11053B][COLOR=#BB2CA2]if[/COLOR] [ $(grep -c PANIC $oscamlog) -gt $panic_limit ]; [COLOR=#BB2CA2]then[/COLOR][/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]     echo [/COLOR]"$(date) PANIC detected - Stoping OSCam..."[COLOR=#000000] >> $logfile[/COLOR][/COLOR]
    [COLOR=#11053B]     grep -c PANIC $oscamlog >> $logfile[/COLOR]
    [COLOR=#11053B]     killall -[COLOR=#272AD8]15[/COLOR] oscamll[/COLOR]
    [COLOR=#11053B]     cp $oscamlog $oscamlog[COLOR=#D12F1B]".failed"[/COLOR][/COLOR]
    [COLOR=#11053B]     cat /dev/null > $oscamlog[/COLOR]
    [COLOR=#11053B]     sleep [COLOR=#272AD8]2[/COLOR][/COLOR]
    [COLOR=#D12F1B][COLOR=#000000]     echo [/COLOR]"$(date) OSCam started after PANIC"[COLOR=#000000] >> $logfile[/COLOR][/COLOR]
    [COLOR=#11053B]     $oscamstart_cmd[/COLOR]
    [COLOR=#BB2CA2]fi[/COLOR]
    [COLOR=#11053B]
    [/COLOR]
    
    Die Datei flaggen wir wieder per chmod auf 755. Um das Script jetzt noch automatisch ablaufen zu lassen öffnen wir mit vi die Datei /etc/crontab und tragen den Service ein.
    Falls der Check z.B. alle Zehn Minuten gestartet werden soll, tragen wir vorne 10 und beim Rest einen Stern ein. Das Script liegt dann unter /oscam/srvcheck.sh
    Jetzt wird unser Dienst alle Zehn Minuten überprüft und bei Bedarf abgebrochen, neu gestartet und in eine separate Logdatei mit dem Namen oscamlog.failed kopiert.

    Das war es erstmal. Wer alles richtig gemacht hat kann sich über einen OSCam Server auf seiner Linkstation freuen.

    EDIT – Lib Modules, Scripte und OSCam Server lege ich in der Database ab.






     
    Zuletzt bearbeitet: 4. Februar 2013
    #1
    dociceage, meister85, Hexman007 und 7 anderen gefällt das.
  2. phantom

    Nervigen User Advertisement

  3. konvader
    Offline

    konvader Newbie

    Registriert:
    20. Dezember 2009
    Beiträge:
    3
    Zustimmungen:
    14
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    OSCam Server Paket 1.20 #7944

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    - - - Aktualisiert - - -


    USB Module für Synology Diskstation mit Intel Atom CPU

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    - - - Aktualisiert - - -

    Scripte für OSCam Server auf Synology Diskstation mit Intel Atom CPU

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

     
    Zuletzt bearbeitet: 18. Dezember 2012
    #2
  4. PreMorph
    Offline

    PreMorph Newbie

    Registriert:
    3. Mai 2012
    Beiträge:
    3
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Vielen dank für deinen Beitrag, der auch auf einer 412+ funktioniert :). Da ist allerdings ein Typo drin:

    muß lauten:

    Desweiteren muß das Startupscript für die Kernelmodule so aussehen (auszug):

    Im start_modules wurde nix geladen und es muß der absolute Pfad für insmod und rmmod angegeben sein, da er sonst die Binarys aus dem /opt nimmt und die sind für die Falsche Prozessorarchitektur.

    Dann habe ich mal angefangen oscam selbst zu compilieren in der Debian Umgebung, allerdings habe ich folgendes Problem:
    Er verlinkt die fertige bin gegen libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xf75c5000)
    Diese gibt es auf der DS selbst nicht, da dort nur die libcrypto.so.1.0.0 vorhanden ist. Fehlt da in deiner Anleitung etwas?
     
    Zuletzt bearbeitet: 30. Dezember 2012
    #3
    0800555333 gefällt das.
  5. wh.for
    Offline

    wh.for Newbie

    Registriert:
    2. August 2009
    Beiträge:
    7
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    hi,


    erstmal ein großes Lob an dich konvader.

    Da ich nun die DS nicht zumüllen möchte, hab ich oscam nach dieser Anleitung cross-compiliert:

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?



    Dennoch hab ich deine gebraucht um die richtige Toolchain-Datei zu erstellen.

    Seit DSM 4.2 ist es darüber hinaus nicht mehr nötig die Kernelmodule in die DS einzubinden. Diese sind von sich aus schon drauf. Aussnahme ist die pl2303.

    Wie schön wäre die Welt doch, wenn alles so einfach wäre. Ist sie aber leider nicht. Warum auch immer hat es beim ersten mal alles super funktioniert. Als ich es jedoch das 2. Mal versucht habe (zu Übungszwecken) bekam ich beim letzen Schritt dann auch den Fehler.

    hier der Befehl und das Ergebniss:
    Code:
    [COLOR=#008000]user@host:/home/oscam-svn/build$[/COLOR] [COLOR=#0000cd]cmake -DWEBIF=1 -DLIBUSBDIR=/home/toolchain/i686-linux-gnu -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-i686-DS.cmake.cmake DHAVE_LIBUSB=1 ..[/COLOR]
    
    System is unknown to cmake, create:
    Platform/linux to use this system, please send your config file to cmake@www.cmake.org so it can be added to cmake
    Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please send that file to cmake@www.cmake.org.
    -- Unknown cross system name: <linux>
    --   pthread found. Adding pthread support
    --   openssl not found.
    --   librt found (needed by libusb).
    --   libusb 1.0 found (/home/toolchain/i686-linux-gnu/lib/libusb-1.0.a). Adding smartreader support
    --   PCSC headers found (/usr/include/PCSC). Adding PCSC support
    -- Unknown cross system name: <linux>
    --   librt found (needed by libusb).
    -- Utils: pthread found. Adding pthread support
    --   libusb 1.0 found (/home/toolchain/i686-linux-gnu/lib/libusb-1.0.a). Adding smartreader support
    -- Utils: operating system: Unknown
    -- Utils: target system: i686-linux-gnu
    
    
    -- Utils: use libusb functions
    --
    --
    --   operating system: Unknown
    --   target system: i686-linux-gnu
    --   revision: 8250
    --   use system libcrypto functions
    --   use system pcsc functions
    --   use system pthread functions
    --   use libusb functions
    --
    -- Configuring done
    -- Generating done
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_TOOLCHAIN_FILE
    
    -- Build files have been written to: /home/oscam-svn/build
    


    und hier die toolchain-i686-DS.cmake
    Code:
    set (OSCAM_SYSTEM_NAME i686)
    set (CMAKE_SYSTEM_NAME Linux)
    set (CMANKE_C_COMPILER /home/toolchain/i686-linux-gnu/bin/i686-linux-gnu-gcc)
    
    set (CMAKE_SYSTEM_PROCESSOR i686-linux)


    könnte mir jemand sagen was ich hier falsch mache?

    ich hab das voll vergessen. Es ist eigentlich nicht der oben erwähnte Fehler, sonder der hier:

    Code:
    /root/oscam/oscam: error while loading shared libraries: libpcsclite.so.1: cannot open shared object file: No such file or directory

    wenn ich die oscam verwende

    MfG wh.for
     
    Zuletzt bearbeitet: 3. Februar 2013
    #4
    0800555333 gefällt das.
  6. konvader
    Offline

    konvader Newbie

    Registriert:
    20. Dezember 2009
    Beiträge:
    3
    Zustimmungen:
    14
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C


    Danke für den Hinweis. Habe das Tut soweit angepasst. Zu dem libcrypto Problem habe ich auf meiner Syno
    nochmals nachgeschaut. Es ist auch nur die 1.0.0 installiert, funktioniert aber ohne Probleme ?!


    Gruß
    konvader
     
    Zuletzt von einem Moderator bearbeitet: 31. März 2013
    #5
  7. Max-Keran
    Offline

    Max-Keran Newbie

    Registriert:
    30. März 2013
    Beiträge:
    6
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hi,

    ich bin absoluter noob in linux und trau mich auch nicht ans compilieren in der DS. Wäre es möglich eine aktuelles OSCam zu bekommen? Ich habe auch eine DS1512+ und dein bisheriges funktioniert auch (#7944) doch wird zwar die S02 erkannt aber es werden keine Sender angezeigt bzw.
    CARDOK
    (no entitlements) .

    Soweit ich das bei OSCam gelesen habe sollte das mit #82xx funktionieren (finde gerade nicht die richte Meldung).

    Ich wäre dir echt dankbar wenn du es machen könntest.

    Gruß

    Max
     
    Zuletzt bearbeitet: 3. April 2013
    #6
  8. flostere
    Offline

    flostere Newbie

    Registriert:
    30. November 2012
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hi,

    kurze Frage. Man benötigt aber trotzdem eine chroot, um OSCAM erfolgreich starten zu können oder? Nativ auf der Synology geht´s nicht, nachdem die Pakete Crosscompiled wurden?

    VG
     
    #7
  9. Max-Keran
    Offline

    Max-Keran Newbie

    Registriert:
    30. März 2013
    Beiträge:
    6
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    also bei mir geht es wie in der Anleitung die wh.for eingetragen hat. Und ich habe es nicht in einem chroot laufen.

    Dabei habe ich die Binary von konvadar genommen und in den OSCam Ordner auf der DS kopiert.
     
    #8
  10. flostere
    Offline

    flostere Newbie

    Registriert:
    30. November 2012
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hi,

    ich habe mir mal einen Argolis Smargo Cardreader zugelegt um mit der Synology zu testen. Bekommen diesen über die USB Ports aber nicht zum fliegen.
    Irgendwie stimmen die treiber wohl nicht.

    Wie siehts bei euch aus?
     
    #9
  11. Max-Keran
    Offline

    Max-Keran Newbie

    Registriert:
    30. März 2013
    Beiträge:
    6
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    hi,

    ich hab die hier (

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    ) gefunden und alles läuft super.

    mfg
     
    #10
    freemuck gefällt das.
  12. boersenman71
    Offline

    boersenman71 Ist gelegentlich hier

    Registriert:
    26. Februar 2011
    Beiträge:
    33
    Zustimmungen:
    8
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hallo!
    Wie müsste das Watchdogscript abgeändert werden, wenn man nur die Überwachung benötigt (ohne die Log-Auswertung)?
    Sprich das Oscam beendet sich und das Script startet es wieder.
     
    #11
  13. RSchally
    Offline

    RSchally Ist oft hier

    Registriert:
    11. April 2009
    Beiträge:
    132
    Zustimmungen:
    8
    Punkte für Erfolge:
    18
    Ort:
    Sachsen
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hey Konvader,

    hast Du mal wieder eine aktuelle Version für die DS mit Atom CPu zum download?! Ich bekomme das kompilieren irgendwie nicht hin...

    Habe mir Debian installiert, gehe dann dort in's Terminal und halte mich an die Anleitung. Irgendwie klemmts dann beim letzten Schritt.
    Nur kurz nochmal gefragt, was gebe ich zum Kompilieren ein, wenn ich ohne LIBUSB bauen will? Also dann denn Befehl um Kompilieren, das restliche Prozedere sollte ja gleich sein.

    Ich habe hier Easymouse 2 im Einsatz und die brauchen das doch nicht.
     
    #12
  14. flostere
    Offline

    flostere Newbie

    Registriert:
    30. November 2012
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hi wie finde ich denn meinen bus und die Device ID raus? Der Smargo steckt anscheinend auf Bus/port7:

    DiskStation> cat /proc/bus/usb/devices | grep -E "^([TSPD]:.*|)$"


    T: Bus=08 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1d.2


    T: Bus=07 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1d.1


    T: Bus=07 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=0403 ProdID=6001 Rev= 4.00
    S: Product=USBDevice
    S: SerialNumber=ffffffd1ffffffb2ffffffdbffffffad


    T: Bus=06 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1d.0


    T: Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1a.2


    T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1a.1


    T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
    D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0001 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 uhci_hcd
    S: Product=UHCI Host Controller
    S: SerialNumber=0000:00:1a.0


    T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0002 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:00:1d.7


    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=f400 ProdID=f400 Rev= 1.00
    S: Manufacturer=Synology
    S: Product=Diskstation
    S: SerialNumber=5b66b5b5f2d325


    T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0002 Rev= 3.02
    S: Manufacturer=Linux 3.2.30 ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:00:1a.7
     
    Zuletzt von einem Moderator bearbeitet: 2. Mai 2013
    #13
  15. Max-Keran
    Offline

    Max-Keran Newbie

    Registriert:
    30. März 2013
    Beiträge:
    6
    Zustimmungen:
    1
    Punkte für Erfolge:
    3
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    ich glaube du solltest es 3stellig schreiben. in deinem Fall also device = 007:001
     
    #14
  16. flostere
    Offline

    flostere Newbie

    Registriert:
    30. November 2012
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

    Hi,

    2013/05/03 17:00:06 5E9110 r Smartreader device 007:001 not found

    2013/05/03 17:00:06 5E9110 r G02_Smargo [smartreader] Cannot open device: 007:001

    bringt nichts...

    EDIT:

    Problem gelöst lesen muss man können: Device 0007:002 ...

    Viele Grüße

     
    Zuletzt bearbeitet: 3. Mai 2013
    #15

Diese Seite empfehlen