OSCam ist nicht, wie fälschlicherweise häufig verbreitet, ein illegaler EMU, sondern ein Cardserver.
Die Vorteile von OSCam sind, dass es protokoll- und plattformübergreifend ist, und somit alle möglichen EMU´s/CAM´s "bedienen" kann.
Das OS steht für Open Source, dass heißt, dass die Source (der Quelltext) für jeden zugänglich ist, und (theoretisch) jeder an der Weiterentwicklung helfen kann.

In diesem Howto installieren wir ein OSCam , auf dem eine HD01 Karte gelesen, und verwaltet wird. Als USB-Kartenlesegerät setzen wir eine "Easymouse2" voraus.
Dies ermöglicht uns, bzw unserem Tvheadend die HD+ Programme zu entschlüsseln.
Kommen wir zu der installation (angelehnt an Teil 1, Tvheadend)
- Installation OSCam
- Erstellen der Konfigurations Dateien
- Cardreader Installieren
- Autostart Konfigurieren
- Tvheadend mit OSCam verbinden
ab in die Konsole 😉
1. Installation OSCam
sudo -s cd /usr/src apt-get install subversion dialog libusb-dev build-essential git pkg-config libssl-dev bzip2 wget svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn cd oscam-svn make allyesconfig make CONF_DIR=/etc/oscam
Anschliesend Wird das OSCam binary gebaut, es befindet sich im Unterordner Distribution.
Wir kopieren es nach /usr/bin/ und bennenen das Binary in oscam um.
cd Distribution
cp oscam-1.20_svn(AktuellGebauteOSCamRevision)-x86_64-linux-gnu-ssl /usr/bin/oscam
Oder (ARM)
cp oscam-1.20_(AktuellGebauteOSCAMRevision)-arm-linux-
2. Erstellen der Konfigurationsdateien
oscam.conf
mkdir /etc/oscam joe /etc/oscam/oscam.conf
Folgendes einfügen + Abspeichern!
# oscam.server generated automatically by Streamboard OSCAM 1.20_svn SVN r11434
# Read more: http://www.streamboard.tv/svn/oscam/trunk/Distribution/doc/txt/oscam.server.txt
[global]
logfile = /var/log/oscam.log
maxlogsize = 2048
[cache]
[dvbapi]
enabled = 1
au = 1
pmt_mode = 4
listen_port = 9000
user = tvheadend
boxtype = pc
[webif]
httpport = 8888
httpuser = DeinBenutzernameZurAnmeldung
httppwd = DeinKennwortZurAnmeldung
httphideidleclients = 0
httpallowed = 127.0.0.1,192.168.0.0-192.168.255.255
oscam.user
joe /etc/oscam/oscam.user
Folgendes einfügen + Abspeichern!
# oscam.user generated automatically by Streamboard OSCAM 1.20_svn SVN r11432 # Read more: http://www.streamboard.tv/svn/oscam/trunk/Distribution/doc/txt/oscam.user.txt [account] user = tvheadend pwd = PseudoKennwortVergeben monlevel = 4 au = 1 group = 1
oscam.server
joe /etc/oscam/oscam.server
Folgendes einfügen + Abspeichern!
# oscam.server generated automatically by Streamboard OSCAM 1.20_svn SVN r11434 # Read more: http://www.streamboard.tv/svn/oscam/trunk/Distribution/doc/txt/oscam.server.txt [reader] label = HD01 description = HD01 protocol = mouse device = /dev/hd01 autospeed = 0 caid = 1830 boxkey = A7.....7C rsakey = BF....D5 detect = cd mhz = 600 cardmhz = 368 ident = 1830:000000,003411,008011 group = 1 emmcache = 1,1,2,0 blockemm-unknown = 1 blockemm-g = 1
Anmerkung :
Boxkey und RSAkey könnt ihr euch z.b hier suchen :
oscam.dvbapi
joe /etc/oscam/oscam.dvbapi
Folgendes einfügen + Abspeichern!
P: 1830
Logfile und Cache anlegen, Berechtigungen anpassen
touch /var/log/oscam.log
mkdir /tmp/.oscam
chown -R hts:users /etc/oscam/*
chown -R hts:users /tmp/.oscam/*
chown -R hts:users /var/log/oscam.log
User hts zur Gruppe Dialout hinzufügen
Anmerkung :
So erlauben wir User hts auf das USB Device (den Kartenleser) zuzugreifen.
usermod -aG dialout hts
Geschafft!
3. Cardreader Installieren
Nach dem anschließen des Kartenlesers wird das Gerät meistens unter /dev/ttyusb0 angesprochen, es kann allerdings sein, insbesondere nach einem reboot, dass der Kartenleser plötzlich unter /dev/ttyusb1-9 zur verfügung steht.
Das ist schlecht und wollen wir nicht, denn wir haben in der oscam.server eingetragen, dass der Kartenleser unter /dev/hd01 angesprochen wird!
Die Lösung ist eine "udev rule" anzulegen, der Kernel identifiziert das Gerät anhand der Hardware ID, oder Seriennummer und ist in der Lage den Kartenleser an jedem usb-port zu identifizieren.
Wir erstellen also eine Rule die Den Kartenleser Identifiziert, und bei Anschluss unter /dev/hd01 zur verfügung stellt.
In diesem Beispiel wird der Kartenleser unter seiner Vendor ID identifiziert
joe /lib/udev/rules.d/49-easymouse.rules
Folgendes einfügen + Abspeichern!
# Konfiguration für Smartcards über Easymouse2 # # ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC SUBSYSTEMS=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403",SYMLINK+="hd01", KERNEL=="ttyUSB[0123456789]"
Jetzt noch die Positionen der "Dipschalter"
1.unten ; 5V
2.unten; Phoenix
3.oben ; -->
4.oben ; 6MHz
4.Autostart Konfigurieren
joe /lib/systemd/system/oscam.service
Folgendes einfügen + Abspeichern!
[Unit] Description=OScam After=network.target Requires=network.target [Service] User=hts Group=users Type=forking ExecStart=/usr/bin/oscam -b -B /var/run/oscam.pid ExecStop=/bin/rm /var/run/oscam.pid TimeoutStopSec=1 Restart=always RestartSec=5 StartLimitInterval=0 [Install] WantedBy=multi-user.target
Autostart aktivieren
systemctl daemon-reload systemctl enable oscam.service
Jetzt Starten wir unsern PC neu, anschließend sollte OSCam unter http://meine-server-ip:8888 erreichbar sein.
reboot
Wir können uns nun einloggen mit unserem vergebenen Usernamen + Kennwort aus der oscam.conf
einmal unter Live-Log schauen ob es Probleme gibt, insbesondere ob die HD01 Karte korrekt erkannt wird.
Wenn das Log in etwa so ausschaut, :
wurde die HD01 Karte korrekt unter /dev/hd01 erkannt und gestartet. 🙂
nun zum letzten schritt,
5.) Tvheadend mit OSCam verbinden
Wir haben in der oscam.conf unter der sektion DVBAPI eingestellt, dass OSCam auf port 9000 für User tvheadend auf anfragen lauschen soll, dies müssen wir in tvheadend nun auch so einstellen.
also, einmal mit z.b Firefox http://deine-server-ip:9981/tvheadend aufrufen und als "Admin" einloggen.
unter Konfiguration / CAś nun einen neuen Client mit dem TYP CAPMT hinzufügen.
Mit dem Klick auf +Anlegen wird das Socket aktiviert + gespeichert.
Jetzt starten wir am besten den Server neu und kontrollieren anschließend im OSCam Log ob dort die Information auftaucht, dass sich User tvheadend verbunden hat, ebenso sollte in tvheadend unter Konfiguration CAś bei der Schnittstelle "oscam" ein grüner Haken stehen.
Geschafft!
Forums Diskussionen zum Beitrag https://takealug.de/wordpress/community/oscam/anleitung/#post-2
Guten Tag! 🙂
Benötige bitte eine kleine Hilfe…. bei folgendem Punkt bin ich stehen geblieben:
cp oscam-1.20_svn(AktuellGebauteOSCamRevision)-x86_64-linux-gnu-ssl /usr/bin/oscam
Das macht er mir nicht. Ich habe es wie folgt geschrieben:
cp oscam-1.20_svn11520-x86_64-linux-gnu-ssl /usr/bin/oscam
Hab ich es vielleicht falsch geschrieben? Dazu muss ich allerdings noch dazu sagen, ich baue einen server auf meinem raspberry 3
Sorry für die späte rückmeldung, magst du dafür einen Thread eröffnen und den kompletten Log posten ?
hi
ich habe das gleiche problem wie sash was muss ich da rein schreiben?
bis dahin hat alles super geklappt
Hi, ich habe Oscam auch mal geupdated, nach dem Build befindet sich die neue Binary im Unterverzeichniss „Distribution“
e.g.
cp oscam-svn/Distribution/oscam-1.20_svn11537-x86_64-linux-gnu-ssl /usr/bin/oscam
Hi
ich habe es nochmal probiert und es geht nicht ab dem punkt ist schluss
cp oscam-1.20_svn(AktuellGebauteOSCamRevision)-x86_64-linux-gnu-ssl /usr/bin/oscam
so sieht das dann bei mir aus
root@raspberrypi:/usr/src/oscam-svn/Distribution# cp oscam-1.20_svn11546-x86_64- linux-gnu-ssl /usr/bin/oscam
cp: der Aufruf von stat für ‚oscam-1.20_svn11546-x86_64-linux-gnu-ssl‘ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
root@raspberrypi:/usr/src/oscam-svn/Distribution# cp oscam-1.20_svn 11546-x86_64 -linux-gnu-ssl /usr/bin/oscam
und im Ordner Distribution sieht das so aus
oscam-1.20_svn11546-arm-linux-gnueabihf-ssl
oscam-1.20_svn11546-arm-linux-gnueabihf-ssl.debug
was mache ich falsch ???
Hi, mein Howto ist für Ubuntu (x86) du nutzt offensichtlich arm.
(mein Fehler)
Dein gebautes Binary nennt sich :
oscam-1.20_svn11546-arm-linux-gnueabihf-ssl
Du müsstest also oscam-1.20_svn11546-arm-linux-gnueabihf-ssl als oscam in /usr/bin kopieren.
@pitbull : Vergiss nicht, dass du einen aktiven USB- Hub brauchst beim Raspberry, für den Cardreader.
😉
Tag, ich melde mich nach langer Zeit mal wieder.
Habe inzwischen einen Card- Server mit einem Intel Rechner erstellt, mit zweierlei Karten. Ein Mal HD und ein Mal KabelBW. Dieser läuft schon seit geraumer Zeit sehr gut. Ein Problemchen hab ich dann doch noch. Beide Karten haben ein Ablaufdatum. Nach diesem Datum bleiben sie stehen und ich steck sie dann jedes mal für ca. ne halbe Stunde in meinen Receiver, um es durch die AU up zu daten. Also habe ich mir nachträglich eine PCI- Karte beschafft, mit DVB-C/T/S2. Meine Absicht damit ist, dass ich die Karten nicht mehr rausholen muss und das es direkt, per Signal sich das AU holt. Leider hab ich es nicht geschafft, den Kernel zu installieren, bzw. zu kompilieren. Das ist Neuland für mich. Hoffe Ihr könnt mir da behilflich sein. 🙂
Hi, wenn die kommunikation zwischen Tvheadend und Oscam mittels dvbapi korrekt funktioniert (AU aktiviert) funktioniert das ganze auch ohne die Karte(n) umstecken zu müssen. ich musste bisher lediglich mein „ABO“ verlängern, und kurz einen Kanal einschalten und „warten bis hell“.
Ja na klar, so ist ja auch meine Absicht Basti, aber bekomme es nicht hin das die Tv-Karte (PCI) läuft. Habe sie nachträglich eingebaut. Und danke für die schnelle Antwort 🙂
Sorry, dann habe ich etwas falsch gelesen 🙂
Erstmal wäre es interessant zu wissen um welche pci karte es denn geht ?
In den allermeisten Fällen funktionieren die Mediabuild Treiber für ältere Kernel (z.b in ubuntu 18.04)
Schau dir dazu mal Punkt 2.1 aus dieser Anleitung an :
https://takealug.de/wordpress/2018/12/30/tvheadend-a-tv-streaming-server-and-recorder-for-linux/
BTW, generell fände ich es praktischer und übersichtlicher würdet ihr ein Thema im Forum eröffnen.