Oscam als Client DVBapi

Aus Zebradem WIKI
Zur Navigation springenZur Suche springen

Das Board mit Freiheiten

Einleitung

Heute mal ein kleiner Workshop wie man Oscam als Client auf einem Receiver nutzt.


Hier wird also nicht beschrieben wie man einen Card- oder Sharingserver aufsetzt und auch nicht wie man Karten auf den Client Receiver übermittelt bekommt. Wer dazu mehr wissen will sollte sich zuerst hier im Wiki die anderen Anleitungen und Workshops ansehen.


Seit bereits unzähligen Revisionen kann man Oscam als Client Software einsetzen. Mit Client Software meine ich die Software die euch ein Bild auf den Fernseher zaubert. Diesen Teil nennt man bei Oscam "DVBapi" und so findet ihr es auch in den Konfigurationsdateien vor. Hat man den Oscam Cardserver bereits auf dem Receiver laufen, spart man sich zusätzliche Software wie CCcam, MGCamd oder Camd3 die bisher für das Bild zuständig waren. Da man Oscam für so gut wie jeden Linux Receiver kompilieren kann, hat man hier auch die Möglichkeit Oscam als Client einzusetzen wo vielleicht kein CCcam, MGCamd oder Camd3 laufen würde. Da Oscam ja so viele Protokolle beherrscht, kann man sich auf jeden gängigen Sharingserver verbinden.


Dem aufmerksamen Wiki Leser wird vielleicht auffallen das er das meiste schon mal gesehen hat. Der größte Teil wurde aus der Erklärung zur oscam.conf/dvbapi und oscam.dvbapi übernommen und hier als Mini Workshop zusammengefasst. Also auf gehts ......

Glossar

CAID = Conditional Access Identification | numerische Kennung für den Verschlüsselungsanbieter
ProviderID = ProviderID | numerische Kennung für den Pay TV Provider
SID = ServiceID | numerische Kennung für den Sender
ECM = Entitlement Control Message | Control Message zum errechnen des zu dieser Zeit gültigen Kontrollwortes

DVBapi aktivieren

Das DVBapi Modul wird in der oscam.conf aktiviert. Dort gibt es extra eine Sektion für DVBapi, mit ein paar notwendigen und ein paar optionalen Einstellungen. Das Verhalten des DVBapi Modules wird hingegen in der Datei oscam.dvbapi eingestellt. Wir wollen aber zuerst DVBapi aktiveren und gehen daher in die oscam.conf.


In dem folgendem Beispiel wurden von mir zwei Optionen weggelassen. Das wäre einmal "ignore" und auch die Option "priority". Man könnte da zwar CAIDs die ignoriert oder priorisiert werden sollen eintragen, dieser Weg ist aber veraltet und stammt noch aus einer Zeit als es noch keine extra DVBapi Konfigurationsdatei gab. Also gewöhnt euch am besten gleich an die extra Konfigurationsdatei hierfür zu verwenden. In dieser Konfigurationsdatei wird das verhalten des DVBapi Moduls festgelegt und das wird weiter unten auch noch erklärt.

Syntax

enabled = 0|1

Mit "1" wird das DVapi Modul aktivert. Default ist DVBapi deaktviert mit "0"

au = 0|1|2

Wie man sicher unschwer erkennt wird hier das AU an- oder abgeschaltet. Default ist AU abgeschaltet (0). Mit dem Wert "2" werden keinerlei AU Einstellungen beachtet. DVBapi macht dann bei dem Reader AU der die ECM Anfrage beantwortet.

boxtype = dbox2|dreambox|dm7000|duckbox|ufs910|ipbox|ipbox-pmt|qboxhd|coolstream|neumo

Damit wird ganz klar der Boxtyp angegeben. Default ist bei dieser Option "dreambox". Stellt man den falschen Boxtype ein wird man wohl kein Bild auf dem Fernseher bekommen.

user = username

In der oscam.user legt man das DVBapi als Benutzer an. Da reicht der "user", "pwd" und "group". Optional kann man noch "betatunnel" und den "au" Reader angeben. Letzteres macht aber nur Sinn, wenn man nicht "au = 2" gesetzt hat. Den Username den man dem DVBapi Module gibt kann man frei wählen und wird dann hier eingetragen.

pmt_mode = 0|1|2|3|4|5

Hier werden die PMT Einstellungen gemacht. PMT steht für Program Map Table. In einem PMT befindet sich die Information, welche Audio-, Video- und Datenstreams zum Programm gehören. Default steht das auf "0". In den allermeisten Fällen lässt man diesen Wert auch auf "0".

PMT Mode:
  • 0 = PMT und camd.socket wird verwendet
  • 1 = PMT wird deaktiviert
  • 2 = camd.socket wird deaktiviert
  • 3 = PMT wird nur beim Start eingelesen
  • 4 = Die Signalsteuerung wird nicht zum Überwachen (monitoring) benutzt /tmp
  • 5 = Die Signalsteuerung wird nicht zum Überwachen (monitoring) benutzt und camd.socket ist deaktiviert /tmp
request_mode = 0|1

Zum Schluss noch der "request_mode", oder anders gesagt, wie die CAIDs angefragt werden. Default Wert ist hier "0". Diesen default Wert benutzt man in den meisten Fällen auch! Mit Wert "0" werden die CAIDs nacheinander angefragt. Hat man einen Provider mit mehreren CAIDs, versucht DVBapi eine CAID nach der anderen Anzufragen, bis es eine findet womit der aktuelle Sender geöffnet werden kann. Wer hier den Wert "1" setzt, fragt alle verfügbaren CAIDs für den aktuellen Sender gleichzeitig an. Dabei wird auch die priorisierte CAID aus der oscam.dvbapi nicht mehr beachtet.

Beispiel

[dvbapi]
enabled = 1
au = 1
boxtype = dreambox
user = dvbapi
pmt_mode = 0
request_mode = 0

DVBapi User

Wie bereits erwähnt muß man für das DVBapi Modul einen User anlegen. Das Modul verbindet sich dann wie ein User. Das hat den Vorteil das man es wie ein User einstellen kann, mit AU Einstellungen oder betatunnel falls nötig. Man kann dem Modul aber auch über die Gruppen Einstellungen Reader zuweisen die es verwenden darf. Also auf geht es in die oscam.user....

Syntax

user = Name

Der Name für DVBapi kann frei gewählt werden muß dann aber in der oscam.conf eingetragen werden.

pwd = Passwort

Passwort kann auch frei gewählt werden wird aber sonst nirgends verwendet. Das Passwort steht nur hier in dieser Datei. Wenn sonst niemand Zugriff auf diesen Client hat kann man das Passwort auch weglasen.

group = Gruppe[,<Gruppe>]...

Gruppenzuteilung, welche Gruppen/Reader das DVBapi Modul nutzen darf.

au = Name des Readers[,Name des Readers]...|1

Hier gibt man den AU Reader an, auf welchen Reader das DVBapi Modul AU machen soll. Wenn man nicht will das DVBapi AU macht, kann man es auch ganz weglassen. Wenn auf allen Reader AU gemacht werden soll, lässt man diese Option ebenfalls weg und trägt in der oscam.conf DVBapi Sektion "au = 2" ein.

betatunnel = <CAID>.<ServiceID>:<ziel CAID>[,<CAID>.<ServiceID>: <ziel CAID>]

Betatunnel ist auch optional und wird eher selten gebraucht. Hiermit kann man z.b. die Sky HD Sender umleiten (mappen) für eine S02 oder D02 Karte. Dies kann man aber auch in der oscam.dvbapi Datei machen, was gleich noch erklärt wird.

Beispiel

[account]
user = dvbapi
pwd = dummy
group = 1


optional

au = reader1
betatunnel = 1833.006A:1702,1833.006B:1702,1833.006F:1702.....

DVBapi Verhalten

Das Verhalten des DVBapi Moduls wird in der entsprechenden Konfigurationsdatei oscam.dvbapi festgelegt. Der Aufbau der Datei ist recht einfach. Es braucht aber nicht unbedingt eine oscam.dvbapi Datei um DVBapi zu aktivieren. DVBapi läuft auch ohne die oscam.dvbapi.


Hier kann man CAIDs und/oder ProviderIDs bevorzugen oder gar umleiten (mappen). Was gerade bei Sendern, bei denen verschiedene Verschlüsselungsanbieter aufgeschaltet sind, sehr Vorteilhaft sein kann. Denn dadurch kann man das öffnen des Senders stark beschleunigen. Außerdem schont es den Server/Share, da keine unnötigen Anfragen gestellt werden, für die keine Karten vorhanden sind. Die DVBapi Datei sollte sich jeder selber anlegen. Eine Standarddatei kann es hier nicht geben, denn sonst wäre die Datei an sich ja auch überflüssig. Sie dient gerade dazu, dein Client auf den Server anzupassen, von dem man seine Karten bezieht.


Ein kleines Beispiel zum besseren Verständnis: Sky Germany verwendet aktuell Nagravision's und NDS Karten. Wenn der Server nun eine NDS Karte anbietet, möchte man hier Anfragen auf die nicht vorhandene Nagravision's Karte vermeiden. Daher setzt man eine Priorisierung auf die NDS Karten.

Syntax

      P: CAID:[ProviderID]:[ServiceID]:[ECM PID]:[Chid] [Wiederholung]
(priority) Priorisierung, Wiederholung = 1: Wiederhole die Priorisierung
      I: CAID:[ProviderID]:[ServiceID]:[ECM PID]
(ignore) Ignorierung von bestimmten Verschlüsselungsanbietern oder Pay TV Providern
      D: CAID:[ProviderID]:[ServiceID]:[ECM PID] delay
(delay) Verzögerung in Millisekunden, um das CW zu schreiben
      M: CAID,[ProviderID]:[ServiceID]:[ECM PID] CAID:[provider ID]
(mapping) Umleitung von Verschlüsselungsanbieter oder Pay TV Provider

Beispiele

  • P:0100:123456 #CAID 0100 mit Provider 123456 priorisiert
  • P: 0100 1 #CAID 0100 priorisiert und festgesetzt, mit der "1" (continue) wechselt er nicht auf eine andere CAID sondern versucht es weiter bei der angegebenen CAID. Normal stoppt er die Anfragen nach 3 Fehlversuchen, was aber z.b. wenn man eine Karte freischalten möchte sehr ungünstig ist.
  • P: :::1234 #ECM mit Provider ID 1234 allgemein priorisiert
  • P: 0200 #CAID 0200 priorisiert
  • P: 0300:9ABC #CAID 0300 nur auf SID 9ABC priorisiert
  • M: 0400 0500:123456 #mapped CAID 0400 auf CAID 0500 mit ProviderID 123456
  • M: 1834:000000:007E 1722 #mapped CAID 1834 mit ProviderID 000000 und SID 007E auf CAID 1722
  • D: 0600 200 #wartet 200 ms bevor CW für CAID 0600 geschrieben wird, falls der Server zu schnell antwortet
  • I: :654321 #ignoriert die ProviderID 654321
  • I: 0 #ignoriert jede CAID, die nicht extra in dieser Datei angegeben wurde

Beispiele Zusammenfassung

Da ich weiß das man mit einem guten Beispiel oft schneller klar kommt als mit langen Texten, hier noch mal alle Beispiele zusammengefasst wie das ganze aussehen könnte für eine Dreambox.



oscam.conf

[dvbapi]
enabled = 1
au = 1
boxtype = dreambox
user = dvbapi

oscam.user

[account]
user = dvbapi
group = 1
au = reader1

oscam.dvbapi

P: 1702 # prio Sky s02
P: 1830 # prio HD01 HD+
P: 0D95 # prio ORF-ICE
I: 09C4 # ignore Sky V13



[ Zurück zu Hauptseite ]
[ Zurück zu OScam ]