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
- OSCam läuft – und dreht durch
- OSCam für die Diskstation neu kompilieren
- OSCam zum Laufen bekommen
- Ein geeignetes Verzeichnis finden
- OSCam automatisch starten lassen
- 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/
Streamboard.gmc.to ist jetzt Streamboard.de.vu
Mit der Adresse aus dem Artikel kann man also nix auschecken…
Zur Info! Viele Grüße…
Hi Michael,
vielen Dank für den Hinweis, ich habe alle URLs erneuert!
Viele Grüße
Ronald
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
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!
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
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..
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 ?
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..
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ß!!
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.
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 ?
./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! ;(
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
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.
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..
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..
gibt es schon news bezüglich toolchain für dsm4.1?
würde mir auch gerne ne oscam basteln für die ds212+
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.
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…
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?
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
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.
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.
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ß
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
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
@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ß
[…] ← jQuery++ – Schöne Helfer für jQuery OSCam auf einer Synology Diskstation DS112j → […]
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.
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
Hallo Ronald,
der Tipp mit dem mknod hat geholfen. Oscam findet nun ne karte in /dev/ttyUSBo
danke für Tipp :)
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
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
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
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
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
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
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
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
Hi,
Gibt es schon funktionierende usb treiber sowie oscam für dsm 5?
Thx
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
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#
Hi, ist die seite noch aktuell?
bei der befehlszeile bekomme ich folgendes:
befehl:
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/
Fehler:
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.