Website-Icon Alex Haack

OSCAM auf Debian/Ubuntu installieren

Zuletzt aktualisiert am 26.03.2024 um 05:03 Uhr

5
(53)

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

Vorbereitungen

Alle Befehle werden im Terminal eingegeben

Compiler und Werkzeuge installieren

Debian/Ubuntu Server

Getestet mit

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

BefehlBeschreibung
sudo service softcam.oscamd startstartet OSCAM
sudo service softcam.oscamd stopbeendet OSCAM
sudo service softcam.oscamd restartstartet OSCAM neu
sudo service softcam.oscamd statuszeigt 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

BefehlBeschreibung
sudo /etc/init.d/softcam.oscamd startstartet OSCAM
sudo /etc/init.d/softcam.oscamd stopbeendet OSCAM
sudo /etc/init.d/softcam.oscamd restartstartet OSCAM neu
sudo /etc/init.d/softcam.oscamd statuszeigt den aktuellen Status von OSCAM an.

Methode 3

BefehlBeschreibung
sudo systemctl softcam.oscamd startstartet OSCAM
sudo systemctl softcam.oscamd stopbeendet OSCAM
sudo systemctl softcam.oscamd restartstartet OSCAM neu
sudo systemctl softcam.oscamd statuszeigt 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…

Weitere Beiträge

Weiterer Lesestoff

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 53

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Beitrag teilen

Bereits 0 Mal geteilt!

Die mobile Version verlassen