Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

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

konvader

Newbie
Registriert
20. Dezember 2009
Beiträge
3
Reaktionspunkte
14
Punkte
23
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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


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.

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

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.

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


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

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
-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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
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
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
./
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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Zusätzlich benötigen wir noch den Quellcode von libusb. Den gibt es hier
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

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.
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

Als nächstes müssen die OSCam Konfigurationsdateien auf den Server kopiert werden.
Die oscam.conf Datei könnte z.B. so aussehen

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


oscam.user

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

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:
AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C

OSCam Server Paket 1.20 #7944

https://www.digital-eliteboard.com/downloads.php?do=file&id=21037


- - - Aktualisiert - - -


USB Module für Synology Diskstation mit Intel Atom CPU

Link ist nicht mehr aktiv.

- - - Aktualisiert - - -

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

Link ist nicht mehr aktiv.
 
Zuletzt bearbeitet:
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:

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

muß lauten:

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

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

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!

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:
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:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


und hier die toolchain-i686-DS.cmake
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!


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:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

wenn ich die oscam verwende

MfG wh.for
 
Zuletzt bearbeitet:
AW: Tutorial: OSCam mit Smargo S02 und HD02 für Synology Diskstation mit Intel Atom C


Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!

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 bearbeitet von einem Moderator:
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:
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
 
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.
 
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?
 
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.
 
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.
 
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:


Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
 
Zuletzt bearbeitet von einem Moderator:
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
 
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:
Zurück
Oben