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