Zuletzt aktualisiert am 26.03.2024 um 05:03 Uhr
Um OSCAM installieren zu können, sind einige Schritte möglich, hier werden diese gezeigt.
Leider verfügt das Webinterface von OScam nicht über HTML5/CSS3 usw., was sehr schade ist, somit passt es sich auch nicht den verschiedenen Bildschirmgrößen an.
Hinweis
Diese Anleitung dient nur zu Schulungszwecken, auf Richtigkeit kann keine Gewähr übernommen werden. Ob irgendwas funktioniert, weiß ich nicht.
Diese Anleitung wird noch etwas überarbeitet. Sobald die Überarbeitung fertig ist, wird dieser Text wieder entfernt. Das Start/Stop-Script wird noch überarbeitet.
Sehr wichtige Hinweise
Seit neuerem können viele Funktionen nicht mehr ausgewählt werden, da viele Fehlermeldungen auftauchen und die Erstellung abgebrochen wird. Das Beispiel mit der Patch-Datei funktioniert inzwischen auch nicht mehr, auch nicht ein anderer Patch mit einer Zahl, woran es liegt, wissen nur die Programmierer oder die davon Ahnung haben [Stand: 26.03.2024]
Voraussetzungen
- sudo (ggf. root)
- Internetverbindung
- Terminal
- Weitere Pakete (siehe Compiler und Werkzeuge installieren)
Vorbereitungen
Alle Befehle werden im Terminal eingegeben
Compiler und Werkzeuge installieren
Debian/Ubuntu Server
Getestet mit
- Ubuntu Server 22.04 LTS/21.04 LTS/20.04 LTS
- Debian 12.1.0 (standardmäßig ist bei einer Neuinstallation von Debian der Benutzer nicht in der Gruppe sudoer’s und standardmäßig kann der neue bzw. existierende nicht mal so eben hinzugefügt werden, da bedarf es wohl erweiterte Schritte. Hier wurden die Vorgänge mittels root erledigt)
Benötigte Abhängigkeiten installieren
sudo apt update;sudo apt install build-essential gcc cmake dialog libpcsclite-dev libssl-dev libusb-1.0-0-dev libusb-dev pcsc-tools pcscd subversion
OSCAM Quelldateien besorgen
sudo svn co https://svn.streamboard.tv/oscam/trunk/ /usr/local/src/oscam-svn
Verzeichnis betreten
cd /usr/local/src/oscam-svn
Patch einpflegen
Diesen Schritt nur machen, wenn eine Patch-Datei eingepflegt werden soll. Wenn keine Patch-Datei verwendet werden soll, diesen Schritt einfach überspringen und zum Abschnitt Compilieren gehen.
Um ein Patch anzuwenden, muss die Patch-Datei sich im gleichen Ordner befinden, wo sich auch die SVN-Dateien von OSCAM befindet.
Beispiel normaler “Patch”
Es ist nicht garantiert, dass das Patchen klappt. In diesem Beispiel gab es bei der Patch-Datei Fehlermeldungen, scheinbar ist die Patch-Datei mit der SVN-Version von OSCAM nicht kompatibel…
Herunterladen
Nur zu Testzwecken! Bitte kompatible Patch-Datei verwenden…
sudo wget https://github.com/oscam-emu/oscam-emu/raw/master/oscam-emu.patch -O /usr/local/src/oscam-svn/oscam-emu.patch
Patchen
Haupt-Patch
Sofern gewünscht, könnte die heruntergeladene Patch-Datei oscam-emu.patch in OScam eingebracht werden.
sudo patch -p0 -b < oscam-emu.patch
Weiterer Patch
Bei einer weiteren Patch-Datei muss der Haupt-Patch bereits integriert worden sein, sonst könnte es scheitern.
Der Name oscam-emu-weiterer.patch muss natürlich mit dem richtigen Namen ersetzt werden.
sudo patch -p1 -b < oscam-emu-weiterer.patch
Pro neuer Patch-Datei muss die Nummer für den Parameter -p0
, -p1
immer erhöht werden, also zum Beispiel -p2
, -p3
usw.
Compilieren
Methode 1
Add-Ons selber auswählen
Mit dieser Option wird eine grafische Ansicht in der Shell gestartet und es können die Add-Ons selber ausgewählt werden.
Wenn diese Variante nicht verwendet werden soll, dann wäre Methode 2 vorhanden.
Grafische Oberfläche starten
sudo ./config.sh --gui
Programm erstellen
sudo make
Debug-Datei löschen
Sofern die Debug-Datei nicht benötigt wird, kann diese gelöscht werden.
sudo rm /usr/local/src/oscam-svn/Distribution/oscam-*.debug
Ausführbare Datei verschieben
sudo mv /usr/local/src/oscam-svn/Distribution/oscam-* /usr/local/bin/
Datei umbenennen
sudo mv /usr/local/bin/oscam-* /usr/local/bin/oscam
Weitere Schritte
Als nächstes geht es mit “Abschluss” weiter, Methode 2 bitte ignorieren.
Methode 2
Quellcode mit vorhandenen Optionen compilieren
Sofern die grafische Ansicht nicht verwendet werden soll, kann in der Regel auch diese Variante verwendet werden. Falls noch Optionen fehlen können diese manuell hinzugefügt oder auch weggelassen werden.
Wenn diese Variante nicht verwendet werden soll, dann wäre Methode 1 vorhanden.
Hinweis
Leider klappt die Einbindung von LCD, LED und IPv6 nur mittels Methode 1 und muss darüber aktiviert werden!
Fehlermeldung
CMake Warning:
Manually-specified variables were not used by the project:
MODULE_IPV6
MODULE_LCD
MODULE_LED
Befehlszeile
sudo svn update;sudo cmake -DMODULE_CAMD33=0 -DMODULE_CAMD35=1 -DMODULE_CAMD35_TCP=0 -DMODULE_NEWCAMD=1 -DMODULE_CCCAM=1 -DMODULE_GBOX=1 -DMODULE_RADEGAST=1 -DMODULE_SERIAL=1 -DMODULE_MONITOR=1 -DMODULE_CONSTCW=1 -DMODULE_RADEGAST=1 -DREADER_NAGRA=1 -DREADER_IRDETO=1 -DREADER_CONAX=1 -DREADER_CRYPTOWORKS=1 -DREADER_SECA=1 -DREADER_VIACCESS=1 -DREADER_VIDEOGUARD=1 -DREADER_DRE=1 -DREADER_TONGFANG=1 -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=1 -DWITH_LIBCRYPTO=1
Ausführbare Datei erstellen
Bitte auf Fehler überprüfen. Wenn keine Fehlermeldungen aufgetreten sind, kann mit der Erstellung der ausführen Datei begonnen werden.
sudo make
Erstellte Datei installieren
Jetzt wird die erstellte Datei installiert. Bei der Installation werden alle Dateien am richtigen Ort installiert.
sudo make install
Weitere Schritte
Als nächstes geht es mit “Abschluss” weiter.
Abschluss
Bitte nochmals auf Fehler prüfen.
Das Programm OSCAM sollte in diesem Ordner sich befinden: /usr/local/bin
ls /usr/local/bin | grep -i "oscam*"
Programm ausführbar machen
sudo chmod +x /usr/local/bin/oscam*
Die Konfigurationsdateien sollte in diesem Ordner sich befinden: /usr/local/etc
ls /usr/local/etc
Standardkonfigurationsdateien verwenden
Wenn keine eigenen Konfigurationsdateien verwendet werden sollen, können die Standard-Dateien in den Ordner kopiert werden. Somit lassen sich einige Dinge bereits einstellen. Standardmäßig ist der Ordner in der Regel leer.
Hinweis! Hierbei handelt es sich nur um Beispiele, die Beispieleinträge enthalten, die in der Regel aber nicht benötigt werden.
Da die Standarddateien wie die oscam.config
fehlerhafte Einstellungen enthält und auch sehr viele Beispiele vorhanden sind, wird bei Gelegenheit eine angepasste Variante bereitgestellt. Wer aber Interesse hat, kann statt die Dateien zu kopieren, bei Bedarf auch die Dateien im Quellordner sich anschauen /usr/local/src/oscam-svn/Distribution/doc/example/
Beispieldateien nur kopieren, wenn keine eigenen verwendet werden sollen, oder nur dann, wenn viel vielen Dateien manuell angepasst/bearbeitet wurden.
sudo cp -R /usr/local/src/oscam-svn/Distribution/doc/example/ /usr/local/etc/oscam/
Informationen anzeigen
Im Terminal folgendes eingeben
sudo /usr/local/bin/oscam -V
Hilfe anzeigen
Im Terminal folgendes eingeben
sudo /usr/local/bin/oscam --help
Starten
Im Terminal folgendes eingeben, wenn kein Script verwendet werden soll… (mit Strg + C wird OSCAM beendet)
sudo /usr/local/bin/oscam --config-dir /usr/local/etc/oscam/
Im Terminal werden einige Informationen angezeigt.
Beispielausgabe
00:00:00 00000000 s >> OSCam << cardserver log switched, version 1.20_svn, build r11714 (x86_64-linux-gnu)
00:00:00 00000000 s (main) System name = Linux
00:00:00 00000000 s (main) Host name = pc
00:00:00 00000000 s (main) Release = 5.15.0-50-generic
00:00:00 00000000 s (main) Version = #56-Ubuntu SMP Tue Sep 20 13:23:26 UTC 2022
00:00:00 00000000 s (main) Machine = x86_64
00:00:00 00000000 s (main) creating pidfile /tmp/.oscam/oscam.pid with pid 81630
00:00:00 00000000 s (main) signal handling initialized
00:00:00 00000000 s (main) waiting for local card init
00:00:00 620D9D3F h (webif) webif: decompressed 166169 bytes back into 406312 bytes
00:00:00 620D9D3F h (webif) HTTP Server running. ip=0.0.0.0 port=8888
00:00:00 00000000 s (main) init for all local cards done
00:00:00 00000000 s (emmcache) loading emmcache disabled since no reader is using it!
00:00:00 00000000 s (emmcache) loading emmstats disabled since no reader is using it!
00:00:00 00000000 s (gbox) local gbox failed init
00:00:00 604FCD83 c (client) plain dvbapi-client granted (anonymous, au=off)
00:00:00 604FCD83 c (dvbapi) ERROR: Could not detect DVBAPI version.
Empfohlen wird ein Start/Stop-Script. Außerdem landen standardmäßig die Konfigurationsdateien in /usr/local/etc/
statt wie /usr/local/etc/oscam/
oder wahlweise /etc/oscam/
😉
Start/Stop-Script
Methode 1
Wenn es etwas schneller sein darf, kann das fertige Start/Stop-Script direkt in das Verzeichnis /etc/init.d
hinein kopiert werden
Script Herunterladen
Das Script kann entweder mit Wget oder mit curl heruntergeladen werden.
sudo wget https://d.alexhaack.de/scripts/etc/init.d/softcam.oscamd -O ~/softcam.oscamd
Script verschieben
sudo mv ~/softcam.oscamd /etc/init.d/softcam.oscamd
Methode 2
Wenn man genügend Zeit hat und sich mit dem Inhalt des Scriptes vertraut machen möchte
cd /etc/init.d
sudo nano /etc/init.d/softcam.oscamd
Folgenden Inhalt in softcam.oscamd
einfügen und mit Strg + O speichern und mit Strg + X beenden
#!/bin/sh
### BEGIN INIT INFO
# Provides: softcam
# Required-Start: $local_fs $syslog
# Required-Stop: $local_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OScam
# Description: OScam SoftCAM, card reader and server.
### END INIT INFO
# SET YOUR DEFAULT CONFIG FOLDER
## DOES NOT WORK YET ##
#OSCAM_CONFIG_FOLDER=/usr/local/etc/oscam # comment out if you want to use this folder, and comment in other one - Recommended #
#OSCAM_CONFIG_FOLDER=/etc/oscam # comment out if you want to use this folder, and comment in other one #
#OSCAM_CONFIG_FOLDER=/etc/tuxbox/oscam # comment out if you want to use this folder, and comment in other one #
# Run sudo systemctl daemon-reload in terminal
# source generic LSB initscript helpers
. /lib/lsb/init-functions
# check if the oscam SoftCAM is still installed
test -x /usr/local/bin/oscam || exit 0
case "$1" in
start)
log_daemon_msg "Starting SoftCAM daemon" "OSCAMD"
#start-stop-daemon --start --quiet --oknodo --config-dir $OSCAM_CONFIG_FOLDER --exec /usr/local/bin/oscam & -- < /dev/null
start-stop-daemon --start --quiet --oknodo --exec /usr/local/bin/oscam & -- < /dev/null
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping SoftCAM daemon" "OSCAMD"
start-stop-daemon --stop --quiet --exec /usr/local/bin/oscam &
log_end_msg $?
;;
restart)
$0 stop
$0 start
;;
status)
status_of_proc /usr/local/bin/oscam oscam || exit $?
;;
*)
echo -e "Usage: $0 {start|stop|restart|status}\nVerwendung: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
Berechtigung setzen
sudo chmod 755 /etc/init.d/softcam.oscamd
sudo chmod +x /etc/init.d/softcam.oscamd
sudo chown root:root /etc/init.d/softcam.oscamd
Script Mitstarten
Script bei jedem Start/Neustart immer starten (Runlevel)
sudo update-rc.d softcam.oscamd defaults
sudo systemctl daemon-reload
Script bei jedem Start/Neustart nicht mehr starten
(wenn das Script nicht mehr mit gestartet werden soll, dann folgendes eingeben)
sudo update-rc.d softcam.oscamd remove
Weitere Infos von update-rc.d mit sudo update-rc.d --help
Starten/stoppen
Mögliche Befehle
Methode 1
Befehl | Beschreibung |
---|---|
sudo service softcam.oscamd start | startet OSCAM |
sudo service softcam.oscamd stop | beendet OSCAM |
sudo service softcam.oscamd restart | startet OSCAM neu |
sudo service softcam.oscamd status | zeigt den aktuellen Status von OSCAM an. |
Wenn im Terminal in etwa so was angezeigt wird
“lines 1-21/21 (END)” kann mit Ausrufezeichen ! und Enter als auch mit Strg + C das Statusfenster verlassen werden.
Methode 2
Befehl | Beschreibung |
---|---|
sudo /etc/init.d/softcam.oscamd start | startet OSCAM |
sudo /etc/init.d/softcam.oscamd stop | beendet OSCAM |
sudo /etc/init.d/softcam.oscamd restart | startet OSCAM neu |
sudo /etc/init.d/softcam.oscamd status | zeigt den aktuellen Status von OSCAM an. |
Methode 3
Befehl | Beschreibung |
---|---|
sudo systemctl softcam.oscamd start | startet OSCAM |
sudo systemctl softcam.oscamd stop | beendet OSCAM |
sudo systemctl softcam.oscamd restart | startet OSCAM neu |
sudo systemctl softcam.oscamd status | zeigt den aktuellen Status von OSCAM an. |
Wenn im Terminal in etwa so was angezeigt wird
“lines 1-21/21 (END)” kann mit Ausrufezeichen ! und Enter als auch mit Strg + C das Statusfenster verlassen werden.
Zutreffende Dateien suchen
Um alle Dateien die mit OSCAM zu tun haben könnten, können mit find
in der Regel gefunden werden
sudo find /etc -name "oscam*" -print
sudo find /usr -name "oscam*" -print
sudo find /var -name "oscam*" -print
OSCAM im Browser öffnen
Um OSCAM im Browser öffnen zu können, um Einstellungen vornehmen zu können, ist die Standardadresse folgendermaßen
IPv4
http://localhost:8888
oder
http://127.0.0.1:8888
IPv6
http://ip6-localhost:8888
oder
http://[::1]:8888
macOS-Test NICHT VERWENDEN! (BAUSTELLE)
defaults write com.apple.finder AppleShowAllFiles YES
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install cmake
brew install subversion
xcode-select --install
Bilder
Die Bilder sind aus dem Jahre 2022.
GUI
Webinterface
Hinweis: die Bilder wurden selber erstellt und dürfen nicht ohne Genehmigung anderweitig verwendet werden!
Linux Medien besorgen
Wenn keine grafische Oberfläche benötigt wird (empfohlen), dann einfach die Server nehmen, diese verwendet keine grafische Oberfläche, die das System aufblähen würde und auch nicht unnötig belastet…
- Debain
- Ubuntu Server (20.04.x Focal Fossa)
- Ubuntu Server (21.04.x Hirsute Hippo)
- Ubuntu Server (22.04.x Jammy Jellyfish)
- Ubuntu Server (23.04.x Lunar Lobster)
Weitere Beiträge
Weiterer Lesestoff
- streamboard.tv
Hey!
Ums auf dem aktuellen Ubuntu Server 20.x LTS zu installieren, fehlt noch
libssl-dev
und
libusb-1.0-0-dev
Ohne diese geht make nicht durch. Einfach per
sudo apt-get install ibssl-dev
sudo apt-get install libusb-1.0-0-dev
installieren.
Hi, vielen Dank für den Hinweis 🙂
Beitrag wurde ergänzt 😉
Hi,
danke für die super Anleitung! Hatte dies die ganze Zeit auf Raspbian laufen und nun den Umstieg zu Ubuntu Server 20.04.2 LTS gewagt. Leider funktioniert bei mir das Startscript nicht. Wenn ich die OSCam manuelle starte:
/usr/local/bin/oscam (im übrigen wurde dies im Artikel falsch geschrieben (/usr/local/etc/oscam), dann geht die OSCam. Nach einem Neustart muss diese wieder manuell gestartet werden! Woran kann dies liegen?
Vielen Dank im Voraus
Ich hoffe dass die Anleitung OK ist, ich bin jetzt auch kein Experte 😉
Wegen dem Starten und dem Script muss ich erst nochmal nachschauen 😉
Unter der Rubrik “Starten” hast du folgendes geschrieben:
/usr/local/etc/oscam
Die oscam liegt jedoch im Verzeichnis (lt. Deiner Anleitung): /usr/local/bin/oscam
Von daher muss der oben genannte Befehl zum starten: /usr/local/etc/oscam lauten.
Das meinte ich damit. Somit müsste dies in Deiner Anleitung angepasst werden.
Das Script startet bei mir mittlerweile. Geändert habe ich komischerweise nichts, von daher passt der Rest Deiner Anleitung!
Vielen Dank!
Sorry jetzt hab ich mich verschrieben 🙂
Befehl muss wie folgt heißen: /usr/local/bin/oscam
and if i want install a second oscam on other directory ? how i can do ? thanks
Currently, I don’t know 🙁
Maybe with Parameter?
Und wie würde ich Oscam dann updaten ?
Hallo 🙂
Leider weiß ich es derzeit nicht, da ich leider seit langer Zeit nichts mehr damit gemacht hatte, aber ich vermute, dass die Schritte ganz normal durchgegangen werden müsste 🤔 aber dann sollte OScam aktualisiert sein 😇
Bei Debian 12 gibt es beim compelieren von Oscam immer Fehlermeldungen, Debian 10 und 11 gehen ohne Probleme, warum geht das nicht bei Debian 12
Hallo Otto 🙂
In Debian 12 hatte ich noch nichts gemacht, werde aber es nachholen.
Es wäre schön gewesen, wenn die Fehler angegeben worden wären, so hätte man eventuell schauen können, woran es liegen könnte.
Ich habe das aktuelle Debian installiert und bin Schritt 1 gefolgt, aber ohne zu Patchen.
Ich hatte im Prinzip alle Optionen zum Testen ausgewählt und es kommen zum Beispiel für SSL Fehlermeldungen wie auch das MD5 usw. veraltet sei. Diese Fehler scheinen aber nicht an Debian zu liegen, sondern an den Code von OScam. MD5 ist auch veraltet, sollte man auch nicht mehr einsetzen. Vermutlich wurde dieser nicht für neuere Systeme angepasst. Ob es dafür einen Patch gibt, weiß ich nicht. Dieser wird zum Beispiel bei der Kompilierung haufenweise angezeigt, dass dieser bei OpenSSL 3.0 veraltet sei. Ebenfalls etwas mit AES_cbc_encrypt (encrypt/decrypt). Deswegen wird vermutlich auch SSL (TLS) wie auch andere Sachen nicht funktionieren.
Aktuell wird mir folgendes angezeigt
Mir ist nach langer Zeit wieder eingefallen, dass hier die Konfigurationsdateien erst nach und nach vom Webinterface standardmäßig in /usr/local/etc abgelegt wird, natürlich sollte man auch das Start-Stop-Script verwenden, da dort das Verzeichnis der Konfigurationen angegeben ist.
Ich habe bei Benötigte Abhängigkeiten installieren noch build-essential gcc hinzugefügt. Wenn Schritt 2 ausgeführt wird, kommt nur noch eine Warnmeldung. Einfach build-essential nachinstallieren 🙂
super, danke für die schnelle Antwort….
Kommt nicht immer vor 😉
Du bist leider nicht berechtigt, Entwürfe anzusehen.
die Fehlermeldung kommt immer wenn ich auf den Hyperlink “Benötigte Abhängigkeiten installieren ” in deiner Antwort gehe.
Huch ja, ist mir jetzt erst aufgefallen 😀
Ich habe es eben geändert 😉
Hallo, habe jetzt alles so gemacht wie du es beschrieben hast.
Nun sind es nur noch sehr wenige Fehler….aber ich kann die nicht beheben.
In file included from cscrypt/mdc2.h:67,
from cscrypt/mdc2.c:2:
/usr/include/openssl/des.h:176:28: note: declared here
176 | OSSL_DEPRECATEDIN_3_0 void DES_set_odd_parity(DES_cblock *key);
| ^~~~~~~~~~~~~~~~~~
cscrypt/mdc2.c:641:17: warning: ‘DES_set_key_unchecked’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
641 | DES_set_key_unchecked(&c->h, &k);
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:192:6: note: declared here
192 | void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule);
| ^~~~~~~~~~~~~~~~~~~~~
cscrypt/mdc2.c:644:17: warning: ‘DES_set_odd_parity’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
644 | DES_set_odd_parity(&c->hh);
| ^~~~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:176:28: note: declared here
176 | OSSL_DEPRECATEDIN_3_0 void DES_set_odd_parity(DES_cblock *key);
| ^~~~~~~~~~~~~~~~~~
cscrypt/mdc2.c:645:17: warning: ‘DES_set_key_unchecked’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
645 | DES_set_key_unchecked(&c->hh, &k);
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:192:6: note: declared here
192 | void DES_set_key_unchecked(const_DES_cblock *key, DES_key_schedule *schedule);
| ^~~~~~~~~~~~~~~~~~~~~
Bearbeitet von Alex Haack am 28.09.2023, Grund
Fehlermeldung im Codeblock gepackt 😉
Genau wie in deinem Beispiel bekomme ich ebenfalls diese Fehlermeldungen. Wie erwähnt, wird es eher an OScam liegen als an Debian, denn wenn einige Teile von einem eigentlich ursprünglichen Script nicht für neue Technologien angepasst wird, dann artet das irgendwann zu so etwas.
is deprecated heißt in etwa, das es veraltet ist. Ab OpenSSL 3.0 ist die verwendete Sache veraltet. Vermutlich hatte eventuell jemand sich gedacht, dass OScam auch auf ältere Systeme bzw. Betriebssysteme wie auf Enigma²-Boxen kompatibel sein soll, aber das ist nur eine Vermutung…
Es wäre ja auch nicht schlecht, wenn es dafür wenigstens einen Patch gäbe, womit das wenigstens konform wäre und die Kompilierung auch fehlerfrei ginge.
Hello. It works before but now not working. Can you make new guide?
I will show for a new guide.