OSCam auf einer Synology Diskstation DS112j

In meinem letzten Artikel habe ich bereits beschrieben, wie ich auf einer DS112j eine Easymouse 2 USB Premium zum Laufen bekommen habe. Wer eine halbwegs detaillierte Anleitung zum Laden der Kernelmodule sucht, sollte dort auf jeden Fall mal reinschauen. In diesem Artikel soll es nun um OSCam gehen, das auf der Diskstation als Cardserver laufen soll.

Die OSCam-Gemeinschaft bietet für die Prozessor-Architekturen der DS112j keine Binaries an, man ist also gezwungen nach Drittanbietern zu suchen oder (mittels Cross-Compiling) selber ein Binary zu erstellen. Das Cross-Compiling klingt auch für mich mit einiger Linux-Erfahrung immer noch ein bisschen unheimlich. Man erstellt auf einer Prozessor-Architektur das Binary für eine andere Architektur. Gruselig. ;)

Inhaltsverzeichnis

  1. OSCam läuft – und dreht durch
  2. OSCam für die Diskstation neu kompilieren
  3. OSCam zum Laufen bekommen
  4. Ein geeignetes Verzeichnis finden
    1. Log-Dateien
  5. OSCam automatisch starten lassen
  6. OSCam-Informationen

Hinterher weiß man immer mehr – Es gibt fertige Binaries. Aber…

Update vom 30. Juni 2012:
Wie ich gerade im Streamboard gesehen habe, gibt es doch einen wohlgepflegten Thread mit fertigen Binaries für die Diskstations… Diese sind allerdings sehr alt (derzeit #6344 aus dem Februar 2012), ich empfehle daher dennoch dieser Anleitung nach von Hand zu kompilieren.


OSCam läuft – und dreht durch

Da mir das Cross-Compiling ja nicht sonderlich geheuer war, freute ich mich riesig, dann für meine CPU-Architektur ein vorkompiliertes Binary zu finden: Klick
Die Konfiguration von OSCam konnte ich relativ schnell durchführen und auch der Test-Client konnte problemlos verbinden. Alles sah nach einem schnellen Happy-End aus! Das Feierabend-Bier war schon offen, mein Stolz riesig und meine Freude kaum zu bremsen. Doch dann entschloss noch mal den CPU-/Speicherverbrauch von OSCam zu prüfen. “Oh mann…”, OSCam gönnte sich im laufenden Betrieb mit einem Client zwischen 90 und 100 Prozent CPU-Auslastung – na fantastisch. Nach ein paar kläglichen Versuchen über die Konfiguration irgendwas zu reißen, suchte ich im Internet nach Rat und fand einige “CPU load patches for usb readers” oder so ähnlich. Ich stöpselte die Easymouse mal ab und OSCam gab keinen Laut von sich und surrte mit 0% CPU vor sich hin. Meine Vermutung war, dass dieses vorkompiliertes Binary die Load-Fix-Patches nicht enthielt. Also entschloss ich mich, mutig dem Feind doch entgegenzutreten und dieses Cross-Compiling zu versuchen.

OSCam für die Diskstation neu kompilieren

Im großen und ganzen bin nach der folgenden Anleitung vorgegangen: Klick. Ich schreibe sie hier noch mal nieder, da meiner Meinung nach einige Dinge und Hinweise ergänzt werden können und vor allem auch einiges weggelassen werden kann.

Cross-Kompilieren kann man OSCam wohl auf jedem Linux, gerne auch in einer VM. Ich nutze meine Workstation, ein Ubuntu 11.04 64-Bit.

Es geht los!

Installieren der notwendigen Pakete sofern noch nicht vorhanden:

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

Erzeugen der Arbeitsverzeichnisse:

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

Herunterladen der Toolchain für die Architektur der jeweiligen Synology-NAS. Diese kann man im zugehörigen Synology PDF auf den Seiten 5-6 nachlesen. Eine Übersicht gibt es ebenfalls im Synology-Forum. DS112j-Benutzer können mit diesem Link abkürzen: Download.

Die Datei verschiebt man nach /home/toolchain/ und entpackt sie (der Dateiname muss ggf. angepasst werden!) dort mit

tar -xvzf gcc421_glibc25_88f6281-GPL.tgz

Holen des aktuellen OSCam-Quellcodes:

cd /home/oscam-svn/
svn co http://streamboard.de.vu/svn/oscam/trunk ./

Aus der o.g. Anleitung habe ich folgendes übernommen, ob es (noch) notwendig ist, weiß ich nicht, schaden tut es aber in keinem Fall:

svn up CMakeLists.txt

Nun legt man ein Verzeichnis für das Kompilieren an:

mkdir build

Anschließend öffnet man die entsprechende cmake-Datei und ändert den Inhalt wie gefolgt ab:

/home/oscam-svn/toolchains/toolchain-arm-none.cmake

set (OSCAM_SYSTEM_NAME none)
set (CMAKE_SYSTEM_NAME linux)
set (CMAKE_C_COMPILER /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc)
set (CMAKE_SYSTEM_PROCESSOR arm)

Jetzt benötigt man noch den Quellcode von libusb, den gibt es hier: Klick. Man muss OSCam nicht mit libusb kompilieren, es wird allerdings Pflicht, wenn man einen USB-Kartenleser einsetzen möchte.

Die Original-Anleitung setzt auf libusb-1.08, was auch ich verwendet habe. Es gibt derzeit schon eine neuere Version 1.09 aber ich bin da eher “vorsichtig” und nehme das was sich bewährt hat.

Man lädt also das entsprechende Archiv herunter und speichert ihn im Verzeichnis:

/home/oscam-svn/

cd /home/oscam-svn/
tar -xvjf libusb-1.0.8.tar.bz2

Nun cross-kompiliert man erst einmal libusb für den jeweiligen Prozessor (zur Erinnerung: DS112j = Marvell Armada 300):

cd /home/oscam-svn/libusb-1.0.8
CC=/home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc ./configure --host=arm-linux --target=arm-linux --prefix=/home/toolchain/arm-none-linux-gnueabi/ --exec-prefix=/home/toolchain/arm-none-linux-gnueabi/

Anschließend wird gleich nachgelegt mit

make
make install

Nun geht’s endlich mit dem Kompilieren von OSCam weiter:

cd /home/oscam-svn/build/
cmake -DWEBIF=1 -DLIBUSBDIR=/home/toolchain/arm-none-linux-gnueabi -DCMAKE_TOOLCHAIN_FILE=../toolchains/toolchain-arm-none.cmake DHAVE_LIBUSB=1 ..
make

Das war’s auch schon! Im aktuellen Verzeichnis liegt anschließend ein oscam-Binary, dass sich auf der Diskstation ausführen lässt.

Ergänzungen vom 29.08.2012:

OSCam zum Laufen bekommen

Wenn man nun im Dateisystem des kompilierenden Recheners ein oscam-Binary liegen hat, muss man dieses auf die Diskstation schaffen. Dazu gibt es diverseste Möglichkieten angefangen mit SCP (via SSH), FTP oder in dem man es einfach in eine Windows-Freigabe auf der Diskstation kopiert. Egal wie und wohin, anschließend loggt man sich auf der Diskstation ein und geht in das Verzeichnis, in dem man die Datei abgelegt hat. Eigentlich sollte sie schon das Executable-Bit haben, falls das beim Kopiervorgang verloren gegangen ist, holt man es einfach mit

chmod +x oscam

zurück. Nun kann man oscam schon mal testen.

./oscam

Dabei sollte zumindest eine (Fehler-)Ausgabe kommen die aber bestätigt, dass das Binary funktioniert. oscam unterstützt mehrere Paramter von denen aber zwei im Moment wichtig sind:

  • -c gibt an in welchem Verzeichnis die Konfigurations-Dateien liegen (verzichtet man auf den Parameter such oscam im Root-Verzeichnis /)
  • -b lässt oscam als Daemon im Background starten (anderenfalls wird es abhängig von der laufenden Shell-Sitzung gestartet und somit auch beendet wenn man sich ausloggt)

Zusammengesetzt ergibt das z.B.:

./oscam -b -c ./

OSCam startet also als Daemon-Prozess und sucht die Konfigurationsdateien im aktuellen Verzeichnis.

Ein geeignetes Verzeichnis finden

Wohin nun mit dem Binary und den Konfigurationsdateien? Im Grund kann man sie überall hinlegen, dennoch ist es mir wichtig, dass die HDD nicht laufen muss, nur damit OSCam laufen kann. Also sollte OSCam im internen Speicher abgelegt werden. Man kann sich z.B. ein schönes Plätzchen in /root/ einrichten oder brachial im Wurzelverzeichnis ein Verzeichnis anlegen (/oscam). Da ich keine Optware nutze, habe ich mir ein /opt/ angelegt. Existiert dies bereits ist das ein Hinweis auf die Verwendung von Optware/IPKG und es zeigt vermutlich auf die HDD. Wie erwähnt möchte ich OSCam von der HDD fernhalten.

Im kommenden Verlauf nehme ich /root/oscam/ als Verzeichnis.

Log-Dateien

An dieser Stelle möchte ich noch darauf hinweisen, dass ich meine Log-Dateien von OSCam nach /tmp laufen lasse. Das muss man in den OSCam-Konfigurationsdateien an diversen Stellen eintragen. Da /tmp ein flüchtiger Speicher ist und spätestens nach einem Neustart der Diskstation geleert wird, braucht man sich keine Gedanken machen, dass einem der Speicherplatz ausgeht. Für mich sind die Logdateien auch nicht so wichtig, so dass sie auch ruhig mal verschwinden können. Ließe man die Logdateien in ein Verzeichnis auf der HDD schreiben, würde diese mit jedem OSCam-Clientzugriff verwendet werden und dementsprechend vermutlich kaum noch in den Standby gehen.

OSCam automatisch starten lassen

Damit man nach einem Neustart der Diskstation nicht von Hand den OSCam-Prozess anwerfen muss, habe ich ein Init-Skript geschrieben. Wie auch schon die Module für die USB-Treiber (s. vorheriger Artikel) legt man eine Datei dafür an:

/usr/syno/etc/rc.d/S99OSCam.sh

#!/bin/sh
OSCAM_DIR="/root/oscam"
OSCAM_LOG_DIR="/tmp/oscam"
BIN=$OSCAM_DIR/oscam

start() {
    if [ ! -d $OSCAM_LOG_DIR ]
    then
    mkdir $OSCAM_LOG_DIR
    fi

    $BIN -b -c $OSCAM_DIR
}

stop() {
        killall -15 oscam > /dev/null 2>&1
}

case "$1" in
        "start")
                start
                ;;
        "stop")
                stop
                ;;
        "restart")
                stop
                sleep 1
                start
                ;;
esac

exit 0;

Hier muss man natürlich noch in der zweiten Zeile den Pfad anpassen (/root/oscam/) falls man OSCam an einer anderen Stelle deponiert hat. Das Skript geht zudem davon aus, dass man die Konfigurationsdateien ebenfalls in diesem Verzeichnis hat.

Update vom 06.09.2012: Wenn das in der Konfiguration für die Log-Dateien angegebene Verzeichnis nicht existiert, stürzt OSCam einfach nach kurzer Zeit ab – anstatt einfach mal das Verzeichnis anzulegen. Aus diesem Grund habe ich das o.s. Init-Skript noch so erweitert, dass es beim (Re-)Start prüft, ob das Log-Verzeichnis existiert.

Abschließend muss das Skript noch ausführbar gemacht werden:

chmod +x /usr/syno/etc/rc.d/S99OSCam.sh

Mit Hilfe dieses Skripts kann man OSCam nun auch komfortabel von Hand starten, beenden und neustarten:

/usr/syno/etc/rc.d/S99OSCam.sh start
/usr/syno/etc/rc.d/S99OSCam.sh restart
/usr/syno/etc/rc.d/S99OSCam.sh stop

OSCam-Informationen

OSCam ist eine quelloffene und gemeinschaftlich entwickelte Software zum Lesen von und Schreiben auf Smartcards vornehmlich aus dem Pay-TV-Bereich. Laut der im Internet veröffentlichten Angaben kann OSCam zahlreiche Smartcards verarbeiten, u.a. die in Deutschland verbreiteten S02-, V13-, HD01- und HD02-Karten. Auch die neuen V14-Karten sollen seit OSCam Revision 7172 funktionieren.

Eine hervorragende Dokumentation der OSCam-Konfiguration gibt es hier: http://streamboard.de.vu/wiki/OSCam/de.
Das offizielle OSCam-Forum findet man hier: http://www.oscam.to/wbb3/

Dieser Beitrag wurde unter Linux veröffentlicht. Setze ein Lesezeichen auf den Permalink.

42 Antworten auf OSCam auf einer Synology Diskstation DS112j

  1. Michael sagt:

    Streamboard.gmc.to ist jetzt Streamboard.de.vu

    Mit der Adresse aus dem Artikel kann man also nix auschecken…

    Zur Info! Viele Grüße…

  2. Ronald sagt:

    Hi Michael,

    vielen Dank für den Hinweis, ich habe alle URLs erneuert!

    Viele Grüße
    Ronald

  3. stargate sagt:

    Hi,

    wie gut läuft denn jetzt oscam auf deiner DS ?
    Ich habe mir auch die Easymouse 2 gekauft und will Oscam auch auf meiner DS 412+ installieren die einen Atom D2700 (Cedarview) hat.. Wenn ich deine Anleitung hier ausführe brauche ich dann dann deinen ersten Artikel wie du Easymouse einbindest nicht mehr befolgen ?
    Ich bin gerade an der Stelle wo man die cmake Datei abändern muss
    aber bei dem Toolchain vom Oscam-svn finde ich nichts was mit intel cpus zutun hat !? welche soll ich da für meine CPU auswählen ?

    Dann bei der Libusb Installation gibst du folgendes an “CC=/home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc ./configure –host=arm-linux –target=arm-linux –prefix=/home/toolchain/arm-none-linux-gnueabi/ –exec-prefix=/home/toolchain/arm-none-linux-gnueabi/”
    was gebe ich da bei host und target an ?
    und wieso machst bei libusb nach dem make noch ein install ? wird das nicht erst auf der Syno installiert ?

    und weiter unten bei “DLIBUSBDIR=/home/toolchain/arm-none-linux-gnueabi” wieso ist das der Pfad zur Toolchain ? ich dachte hier muss der Pfad zum libusb verzeichniss rein oder befindet sich das nach dem make und install in diesem verzeichniss ?

    nach DHAVE_LIBUSB=1 hast du 2 Punkte gehören die auch dazu ?

    und zu guter letzt ;) wenn ich das ganze doch irgendwie compiliert bekommen sollte, das binary dass dadurch entsteht, wie installiere ich dass dann auf der Syno ? Ist das eine einzige Datei die ich dann mit ipkg installieren muss ?
    Wie du siehst habe ich vom Kompilieren nicht soviel Ahnung darum die ganzen Fragen, hast du vll icq oder Skype dann wäre es vll einfacher zu erklären?
    mfg stargate

  4. Ronald sagt:

    Hi stargate,
    also das OSCam läuft bei mir ausgezeichnet. Keine Abstürze und merkwürdiges Verhalten und das seit Wochen.
    Zu deinen Fragen:

    Die Toolchains gibt es hier: http://sourceforge.net/projects/dsgpl/files/DSM%204.0%20Tool%20Chains/
    Wenn du dir mit dem “Cedarview” sicher bist, gibt es ein entsprechendes File zum Download.

    Das mit der Easymouse hängt davon ab, ob sie bei dir sofort erkannt wird. Ich kann mir eigentlich nicht vorstellen, dass das bei deiner DS der Fall sein sollte. Demnach müsstest du das zuerst ausführen.

    Die libusb-Einstellungen ergeben sich dann dadurch, was dann im Toolchain enthalten ist. Für “host” und “target” müsste dann wohl “i686-pc-linux” sein.
    make install führt dazu, dass es in das entsprechende Toolchain-Verzeichnis installiert wird. Soweit ich es verstehe (was nicht richtig sein muss!) verlangt OSCam beim Kompilieren ein fertig kompiliertes und “installiertes” libusb auf der kompilierenden Maschine (damit beantwortet es hoffentlich auch deine darauffolgende Frage).

    Die zwei Punkte nach DHAVE_LIBUSB gehören in jedem Fall dazu, da man dem make-Befehl angeben muss, was kompiliert werden soll und “..” ist in diesem Fall die Anweisung das Elternverzeichnis des aktuellen anzugeben (in diesem Fall aktuell /home/oscam/build/)

    Nach dem Kompilieren bekommst du eine einzelne Datei “oscam”. Die ist schon das fertige Binary (in der Windows-Welt wäre es eine oscam.exe). Die kopierst du einfach “irgendwo” auf die DS und kannst sie dann über die Shell starten. IPKG wird nicht benötigt. Es kommt aber eben auch kein Paket raus, was dann OSCam irgendwo als Dienst registriert oder automatisch startet. Das muss von Hand gemacht werden.

    Ich hoffe das hilft dir weiter!

  5. stargate sagt:

    Hi.
    ich meinte dass es in der Trunk Version von Oscam kein cmake gibt das irgendwas mit X86 CPus zutun hat ?
    ich habe jetzt einfach mal irgend ein Cmake File genommen und es so abgeändert..
    set (OSCAM_SYSTEM_NAME none)
    set (CMAKE_SYSTEM_NAME linux)
    set (CMAKE_C_COMPILER /home/name/toolchain/i686-linux-gnu/bin/i686-linux-gnu-gcc)
    set (CMAKE_SYSTEM_PROCESSOR i686-pc-linux)

    müsste auch gehen oder ? der name vom cmake dürfte egal sein oder ?

    Dann nochmal zum libusb, nur zum Versändniss musste Libusb in das Oscam Verzeichniss kopiert werden oder hätte ich es auch in einen beliebigen Ordner configurieren und compilieren können ?

    Die libusb habe ich kompiliert und installiert brauche ich jetzt noch die *.ko Files aus dem anderen Artikel mit dem Startscript zum einbinden ? Ich dachte libusb ist dafür da, dass es die Easymouse erkennt ? Die *.ko Files von der Fischer-Seite sind aber eh nur für ARM soweit ich das gesehen habe somit kann ich die nicht verwenden!?

    mfg stargate

  6. stargate sagt:

    Hi,

    also ich habe es jetzt mal kompiliert bekommen, kann ich jetzt die Datei in irgend einen ordner werfen und dazu die 3 config Dateien und einfach ausführen ? Wie sieht deine Reader Config aus bzw was hast du bei device eingetragen ? und die obige Frage mit dem *.ko files besteht immer noch..

  7. stargate sagt:

    Hi,
    also ich habe die Datei jetzt mal in einen neuen FreigabeOrdner “Oscam” auf meiner Syno gepackt aber wenn ich es mit ./oscam ausführen will meckert er dass er die config datei nichtöffnen kann ?
    Cannot open config file ‘/oscam.conf’ (errno=2 No such file or directory)

    vorher habe ich noch ein “chmod 777 oscam.conf” gemacht oder muss ich da noch irgendwas anderes machen ?

  8. stargate sagt:

    Hi,

    sorry für das gespamme aber ich verzweifel echt noch.. Also mein Oscam Ordner liegt in /volume1/Oscam wenn ich von volume1 aus “cd Oscam ./oscam” ausführe dann geht es scheinbar.. ein ps |grep oscam zeigt folgendes an
    7478 root 2476 R grep oscam
    wenn ich allerdings “kill 7478″ mache kommt
    kill: can’t kill pid 7478: No such process

    zuvor habe ich mich mit putty verbunden und als root angemeldet…

    und auf das Webinterface vom Oscam komme ich mit ip:9094 auch nicht…
    der webif Eintrag sieht so aus bei mir

    [webif]
    httpport = 9094
    httpuser = oscam
    httppwd = oscam
    httprefresh = 15
    httpallowed = 192.168.1.1-192.168.1.255
    httphideidleclients = 0
    httpreadonly = 0

    und dann rufe ich von meinem normalen PC das Webinterface auf mit 192.168.1.X:9094 aber da kommt leider nix..

  9. persching sagt:

    Hallo Ronald,
    dank deiner genialen Anleitung läuft mein Oscamserver nun auf meine DS212. Noch ein paar kleine Feinheiten und dann ist alles perfekt! :) Crosscompiling hab ich auf meinen Win7 Rechner mit einer Ubuntu 12.04 VM gemacht, auch das hat absolut keine Probleme bereitet.

    Gruß!!

  10. Ronald sagt:

    Hallo stargate,
    du solltest oscam per Argument den Pfad zur Konfiguration mitgeben.

    Beispiel: ./oscam -c ./
    Mit -b wird es übrigens als Daemon gestartet.

    Ansonsten möchte ich zur Konfiguration von OSCam keine Hilfestellung geben, das Thema ist viel zu weitläufig und z.T. sehr speziell, da gibt es gute Hilfe in den entsprechenden Foren.

    Bei der USB-Frage kann ich dir leider nicht viel weiterhelfen, also wo du Module für Nicht-ARM herbekommst.

  11. stargate sagt:

    Hi,

    also wenn ich es so starte ./oscam -c ./ dann läuft es auf einmal und ich komme ins webinterface.. wieso funktioniert ./oscam nicht ?

    Jetzt ist aber noch das Problem mit dem USB treiber.. ich dachte LibUSB sollte man installieren damit er die Easymouse erkennt ? oder ist libusb nur dafür gut damit man die *.Ko files laden kann ? meinst du arm files funktionieren auch ?

  12. Ronald sagt:

    ./oscam funktioniert schon, aber wie deine Fehlermeldung

    “Cannot open config file ‘/oscam.conf’ (errno=2 No such file or directory)”

    ja sagt, sucht er die Config dann im Root-Verzeichnis unter /oscam.conf – wo ich persönlich sie nicht ablegen wollen würde.

    Du benötigst libusb, damit OSCam auf die Easymouse/den USB-Leser zugreifen kann. Davon unabhängig muss dein Betriebssystem mit entsprechenden Modulen versorgt werden (besagte .ko-Dateien). Ich habe keine Erfahrung was passiert, wenn man ARM-Module auf einer x86-Architektur laden will, mein technischer Verstand kann sich aber irgendwie nicht mit dem Gedanken anfreunden. ;) Also unverbindlich: nein. Vielleicht hilft dir ja weiter, was der Kollege zu berichten hat: http://www.m8in.de/2011/11/09/ftdi-usb2serial-an-der-ds211j-7/
    Ansonsten googlen! ;(

  13. stargate sagt:

    Hi,

    also ich habe es jetzt hinbekommen.. oscam und die ftdi treiber laufen :) Das Startscript für die USB Treiber hat ja bei dir ohne probleme funktioniert oder gab es da mal schwierigkeiten, sonst würde ich dass auch so übernehmen ? Wie hast du eigentlich die Oscam-Binary eingebunden dass die automatisch startet und runterfährt ?

    mfg stargate

  14. Ronald sagt:

    Hallo stargate,

    super, dass es nun bei dir funktioniert! Wie hast du die Sache mit den USB-Treibern gelöst? Ich würde es gerne in die Artikel aufnehmen! Das automatische Laden der Treiber hat bei mir immer problemlos funktioniert. Eine Lösung für das Starten von OSCam habe ich gerade eben im Artikel ergänzt.

  15. stargate sagt:

    Hi,

    also ich habe mir per Crosscompiling nen Kernel-Modul erstellt, die FTDI Treiber liegen im Synology Source code und müssen “nur” noch Kompiliert weden.. Ich bin im prinzip nach dieser Anleitung vorgegangen.. “http://hallard.wikidot.com/synomodules” aufgrund meiner mangelden Linuxkenntnisse war es ein harter Leidensweg ^^ Aber es funktioniert ;) und für die kommende DSM 4.1 darf ich mir vermutlich nochmal neue Module erstellen..

  16. stargate sagt:

    Hi,

    also meine Kernel Module gehen mit der neuen 4.1 nicht mehr da der Kernel geupdatet wurde. Ka wie das bei den ARM Versionen ist bei allen wurde der Kernel nicht aktualisiert.. Ich hoffe Synology veröffentlich bald die neuen Toolchains und den Syno quellcode..

  17. bishop sagt:

    gibt es schon news bezüglich toolchain für dsm4.1?
    würde mir auch gerne ne oscam basteln für die ds212+

  18. controlc.de sagt:

    Hallo,
    ich versuche oscam auch in einer Ubuntu-VM zu bauen, aber bei mir klappt es nicht, d.h. cmake läuft durch und bricht auch nicht mit nem Fehler ab, aber im build-Verzeichnis ist kein binary. Hier ist das Log:
    -- The C compiler identification is GNU
    -- Check for working C compiler: /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
    -- Check for working C compiler: /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Unknown cross system name:
    -- Looking for pthread.h
    -- Looking for pthread.h - found
    -- pthread found. Adding pthread support
    -- Looking for openssl/aes.h
    -- Looking for openssl/aes.h - not found
    -- openssl not found.
    -- Looking for time.h
    -- Looking for time.h - found
    -- librt found (needed by libusb).
    -- Looking for /home/toolchain/arm-none-linux-gnueabi/include/libusb-1.0/libusb.h
    -- Looking for /home/toolchain/arm-none-linux-gnueabi/include/libusb-1.0/libusb.h - found
    -- libusb 1.0 found (/home/toolchain/arm-none-linux-gnueabi/lib/libusb-1.0.a). Adding smartreader support
    -- Looking for PCSC/wintypes.h
    -- Looking for PCSC/wintypes.h - not found
    -- The CXX compiler identification is GNU
    -- Check for working CXX compiler: /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-c++
    -- Check for working CXX compiler: /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Unknown cross system name:
    -- librt found (needed by libusb).
    -- Utils: pthread found. Adding pthread support
    -- libusb 1.0 found (/home/toolchain/arm-none-linux-gnueabi/lib/libusb-1.0.a). Adding smartreader support
    -- Utils: operating system: Unknown
    -- Utils: target system: arm-none-linux-gnueabi

    -- Utils: use libusb functions
    --
    --
    -- operating system: Unknown
    -- target system: arm-none-linux-gnueabi
    -- revision: 7509
    -- use built-in crypt functions
    -- use system pthread functions
    -- use libusb functions
    --
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/toolchain/oscam-svn-syno/build

    Ich geh mal davon aus, dass es am fehlenden openssl liegt, aber wie bekomm ich das eingebunden?!

    @bishop: Wozu brauchst Du ne extra toolchain für dsm 4.1? Es sollte mit der aktuellen verfügbaren auch klappen.

  19. Stargate sagt:

    Hi,

    Also die 4.1 er Toolchain wurde mittlerweile veröffentlicht, aber leider der GPL Source-Code noch nicht.. Wenn du nur Oscam kompilieren willst, kannst du aber auch die alte Toolchain und GPL Source nutzen.. Mein unter 4.0 kompiliertes Oscam funktioniert auch noch unter 4.1….Nur bei den Kernel Modulen für den Kartenleser braucht du den aktuellen Source Code für die jew. kernel Module.. Aber bei deinem ARM Nas wurde der Kernel glaube ich eh nicht geupdatet.. Von dem her sollten die hier verlinkten Module noch funktionieren.. Aber alles natürlich ohne Gewähr…

  20. bishop sagt:

    hi,,

    bekomme leider immer ein
    [mouse] Cannot open device: /dev/ttyUSB0

    oder

    ERROR: Opening device /dev/ttyUSB0 (errno=2 No such file or directory)

    obwohl dmesg
    dies macht
    usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB0

    was mache ich falsch?

  21. Ronald sagt:

    Hi bishop,
    eine konkrete Antwort habe ich nicht für dich. Bist du nach meinem Tutorial vorgegangen?

    http://blog.rvi-media.de/linux/synology-ds112j-mit-easymouse-fur-oscam/

    Eventuell sind die USB-Module zwar geladen aber die Verknüpfung auf /dev/ttyUSB0 wird nicht gemacht? Schau mal diesbzgl. in dem Startskript aus dem o.g. Link bei


    # Create the first ttyUSB
    if [ -f /dev/ttyUSB0 ]; then
    mknod /dev/ttyUSB0 c 188 0

  22. Bernd sagt:

    Danke für deine Anleitung hier. Habe testweise mal OScam laufen und bemerke wenn ich das webif öffne, auch die HDD’s anlaufen. Ist das bei dir auch ? Habe keine logfiles oder ähnliches laufen, und die OSCam liegt auch wie hier beschrieben im /root/oscam/. Danke.

  23. Dominic sagt:

    Besteht hier Interesse an den FTDi Treibern für die DSM 4.1, da die hier verlinkten ja für die 4.0 gewesen sind und unter 4.1 nicht mehr laufen?
    Ich habe diese für die Marvell Kirkwood ARMv5TE 88F6281 (laufen auch auf dem 88F6282) und den Freescale PowerPC Synologys selber kompiliert.

  24. Jonas sagt:

    Hallo Dominic,

    würde mich sehr über die ftdi treiber für dsm 4.1 freuen, da ich es eben nach der anleitung oben durchgeführt habe und oscam nicht auf die easymouse2 zugreifen kann.

    es folgt immer die meldung “cannot open device /tty0USB”

    gruß

  25. Dominic sagt:

    Hallo Jonas,

    ich hatte dem Admin hier eigentlich schon per Mail zur Verfügung gestellt. Allerdings scheint er sie noch nicht veröffentlicht zu haben.
    Du kannst sie unter folgender Adresse herunterladen:

    http://www.senfkuchen.de/MarvellKirkwoodARMv5TE88F6281.rar

  26. Jonas sagt:

    Danke für den Link ;)

    Habs gerade mal eingefügt und oscam gestartet, bekomme aber immernoch die selbe fehlermeldung:

    ERROR: Opening device /dev/ttyUSB0 (errno=2 No such file or directory)
    Cannot open device: /dev/ttyUSB0

    Bei Eingabe von dmesg erscheint die easymouse allerdings:
    [ 67.270000] usbserial: USB Serial Driver core
    [ 67.400000] USB Serial support registered for FTDI USB Serial Device
    [ 67.400000] ftdi_sio 2-3:1.0: FTDI USB Serial Device converter detected
    [ 67.460000] usb 2-3: Detected FT232RL
    [ 67.460000] usb 2-3: Number of endpoints 2
    [ 67.460000] usb 2-3: Endpoint 1 MaxPacketSize 64
    [ 67.470000] usb 2-3: Endpoint 2 MaxPacketSize 64
    [ 67.470000] usb 2-3: Setting MaxPacketSize 64
    [ 67.620000] usb 2-3: FTDI USB Serial Device converter now attached to ttyUSB0
    [ 67.730000] usbcore: registered new interface driver ftdi_sio
    [ 67.740000] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver

    Hat da wer ne Idee zu? Auf meinem anderen Server (Router mit Tomoatusb) läuft die Konfiguration.

    Gruß Jonas

  27. Jonas sagt:

    @Ronald

    du hast in nem anderen kommentar oben geschrieben:

    “Eventuell sind die USB-Module zwar geladen aber die Verknüpfung auf /dev/ttyUSB0 wird nicht gemacht? Schau mal diesbzgl. in dem Startskript aus dem o.g. Link bei

    # Create the first ttyUSB
    if [ -f /dev/ttyUSB0 ]; then
    mknod /dev/ttyUSB0 c 188 0″

    was meinst du damit genau? weil das trifft ja auch auf mich zu.

    Gruß

  28. Pingback: Synology DS112j mit Easymouse für OSCam | Web Developer & Linux Blog

  29. Ronald sagt:

    Hallo Jonas,
    ich meinte damit, dass man mal die “mknod”-Zeile von Hand ausführen kann. Diese erzeugt dann die “Verknüpfung” in /dev/ttyUSB0. Vielleicht fehlt das beim Laden der Module.

  30. Peter sagt:

    Hallo Ronald.

    Also ich habe das ganze nun mit dem im ersten Beitrag verlinkten Paket für die USB-Treiber und dem in einer Antwort genannten Paket für oscam installiert. Das ganze läuft super nachdem ich die config-Dateien entsprechend meinen Bedürfnissen angepasst habe. Prozessorlast schwank etwas ist aber unkritisch.

    grüße
    Peter

  31. Jonas sagt:

    Hallo Ronald,

    der Tipp mit dem mknod hat geholfen. Oscam findet nun ne karte in /dev/ttyUSBo

    danke für Tipp :)

  32. Jens sagt:

    Hi,

    danke für die ganzen Infos hier!
    Hat alles uper geklappt und Oscam rennt….
    Ein kleines Problem habe ich aber doch:

    Hin und wieder stoppt in DSM der Oscam Dienst komplett. Das heisst das unter Paket-Zentrum steht er auf angehalten. Ich muss Ihn dann wieder manuell zum laufen bringen!
    Jemand ne Idee was ich machen kann oder womit das zusammenhängt?

    Grüße
    Jens

  33. Willy sagt:

    Hi!
    Für das Bauen einer OSCam-Binary hat Gorgone vom streamboard eine umfangreiche Anwendung mit dem Namen “simplebuild” geschrieben. Durch Auswahl der für den speziellen Einsatz erforderlichen Parameter kann man “passgenaue” Binaries für OSCam bauen. Vielleicht ist das für Interessierte eine Hilfe.

    Hier mal der Link zur Anwendung:
    http://www.streamboard.tv/wbb2/thread.php?threadid=37362

    Und hier zum entsprechenden thread:
    http://www.streamboard.tv/wbb2/thread.php?threadid=37367&threadview=0&hilight=&hilightuser=0&page=1

    Ich habe eine syno 712+ mit einer Intel x86 Architektur. Weil ich darauf keine vernünftige Umgebung für das Bauen von Binaries finde, habe ich auf einer VM (Oracle Virtual Box 4.2) Linux Mint aufgesetzt und dort meine Binary für OSCam mit simplebuild gebaut. Die soll später auf das OSCam.spk (http://dslub.synology.me/) geschoben werden. Schöner wäre ja, wenn man direkt auf Syno 712+ bauen könnte und auch nicht auf das (wohl polnische) spk zurückgreifen müsste

    Gruß

    Willy

  34. Jan sagt:

    Hallo,

    beim mir läuft alles ohne Fehler durch bis auf das kompilieren der oscam:
    Ich erhalte folgendes:

    — no libusb 1.0 found. No smartreader support

    Wo erwartet der compiler die usblib? Momentan ist meine unter /home/oscam-svn/usblib-1.0.9 wie im obigen Beispiel. Ich komm nicht so recht weiter…

    Jan

  35. ennimann sagt:

    Hi,
    bin auf diese Klasse Anleitung gestoßen, vielen Dank dafür. Im Moment arbeite ich noch mit einem alten ThinkPad T20 auf Debianbasis. Beim Versuch auf meine 112j zu migrieren komme ich allerdings nicht weiter. eine passende oscam habe ich. Habe auch schon einmal die Weboberfläche gesehen. Nach cp auf /root/oscam/ geht aber leider nix mehr, weder das script läuft bei mir noch die oscam selbst.
    Beim Script sehe ich ständig ^M drinne mit vi. Weiß nicht, ob das richtig ist. Nehme aber Vim bzw. Notpad+. Vermutlich passiert das beim kopieren aus dem Web hier. Möchte nicht alles abtippen, Gibt’s da noch ne andere Lösung bitte? Sonst eben doch tippen. hihi
    Gruß und Danke
    ennimann

  36. ennimann sagt:

    So, habs doch scheinbar hinbekommen. Das USB SBK funktionierte bei mir allerdings ohne Probleme auf Version DSM 4.2. Oscam-Script manuell erstellt und funktioniert. 2 Mal Easymouse angeschlossen.
    Autostart ok auch ohne das USB Script erstellt zu haben, weil ja das SPK sauber installiert wurde.
    CPU Last ok. Ich bin begeistert und happy. Werde den Debian erstmal in Reserve stehen lassen und die Synology auf Herz und Nieren testen.
    Vilen Lieben Dank für die Super Anleitung. Ohne Das hier, hätte ich mich nicht wirklich zurechtgefunden.
    Gruß
    ennimann

  37. Martin sagt:

    Zur Info!
    Um eine ältere Oscam Revision aus zuchecken hilft folgender Link.
    svn co http://streamboard.tv/svn/oscam/trunk oscam-svn -r xxxx

    xxxx = die build Nummer zb. 7675

  38. ennimann sagt:

    Hallo,
    Nach stundenlanger Qual mit dem Versuch die USB Treiber auf DSM4.3 zum Laufen zu bewegen und dem qualfollen Downgrade auf die DSM 4.2, gehen nun wieder die zwei Easymouse und die oscam, aber das Startscript will einfach nicht. Hatte ja alle Daten gesichert bzw. waren ja auf der Box geblieben.
    zig Mal kontrolliert und finde einfach keinen Fehler. Es sind die gleichen Inhalte die Gleichen Dateien und trotzdem sagt er mir, wenn ich /usr/syno/etc/rc.d/S99OSCam.sh start/stop oder restart eingebe immer “DiskStation> S99OSCam.sh start
    -ash: S99OSCam.sh: not found
    Rechte habe ich sogar mal auf 777 genommen, aber das half auch nicht. Keine Ahnung, wo ich noch ansetzen soll. Bin da völliger Laier.
    Wäre für Hilfe sehr dankbar.

    Gruß
    ennimann

  39. ennimann sagt:

    Oh man, so was banales wieder. Der vim Editor hatte sich von Unix auf Dos umgestellt und da waren die blöden ^M wieder drinne. Ich könnte blöde werden. Nun geht es wieder.
    Guten Rutsch.
    Neue Kerneltreiber für DSM4.3 sind übrigens in Sicht.
    Gruß
    ennimann

  40. bishop sagt:

    Hi,

    Gibt es schon funktionierende usb treiber sowie oscam für dsm 5?

    Thx

  41. Arne sagt:

    Hallo zusammen.
    Tolle Seite. Ich habe mit dem Oscam bei meiner DS713+ noch ein Problem und könnte einen Tip gebrauchen.
    Habe mittels Paketzentrum Oscam installiert (Quelle: http://dslub.synology.me/spkrepo/index.php/spkrepo/packages). Nach dem 2. Startversuch sagt Oscam im Paketzentrum auch es würde laufen. Stimmt aber nicht ;-) – keine Oscam-Prozesse. Ich habe dann händisch gestartet und folgende Ausgabe bekommen:

    NAS> ./oscam
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by ./oscam)
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /usr/local/oscam/lib/libssl.so.1.0.0)
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.7′ not found (required by /usr/local/oscam/lib/libcrypto.so.1.0.0)
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /usr/local/oscam/lib/libcrypto.so.1.0.0)
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by /usr/local/oscam/lib/libusb-1.0.so.0)
    ./oscam: /lib64/libc.so.6: version `GLIBC_2.8′ not found (required by /usr/local/oscam/lib/libusb-1.0.so.0)

    Hat jemand eine Idee, was ich tun kann? Selbst compilieren möchte ich eigentlich nicht. Ich denke, man muss nur richtige Symlinks bauen, aber immo verstehe ich nicht woran es hängt.

    Gruß,
    Arne

  42. bishop sagt:

    hi,

    ich bleibe bei dem kompelieren von libusb hängen!

    was bedeutet die meldung???

    root@ubuntu:/home/oscam-svn# cd /home/oscam-svn/libusb-1.0.8
    root@ubuntu:/home/oscam-svn/libusb-1.0.8# CC=/home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc ./configure –host=arm-linux –target=arm-linux –prefix=/home/toolchain/arm-none-linux-gnueabi/ –exec-prefix=/home/toolchain/arm-none-linux-gnueabi/
    configure: WARNING: If you wanted to set the –build type, don’t use –host.
    If a cross compiler is detected then cross compile mode will be used.
    checking for a BSD-compatible install… /usr/bin/install -c
    checking whether build environment is sane… yes
    checking for arm-linux-strip… no
    checking for strip… strip
    checking for a thread-safe mkdir -p… /bin/mkdir -p
    checking for gawk… no
    checking for mawk… mawk
    checking whether make sets $(MAKE)… yes
    checking for arm-linux-gcc… /home/toolchain/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
    checking whether the C compiler works… no
    configure: error: in `/home/oscam-svn/libusb-1.0.8′:
    configure: error: C compiler cannot create executables
    See `config.log’ for more details.
    root@ubuntu:/home/oscam-svn/libusb-1.0.8#

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *