Oscam.server: Unterschied zwischen den Versionen
Zeile 1.273: | Zeile 1.273: | ||
*[[Oscam.reader.skylinkice|SkyLink ICE]] | *[[Oscam.reader.skylinkice|SkyLink ICE]] | ||
===Cardreaderpfad=== | |||
---- | |||
:Dreambox mit einem Slot | |||
::*/dev/sci0 | |||
:Dreambox mit zwei Slots | |||
::*/dev/sci1 -> oben | |||
::*/dev/sci0 -> unten | |||
:DBox2 externer Cardreader / Multicam | |||
::*/dev/tts/0 -> Serial (phoenix) | |||
::*/dev/tts/1 -> Multicam | |||
:Receiver mit Slot & Common-Interface (CI) | |||
::*/dev/sci2 -> CI | |||
:PC mit externen Cardreader | |||
::/dev/ttyS0 -> Serial | |||
::/dev/ttyUSB0 -> USB | |||
:Receiver mit Externen Cardreader | |||
::/dev/tts/0 | |||
::/dev/usb/tts/0 | |||
::/dev/ttyUSB0 | |||
:Receiver mit SC8in1 | |||
::/dev/tts/0_0 | |||
::/dev/tts/0_1 | |||
::usw. | |||
== Weiterführende Links == | == Weiterführende Links == |
Version vom 10. Dezember 2014, 08:15 Uhr

oscam.server
Diese Konfigurationsdatei enthält Reader-Parameter für OSCam. Die Abschnitte dürfen sich wiederholen (mehr als ein Reader möglich). Es muss aber in jedem Fall mindestens ein reader konfiguriert sein!
Beispiel-Konfiguration für die wichtigsten Reader sind hier zu finden Beispiel-Konfigurationen
[reader] label = enable = description = protocol = device = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8057+8059:01/04/2013 # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8066:01/13/2013 # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8911:09/10/2013 detect = cardmhz = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn7046:06/12/12 mhz = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn7045-47:06/12-14/12 deprecated = mode = device_out_endpoint = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8013:12/29/2012 smargopatch = # NEU - NEW - NOUVEAU - NUOVO svn6402:02/16/2012 sc8in1_dtrrts_patch = # NEU - NEW - NOUVEAU - NUOVO svn6402:02/16/2012 cool_timeout_init = # NEU - NEW - NOUVEAU - NUOVO svn6286:01/23/2012 cool_timeout_after_init= # NEU - NEW - NOUVEAU - NUOVO svn6253:01/17/2011 ins7e = # NEU - NEW - NOUVEAU - NUOVO svn5959:09/22/2011 ins7e11 = # NEU - NEW - NOUVEAU - NUOVO svn6064:12/06/2011 force_irdeto = nagra_read = rsakey = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn7043:06/12/12 fix9993 = boxkey = pincode = boxid = ndsversion = aeskeys = showcls = # VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO svn6624:04/23/2012 key = account = # VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO svn8131:01/20/2013 user = password = mg-encrypted = services = caid = ident = class = chid = group = audisabled = auprovid = disableserverfilter = inactivitytimeout = reconnecttimeout = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn7244:08/07/2012 connectoninit = # NEU - NEW - NOUVEAU - NUOVO svn8235:01/29/2013 fallback = fallback_percaid = # NEU - NEW - NOUVEAU - NUOVO svn8896:09/04/2013 emmcache = emmreassembly = # NEU - NEW - NOUVEAU - NUOVO svn8493:0/06/2013 = # VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO svn8591:04/01/2013 cacheex = # NEU - NEW - NOUVEAU - NUOVO svn6039:11/26/2011 cacheex_maxhop = # NEU - NEW - NOUVEAU - NUOVO svn6691:05/07/2012 logport = ecmwhitelist = ecmheaderwhitelist = # NEU - NEW - NOUVEAU - NUOVO svn7480:09/21/2012 ratelimitecm = ecmnotfoundlimit = # NEU - NEW - NOUVEAU - NUOVO svn8315:02/07/2013 resetcycle = # NEU - NEW - NOUVEAU - NUOVO svn5821:08/12/2011 ratelimitseconds = ecmunique = # NEU - NEW - NOUVEAU - NUOVO svn8491:03/06/2013 srvidholdseconds = # NEU - NEW - NOUVEAU - NUOVO svn8492:03/06/2013 cooldown = # NEU - NEW - NOUVEAU - NUOVO svn5946:09/09/2011 blocknano = blockemm-u = blockemm-s = blockemm-g = blockemm-unknown = blockemm-bylen = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8615:04/12/2013 saveemm-u = # NEU - NEW - NOUVEAU - NUOVO svn5947:09/09/2011 saveemm-s = # NEU - NEW - NOUVEAU - NUOVO svn5947:09/09/2011 saveemm-g = # NEU - NEW - NOUVEAU - NUOVO svn5947:09/09/2011 saveemm-unknown = # NEU - NEW - NOUVEAU - NUOVO svn5947:09/09/2011 savenano = # VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO svn5947:09/09/2011 readnano = use_ssl = # NEU - NEW - NOUVEAU - NUOVO svn8725:06/25/2013 dropbadcws = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn5992:10/22/2011 disablecrccws = # NEU - NEW - NOUVEAU - NUOVO svn6004:10/26/2011 lb_weight = cccversion = cccmaxhops = ccchop = cccreshare = # ÄNDERUNG - CHANGE - MODIFICATIONS - MODIFICA svn8607:04/10/2013 cccwantemu = ccckeepalive = cccreconnect = # VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO svn6441:02/23/2012 cccmindown = Gbox device = password = gbox_my_password = # NEU - NEW - NOUVEAU - NUOVO svn8350:02/15/2013 gbox_reshare = # NEU - NEW - NOUVEAU - NUOVO svn8350:02/15/2013 gbox_max_distance = # NEU - NEW - NOUVEAU - NUOVO svn8350:02/15/2013 gbox_max_ecm_send = # NEU - NEW - NOUVEAU - NUOVO svn8350:02/15/2013 gbox_group = # NEU - NEW - NOUVEAU - NUOVO svn8350:02/15/2013 user = # NEU - NEW - NOUVEAU - NUOVO svn8662:05/24/2013
Reader
Grundsatz: Es können mehrere [reader]-Abschnitte erstellt werden. Jeder vollständige Abschnitt wird dann als Reader verwendet. Er muss immer mit [reader] beginnen. Im Parameter "label" kann dann die Art des Readers beschrieben werden:
Beispiele: easymouse, phönix, smargo, sc8in1 usw.
label
Legt den Namen für diesen Reader fest.
Der Name des Labels darf nicht identisch zu einem Usernamen (oscam.users) sein!
Beispiel
label = easymouse2
enable
Deaktiviert den Reader
enable = 0 # Reader aus = 1 # Reader ein (default)
description
description = Text
Beliebiger Text zur Beschreibung des readers; default: [blank] keine Beschreibung
Nicht zu verwechseln mit label! Hier kann zusätzlich eine Information hinterlegt werden, z.B. Reader nur für CI+ usw.
protocol
Kommunikationsprotokoll für den Reader.
protocol = mouse # (Lokaler Cardreader) = internal # (Alle Cardreader mit einem "Device=/dev/sciX", sowie interne Coolstream-Reader) = camd35|cs357x # (Cascading - camd 3.5-kompatibler Remote-Server - udp) = mp35 = smartreader = serial = cs378x # (camd 3.5-kompatibler Remote-Server - tcp) = gbox = newcamd|newcamd525 = newcamd524 = cccam = radegast = pcsc = constcw = sc8in1 # (SC8in1 und MCR 4/8 Cardreader)
smartreader: Es können Probleme auftreten, wenn der Cardreader im smartreader-Modus in einem USB-Hub betrieben wird.
In diesem Fall den Cardreader direkt am PC/Receiver einstecken und erneut testen.
Sollte es dann funktionieren, ggf. einen anderen USB-Hub besorgen.
device
ÄNDERUNG svn8057+8059:01/04/2013
ÄNDERUNG svn8096:01/13/2013
ÄNDERUNG svn8911:09/10/2013
Legt den local oder remote reader Abschnitt [reader] fest:
device = [<readertype>;]serial:serialnum|bus:device|<device|device:slot>|<ip|hostname>,<port>[,<lport>]|pcsc|<0|1>>|constantcw
Bestimmt den reader type:
readertype: SR: Smartreader+ (default) SRv2: Smartreader V2 Infinity: Infinity USB TripleP1: Smargo Triple Reader port 1 TripleP2: Smargo Triple Reader port 2 TripleP3: Smargo Triple Reader port 3 bus:device: Bus- und Device-Namen von Smartreader+ oder Infinity USB (mit lsusb 'Bus' und 'Device' holen) serialnum: Serial-Nummer des Smartreader+ oder Infinity USB device: Name der Device device:slot: device name und slot-nummer für sc8in1 (1-8) Es wird nur ein SC8in1 unterstützt! ip|hostname: IP-Adresse oder Hostname port: TCP/IP port lport: Remapping für den Local-Port (TCP/IP) PCSC: Nummer des PCSC-Reader (mit 0 starten!) 0|1: Nur für die Coolstream HD-1 (Reader 0 oder 1 auswählen) constantcw: Dateiname für das Constant-CW-File
Format des CW-Files:
Standard-Format CAID:Provider ID:Service ID:PMT ID:ECM PID::key (16 Bytes seperated by spaces) Beispiel: 1234:123456:1234:2345:3456::00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Extended OSCam-Format CAID:Provider ID:Service ID:PMT ID:ECM PID:Video PID:key (16 Bytes seperated by spaces) Beispiel: 1234:123456:1234:2345:3456:7890:00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Beispiele für device--parameter:
device = /dev/ttyS0 # Reader an COM1 (bei Linux i386 und Windows) device = /dev/tts/1 # Reader an COM2 (Linux dbox2 mit multicam) device = /dev/ttyUSB0 # Reader an USB (Linux i386) device = Serial:Reader 1 # z.B. Smargo im smartreader-Modus, wobei die Kennung "Reader 1" der Smargo-Konfiguration zu entnehmen ist! device = /var/keys/constant.cw # Einbindung eines constantcw device = /dev/ttyUSB0:1 # Slot 1 eines SC8in1 oder MCR 4/8 (Linux i386)
Hinweis: Der Zähler für die Device liegt immer um 1 hinter der Nummer des COM-Ports! Also ttyS0 = COM1, tts/1 = COM2. Bei Benutzung neuerer PC sind kaum noch serielle Anschlüsse vorhanden, sodass in diesen Fällen USB 2.0 benutzt werden muss. Hier am besten im Gerätemanager des PC nachschauen, welcher COM-Port dem Reader zugewiesen wurde und in die Device den Port -1 eintragen!
detect
Statusleitung für "Karte ist drin".
Folgende Parameter sind erlaubt:
Parametererklärungen von fun7 aus dem stb: Detect = CD # Carrier Detect - wird vom switch benutzt und öffnet oder schließt einen circuit. Wird bei allen protocol = mouse benötig und ist default Wert Detect = DSR # Data Set Ready - ist ein V24 (RS232) Interfacesignal, das auf PIN 6 eines D-SUB-Connectors gesendet wird Detect = CTS # Clear To Send - Ist die Antwort auf die Frage an den Reader: RTS - Ready To Send? Dieser Parameter wurde in der Vergangenheit bei der Verwendung von analogen Modems verwendet. Detect = RING # Ring Indicator - wie das Klingeln des Telefons. Spezifiziert in RS232 ein hereinkommendes Signal. Im Zusammenhang mit OSCam bedeutet dies: Reader meldet an OSCam, dass eine Karte eingesteckt ist und eine Datenverbindung aufgebaut werden kann. Wurde auch bei serial Verbindungen von Modems verwendet Detect = NONE # Erkennung wird abgeschaltet, aber es wird immer ein "Karte ist drin" signalisiert! Detect = GPIO # General Purpose Input Output - Für mipsel-uclib und raspberry-pi zur Signalisierung des cardstatus an den gpio-Pin [gpio1 ... gpio7]
- Inverse Leitung = "!" voranstellen (z.B. "Detect=!CTS")
Beispiel:
[reader] label = mymouse description = mymouse xxx protocol = mouse device = /dev/ttyUSB0 (easymouse 2) services = xxx boxkey = 1122334455667788 force_irdeto = 1 detect = cd mhz = 1000 cardmhz = 600 group = 1,2,3 emmcache = 1,3,2
cardmhz
ÄNDERUNG svn9099:12/13/13
Standard-Frequenz der Karte in Schritten von 10 KHz. Für Irdeto-Karten z.B. "cardmhz = 600" (6 Mhz)
Beispiel:
cardmhz = 600 # Irdetokarte = # [blank] Default-Wert 357
Interne-Dreambox-Leser
Wenn cardmhz >2000 eingetragen wird aktiviert OScam den PLL-Clock. Interne-Dreambox-Leser (Dream Multimedia GmbH und Clones) können damit optimal getaktet werden.
Der verwendete cardmhz-wert entspricht dem höchsten PLL-Takt. OSCam wird dann den optimalen PLL-Teiler berechnen damit die Frequenz möglichst nahe an den Wert kommt welcher bei "mhz" definiert wurde.
Für Modelle mit PPC-Prozessor werwende "cardmhz = 3150", für Modelle mit MIPS-Prozessor verwende "cardmhz = 2700". Ausnahme ist die DM7025, hier braucht es "cardmhz = 8300".
Um die Karte automatisch zu takten verwende zusätzlich den parameter "autospeed = 1".
Beispiel:
Du hast eine Dream 800 HD PVR, das ist eine MIPS, daher muss du "cardmhz = 2700" setzen. Nehmen wir an du hast eine Nagra-Karte welche auf 5 MHz laufen soll. Wenn du die Karte richtig takten willst verwende "cardmhz = 2700" und "mhz = 500", Oscam taktet die Karte dann mit der nächst möglichen Frequenz (4.50 Mhz). Möchtest du sie übertakten, dann verwende "cardmhz = 2700" und z.B. "mhz = 900". Deine Karte läuft nun auf 9 Mhz. Aber vorsichtig, eine übertaktete Karte kann heiss und instabil werden! (Overclocking beachten!)
Viele Interne-Leser von anderen Herstellern als Dream ignorieren die eingestellten Werte! Aber du solltest "cardmhz" und mhz" trotzdem setzen da es zum berechnen der richtigen "timings" verwendet wird. Wenn du cardmhz/mhz richtig setzt ist das "timing" besser für die aktuelle (automatisch gesetzte) Frequenz des Internen-Lesers. Als Ergebnis bekommst du bessere ECM-Zeiten oder mehr Stabilität.
Erwarte keine Wunder, nur ein übertakten der Karte bringt bessere ECM-Zeiten. Schlechtes "timing" kann jedoch zu verzögerungen führen oder die Karte instabil machen.
Nützliche Links:
Liste verschiedener Karten und ihren Frequenzen
Liste verschiedener Hardware und ihren möglichen Frequenzen
mhz
ÄNDERUNG svn9099:12/13/13
mhz = Frequenz in KHz
Sofern dies technisch möglich ist kann abweichend von cardmhz die Frequenz des Kartenlesers anders (in der Regel höher) als die Standard-Frequenz der Karte eingestellt werden (in 10 KHz-Schritten). Man spricht dann von Overclocking. So kann z.B. eine S02-Karte (Standard 6 MHz) mit 10 MHz übertaktet werden.
Beispiel Externe-Reader:
# Default 357 cardmhz = 600 # ( 6000 KHz = 6 MHz) mhz = 1000 # (10000 KHz = 10 MHz)
Beispiel DM800:
cardmhz = 2700 # (27MHz PLL) mhz = 900 # (Wert wird berechnet -> 27Mhz : 3 = 9 Mhz)
Hier eine ausführlichere Beschreibung von stefansat aus der Distri-Doku:
Wenn die Frequenz in mhz größer ist als in cardmhz, dann befindest Du dich im Overclocking Modus.
Smargo-Reader und interne Reader der Dreamboxen werden durch den ATR automatisch eingestellt, wenn autospeed = 1 (siehe nächsten Parameter) gesetzt ist.
Liste verschiedener Hardware und ihren möglichen Frequenzen
autospeed
NEU svn9064:12/01/2013
autospeed = 0|1
1 = setzt den mhz-Wert anhand des ATR (default) 0 = disabled
deprecated
Zuerst wird die Smartcard im Normal-Modus initialisiert. Schlägt dies fehl, wird die Initialisierung automatisch auf den veralteten Modus umgeschaltet, so dass die Smartcard-Geschwindigkeit nicht verändert wird und die Kommunikation auf normaler ATR Geschwindigkeit von 9600 Baud bleibt.
deprecated = 1 # ausschließlich veralteter Modus = 0 # default
mode
mode = 1 # AzBox-Reader = 0 # default
Setzt den Init-Mode für die Karte im internen AZBox-reader
device_out_endpoint
ÄNDERUNG svn8013:12/29/2012
Setzt die Addresse des Endpunkts für FTDI-Chips
device_out_endpoint = 0x81 # Smargo Triple Reader port 1 = 0x82 # Smartreader+ (default) = 0x83 # Smargo Triple Reader port 2 = 0x85 # Smargo Triple Reader port 3
smargopatch
NEU svn6402:02/16/2012
Schaltet den workaround für smargoreader+ und reader ein, bis der native mode funktioniert
smargopatch = 1 = 0 (default)
sc8in1_dtrrts_patch
NEU svn6402:02/16/2012
Schaltet fix für SC8in1/MCR DTR/RTS kernel bug ein
sc8in1_dtrrts_patch = 1 = 0 # (default)
cool_timeout_init
NEU svn6286:01/23/2012
Setzt beim init der SC einen timeout in Millisekunden fest (im internen Reader).
cool_timeout_init = timeout = 0 # default
cool_timeout_after_init
NEU svn6253:01/17/2012
Hier kann ein timeout der SC für read/transmit nach dem init in Millisekunden festgelegt werden (nur für interne Reader).
cool_timeout_after_init = timeout = 0 # default
ins7e
NEU svn5959:09/22/2011
Füge 26 hex-bytes payload für NDS Videogard 2 Karten hinzu.
ins7e = payload = # [blank] default (none)
Achtung: Nur für physische Reader gültig!
ins7e11
NEU svn6064:12/06/2011
Füge TA1 für NDS Videogard 2 Karten hinzu.
ins7e11 = TA1 Byte = # [blank] default (none) = 11 # 0001 FI + 0001 DI (1 x) = 13 # 0001 FI + 0011 DI (4 x) = 14 # 0001 FI + 0100 DI (8 x) = 15 # 0001 FI + 0101 DI (16 x)
Achtung: Nur für physische Reader gültig!
force_irdeto
Forciert den Irdeto-Modus, auch wenn ein RSA-Key für Irdeto getunnelte Nagravisions-Karte vorliegt.
force_irdeto = 1 # ja = 0 # nein (default)
nagra_read
Lese Nagravision-Records. Nur für NCMED-Karten
nagra_read = 0 # ausgeschaltet (default) = 1 # lese alle Records mit abgelaufenen Rechten = 2 # lese nur Records mit gültigen Rechten
rsakey
ÄNDERUNG svn7046:06/12/12
RSA key für Nagravision/Tiger SCs / CAM key data für Irdeto SCs, Conax SCs
rsakey = key = # [blank] default (none)
fix9993
fix9993 = 0|1
Fixed den error 9993 bei CAID 0919 SC's
fix9993 = 1 # eingeschaltet = 0 # ausgeschaltet (default)
boxkey
Boxkey für Nagravision SCs / CAM key für Irdeto SCs
boxkey = key = # [blank] default (none)
pincode
Pincode für Conax-, Cryptoworks- und Viaccess- Karten.
pincode = code = # [blank] default
boxid
ID der NDS-Reciever-Box
boxid = NDS box ID = # [blank] default
ndsversion
Version von NDS Videoguard einsetzen
ndsversion = 0 # autodetection (default) ndsversion = 1 # NDS Videoguard 1 ndsversion = 12 # NDS Videoguard 1+ ndsversion = 2 # NDS Videoguard 2
aeskeys
Multiple AES-Keys für Viacces-Karten
CAID #ident:AES key #0 CAID #0[,AES key #1 CAID #0],...[;CAID #1@ident::AES key #0 CAID #1[,AES key #1 CAID #1],...]...
Spezial AES Keys: 00 = schicke keine CW zurück, es ist kein AES-Key spezifiziert FF = schicke CW zurück, die vom S empfangen wurden, es ist kein AES-Key spezifiziert
Beispiel
aeskeys = 0100@012345:000102030405060708090a0b0c0d0e0f;0200@543210:0,0,0f0e0d0c0b0a090807060504030201
showcls
VERALTET svn6624;04/23/2012
Anzahl der Subscritions-Klassen für Viacces
schowcls = Anzahl = 0 # (default)
key
Key für Newcamd remote reader encription
key = DES key
user
Username für Remote-Reader.
Beispiel
user = # xyxyx
password
Passwort für Remote-Reader.
Beispiel
password = # xyxyx
mg-encrypted
VERALTET - OBSOLETE - OBSOLÈTE - ANTIQUATO
mgcamd encrypted line für GBox!
Format:
mg-encrypted = D: { <IP|hostname> { <local port> <remote port> { <password> { <level> <level> }}}}[,<local MAC address>] # default MAC address=eth0
default:
mg-encrypted = # [blank] (none)
services
Wenn Loadbalancing aktiviert ist, sind folgende Besonderheiten zu berücksichtigen:
- Services sind für den Loadbalancer eine Whitelist. Das bedeutet, dass alles, was hier eingetragen wird, vom Loadbalancing als Service behandelt wird, den die Karte kann! Wenn dann z.B. ein "not found" kommt, wird das ignoriert und die Karte wird weiter angefragt, mit dem damit verbundenen traffic!
- Daraus ergibt sich, dass der Eintrag von Services bei lokalen Karten und Proxies, die man genau kennt, kein Problem darstellt.
- Anders verhält es sich bei Proxies (z.B. CCcam), deren Services man nicht kennt. Hier ist davon abzuraten, Services einzutragen. In einem solchen Fall sollten vielmehr die Services bestimmt werden, die nicht zu berücksichtigen sind (Eintrag mit (!)), oder besser eine Filterung über den Parameter caid erfolgen.
Achtung: Die Anzahl der services, die je reader berücksichtigt werden, ist auf 64 begrenzt, also 64 mal [[service-name][CAID][provid][srvid]]!
Welche Services kann der Reader. Hierzu muss eine oscam.services vorhanden sein. Die Logik ist hier folgendermaßen (in der angegebenen Reihenfolge):
- Wenn das Feld leer ist (oder ungültig) wird die Anfrage erlaubt.
- Wenn ein negativer Service (also solche mit "!") zutreffend ist, so wird die Anfrage abgewiesen.
- Wenn ein positiver Service zutreffend ist oder es gar keinen positiven Service gibt, so wird die Anfrage erlaubt.
- Wenn keiner der vorigen Punkte zutrifft, so wird die Anfrage abgewiesen.
Dies bedeutet, dass negative Services nur in Einzelfällen nötig sind. Nämlich genau dann, wenn man positive Services hat, davon aber wieder einige ausnehmen will. Dies wird nicht empfohlen, da es hier schnell zu Fehlkonfigurationen kommt. Stattdessen sollte ein zusätzlicher Service angelegt werden, der alle entsprechenden Sender enthält.
services = [!]services[,[!]<services>]... = [blank] ist default
Beispiel
services = skywelt,skyweltextra,!skyfilm # skywelt und skywelt extra sind zugeordnet, skyfilm ist ausgeschlossen
caid
caid = <CAID>[&<mask>][:<target CAID>][,<CAID>[&<mask>][:target <CAID>]]...
definiert und mapped CAIDs für Reader
Beispiele:
caid = 0100 caid = 0200&ffee:0300 caid = 0400&ff00:0500,0600 caid = 0702,0722 caid = 0702&ffdf (shortcut für das Beispiel oben) default: alle CAIDs mit der Maske FFFF
ident
Achtung: Wenn in oscam.conf [global] unter lb_mode loadbalancing aktiviert ist, dann dürfen hier keine Einträge stehen!
Definiert CAID und Ident kartenspezifisch für den Reader:
ident 0 <CAID>:<ident>[,ident]...[;<CAID>:<ident>[,ident]...]...
Beispiel
ident = # 0100:123456,234567;0200:345678,456789 = # [blank] Keine Definition (default)
class
Definiert Class in hexadecimal kartenspezifisch für den Reader:
class = 01,02,!1b,!2b # 01 und 01 ja, 1b und 2b nein = # [blank] Keine Definition (default)
chid
Definiert Irdeto-ChID für den Reader.
Beispiel
chid = 0100:12 chid = 0100:12;0604:0000BA,000101,00010E,000141 = # [blank] default
group
ÄNDERUNG svn6103:12/21/2011
Jeder Reader muss in einer oder mehrere Gruppen eingetragen sein. Damit lässt sich bestimmen, welcher Client auf welchen Reader Zugriff hat. Gültige Werte 1-64
group = 1....64[,1....64]....
Da ein Eintrag zwingend ist, darf hier kein [blank] als default stehen!
Beispiel
Group = 1 # (eine Gruppe) Group = 1,4,5 # (mehrere Gruppen)
audisabled
Schließt den Reader vom AU (Auto-Updating) aus
audisabled = 1 # ausgeschlossen = 0 # nicht ausgeschlossen (default)
auprovid
Hier kann die Provider-ID festgelegt werden, damit der richtige Reader für das AU zur Verfügung steht
Beispiel
auprovid = # 123456 = # [blank] default
disableserverfilter
Ignoriert CAID und Ident-Einstellungen des Readers bei fehlerhaften Clients.
disableserverfilter = 1 # ignoriert = 0 # ignoriert nicht (default)
inactivitytimeout
Für alle TCP-basierende remote Reader
inactivitytimeout = # in Sekunden = -1 # Verbindet newcamd basierende Reader bei einem Netzwerkausfall erneut (auch im Leelauf - idle -) = 0 # default
reconnecttimeout
ÄNDERUNG svn 7244:08/07/2012
Zeitspanne in Sekunden für eine Wiederverbindung mit einem Remote-Reader, wenn Antworten ausbleiben
Beispiel
reconnecttimeout = 20 # Nach 20 Sekunden ohne Antworten wird wiederverbunden = # [blank] default 30 Sekunden
connectoninit
NEU svn8235:01/29/2013
connectoninit = 0|1
1 = Ermöglicht die Herstellung einer Newcamd-Verbindung, solange noch kein Request vorliegt 0 = default
fallback
Gilt nicht, wenn Loadbalancing aktiviert ist!
Definiert diesen Reader als Fallback. Standard- und Fallback-Reader müssen in der selben Gruppe sein. Siehe group!
fallback = 1 # Fallbackreader = 0 # Kein Fallbackreader (default)
Info:
Ist Loadbalancing aktiviert, und zusätzlich der Parameter "cwcycle_allowbadfromffb = 1", wird dieser Reader ein fixed Fallback für CacheEx. Somit wird er verwendet wenn ein Bad Cycle erkannt wird, damit freetzer entsprechend verhindert werden können. --> siehe cwcycle_allowbadfromffb
fallback_percaid
NEU svn8896:09/04/2013
fallback_percaid = <CAID>[:<ident>[,ident]]...[;<CAID>[:<ident>[,ident]]...]...
Benutze den Reader nur als fallback für vorher definierte CAIDs, two-digit wildcards sind möglich. Dieser Parameter überschreibt den Parameter fallback! Default = none
Beispiel:
fallback_percaid = 1234:234567;10:345678
emmcache
Definition des EMM-Caches für den Reader. Derzeit nur für lokale Reader. Betrifft die AU-Funktion. Damit kann entschieden werden, ob Update-Kommandos (EMM) vom Provider immer oder nur unter bestimmten Voraussetzungen geschrieben werden.
Achtung:
Ohne diesen Parameter werden keine EMM im Log angezeigt!
Format:
emmcache = <usecache>,<rewrite>,<logging>
* <usecache> 0 = # cache aus (default) * <usecache> 1 = # cache ein
* <rewrite> n = # Wie oft ein und das selbe Update-Kommando (EMM) geschrieben wird. Gilt nur bei <usecache> = 1
* <logging> 0 = # Einträge im Logfile ausgeschaltet (default) * <logging> 1 = # Nur fehlerhafte EMM werden geloggt * <logging> 2 = # die geschriebenen (written) EMM werden geloggt * <logging> 4 = # die zurückgewiesenen (skipped) EMM werden geloggt * <logging> 8 = # die blockierten (blocked) EMM werden geloggt * <logging> 16 = # disabled AU werden geloggt
Beispiele
emmcache = 1,3,10 # Cache ein, 3 x schreiben, die geschriebenen (2) und die geblockten (8) = 10 loggen emmcache = 1,2,6 # Cache ein, 2 x schreiben, die geschriebenen (2) und die zurückgewiesenen (4) = 6 loggen
emmreassembly
NEU svn8493:03/06/2013
VERALTET svn8591:04/01/2013 Parameter jetzt in oscam.user!
emmreassembly = 0|1
1 = schaltet Neuaufbau von EMM ein, default 0 = schaltet Neuaufbau von EMM aus
Sollte bei Viaccess und Cryptoworks Readern gesetzt werden, wenn der Client, der für das Senden von EMMs benutzt wird, die EMMs neu aufbaut anstelle sie an OScam zur Bearbeitung zu senden.
cacheex
NEU svn6044:11/27/2011
cacheex = 0|1|2|3
cacheex = 1 # enable cache exchange pull mode cacheex = 2 # enable cache exchange push mode cacheex = 3 # enable cache exchange revers push mode cacheex = 0 # aus (default)
Identische modes müssen bei local OSCam server und remote OSCam user account gesetzt werden! Nur für camd3.5x und CCcam Protokolle!
Siehe auch entsprechenden Parameter in oscam.user!
Ein ausführliches How-To findet man hier
cacheex-modes
cacheex = 1 - cachepull
Situation:
OSCam A reader1 ist gesetzt auf cacheex = 1
OSCam B account1 ist gesetzt auf cacheex = 1
OSCam A erhält eine ECM Anfrage, reader1 sendet diese Anfrage an OSCam B,
OSCam B prüft seinen cache:
- im cache wird nichts gefunden: OSCam B sendet: NOK
- im cache wird etwas gefunden; OSCam B sendet: OK+CW
- im cache wird nichts gefunden aber es wird eine anstehende Anfrage festgestellt: cacheexwaittime in oscam.conf [global] wird abgewartet und dann erneut geprüft. OSCam B fragt nicht mehr nach neuen EMMs.
CW-flow = B ---> A
cacheex = 2 - cachepush
Situation:
OSCam A reader1 ist gesetzt auf cacheex = 2
OSCam B account1 ist gesetzt auf cacheex = 2
Wenn OSCam B ein CW erhält, wird es auf OSCam A geschoben. Der Reader hat normale Funktionen und kann ECMs anfragen.
- Problem: OSCAM kann nur dann CW's auf OSCam A schieben, wenn OSCam A verbunden ist
- Problem oder feature?: OSCam A kann ECMs von OSCam B anfragen
CW-flow = B ---> A
cacheex = 3 - reversecachepush
Situation:
OSCam A reader 1 ist gesetzt auf cacheex = 3
Wenn OSCam A ein CW erhält, wird dies auf OSCam B geschoben. OSCam A fragt nicht mehr nach neuen ECMs
cacheex_maxhop
NEU svn6691:05/07/2012
cacheex_maxhop = Anzahl der hops
= default = 10
Festlegen der maximalen hops für cache exchange. Zum pushen des lokalen caches 1 eintragen. Der Eintrag cacheex_maxhop = 0 bewirkt nur, dass der default-Wert von 10 genommen wird.
logport
Logport für einen Camd 3.x-Reader. UDP muss aktiviert sein. Funktioniert nur, wenn in Camd 3.x kein Cascading stattfindet!
logport = Port-Nummer = # kein Logport (default)
ecmwhitelist
ecmwhitelist = [CAID[@ident]:]lenght[,lengtht]...[;[CAID[@ident]:]lenght[,lengtht]...]...
definiert die gültige ECM-Länge in hex und ident für physische Reader
Beispiel:
ecmwhitelist = 10,20,30,0a,0b,0c = 0100:10,20;0200@12345:0a,4b [blank] = keine (default) und ident 000000
Im normalen Betrieb ist dieser Parameter nicht erforderlich!
ecmheaderwhitelist
NEU svn7480:09212012
ecmheaderwhitelist = [CAID[@provid]:]header[,header...[;[@provid]:]header[,header]...]...
Gültige ECM-Header mit CAID und provid in hex einsetzen.
default: none, provid = 000000
Ein Thread dazu ist hier zu finden.
Und hier findet man eine ständig gepflegte HeaderWhitelist .
ratelimitecm
Anzahl der unterschiedlichen SIDs die in ECMs innerhalb eines Intervalls erlaubt sind
ratelimitecm = Anzahl = 0 # (default)
ecmnotfoundlimit
NEU svn8313:02/07/2013
ecmnotfoundlimit = Anzahl
Anzahl der ECM's mit "not found" Anwort bis der Reader neu gestartet wird, 0 = kein Limit (default)
resetcycle
NEU svn5821:08/12/2011
Anzahl von ECM's bis ein Reset des Cardreaders durchgeführt wird
Hinweis: Nur gültig für physikalische Reader!
resetcycle = 5 # Reset nach 5 ECM's = 0 # ausgeschaltet [default]
ratelimittime
NEU svn9078:09/12/2013
Intervall für ein ratelimit
ratelimittime = Millisekunden = 0 # (default)
ecmunique
NEU svn8491:03/06/2013
ecmunique = 0|1
1 = ermöglicht eine Überprüfung des matching ECM hash im ratelimit slot 0 = default
srvidholdtime
NEU svn9078:09/12/2013
srvidholdtime = Millisekunden
Zeitraum, in dem die Service-ID im ratelimit slot gehalten werden soll. Während dieses Zeitraums ist der Zeit-Check für ecmunique ausgeschaltet. Default = 0
cooldowndelay
NEU svn5946:09/09/2011
cooldowndelay
Erläuterung:
delay = Verzögerungszeit in Sekunden, in der dem Reader erlaubt ist, mehr ECM-Anfragen zu stellen, als im Parameter "ratelimitecm" festgelegt ist default: [blank] keine duration = Zeitdauer in Sekunden, die der Reader für einen cooldown benötigt default: [blank] keine
Voraussetzung ist, dass die Parameter "ratelimitecm" und "ratelimitseconds" ausgefüllt sind!
blocknano
Liste zu blockender EMM-Nanos (in hex) oder aller EMM-Nanos. Gilt nur für physikalische Reader!
Beispiel
blocknano = 45,93,7a,ff = all = # [blank] (default)
blockemm-u
unique address-EMMs, entspricht D3 bei Sk*
blockemm-u = 1 # Blocke EMMs, die an die Karte direkt adressiert sind) = 0 # nicht blocken (default)
blockemm-s
shared address-EMMs, entspricht D2 bei Sk*
blockemm-s = 1 # Blocke EMMs, die an bestimmte Gruppen von Karten gehen = 0 # nicht blocken (default)
blockemm-g
global address-EMMs, entspricht D0 bei Sk*
blockemm-g = 1 # Blocke EMMs, die an alle Karten gehen = 0 # nicht blocken (default)
blockemm-unknown
Blockiert alle unbekannten Arten von EMM
blockemm-unknown = 1 # Blocke alle unbekannten Arten von EMMs = 0 # nicht blocken (default)
blockemm-bylen
ÄNDERUNG svn8615:04/12/2013
Blockiere alle Arten von EMMs anhand der Länge. Es werden maximal 10 Werte zugelassen.
blockemm-bylen = [length range,length range]... (decimal) = # [blank] keine Blockierung (default)
Beispiel:
blockemm-bylen = 1-10,11-
saveemm-u
NEU svn5947:09/09/2011
Sichere unique-EMM's in Datei, deren Pfad kann mit "emmlogdir=" in der oscam.conf festgelegt werden (Default=Config-Ordner).
saveemm-u = 1 = 0 # (default)
saveemm-s
NEU svn5947:09/09/2011
Sichere shared-EMM's in Datei, deren Pfad kann mit "emmlogdir=" in der oscam.conf festgelegt werden (Default=Config-Ordner).
saveemm-s = 1 = 0 # (default)
saveemm-g
NEU svn5947:09/09/2011
Sichere global-EMM's in Datei, deren Pfad kann mit "emmlogdir=" in der oscam.conf festgelegt werden (Default=Config-Ordner).
saveemm-g = 1 = 0 # (default)
saveemm-unknown
NEU svn5947:09/09/2011
Sichere unknown-EMM's in Datei, deren Pfad kann mit "emmlogdir=" in der oscam.conf festgelegt werden (Default=Config-Ordner).
saveemm-unknown = 1 = 0 # (default)
savenano
VERALTET svn5947:09/09/2011
Liste von EMM-Nanos, die gespeichert werden sollen (hex) oder alle EMM-Nanos. Der Pfad kann mit "emmlogdir=" in der oscam.conf festgelegt werden (Default=Config-Ordner).
Format
nano[,nano]....|all
Beispiel
savenano = 45,93,7a,ff = all = # [blank] default
readnano
Schreibt ein File (üblicherweise eine Copy des von savenano gesicherten files) in die SC. Wenn kein Pfad angegeben ist, wird danach im Konfigurations-Verzeichnis gesucht.
Hinweis: Nur gültig für physikalische Reader!
readnano = /var/oscam/write.emm # Beispiel Pfad/Dateiname = write.emm # Nur Dateiname = # [blank] es wird kein File geschrieben (default)
use-ssl
NEU svn8725:06/25/20113
use_ssl = 0|1
use_ssl = 1 # benutze SSL für ghttp protocol = 0 # default
dropbadcws
ÄNDERUNG svn5992:10/22/2011
dropbadcws = 0|1
dropbadcws = 1 # weise falsche CW's zurück, sende "not found" an Stelle falscher CWs = 0 # default
Die Option hat nur eine Wirkung auf dem oscam Server (oscam.server, [reader]), der die Karte direkt anspricht, also nicht auf einem Client. Betroffene Karten: CSAT (0100:003311)
disablecrccws
NEU svn6004:10/26/2011
disablecrccrws = 1 # unterdrücke den cw-checksum-test = 0 # cw-checksum-test eingeschaltet (default)
Hier mal eine Erklärung von Bit aus dem SB:
Das ist für den dänischen Provider BoxerTV. Die haben Gegenmassnahmen eingeleitet und die VIA Karten verdauen keine Checksum-korrigierten CWs mehr. Damit kann man die CW checksummenkorrektur bei diesen readern ausschalten. Dann geht's wieder bei BoxerTV-readern. (dropbadcws muss dann auf aus sein). ... PS: die checksummenkorrektur ausschalten ist böse und entgegen des DVB-Standards! Benutzt diesen Parameter nur wenn Ihr ihn wirklich benötigt!
lb_weight
Je höher dieser Wert, desto größer ist die Wahrscheinlichkeit, dass dieser Reader ausgesucht wird. Es ist ein Indikator für die durchschnittliche Antwortzeit innerhalb des Loadbalancing
lb_weight = weight = # [blank] Default-Wert 100
Abwärts die durchschnittliche Antwortzeit des Readers. Von rechts nach links der Wert lb_weight.
Im Mittelfeld könnt Ihr ablesen, wie die durchschnittliche Antwortzeit durch den lb_weight wert "korrigiert" wird.
Beispiel:
Du hast 2 Reader die beide eine durchschnittliche Antwortzeit von 400ms haben. Nun möchtest Du aber einen Reader bevorzugen indem Du dem Loadbalancer 300ms vorgaukeln willst.
Also suchst Du die Zeile die mit 400 beginnt und wanderst auf dieser Zeile nach rechts bis du bei ~300 (in der tabelle findest du nur 30cool bist. Dann liest Du oben den Wert für lb_value ab den der Reader bekommt (130). Diesen trägst Du bei dem Reader ein und schon wird der Reader bevorzugt
ccc
cccversion
Nur für CCcam
Definiert die Version von CCcam, die verwendet werden soll.
<mainversion>.<version>.<sub version>
Beispiel
cccversion = 1.2.34
Hier eine ausführliche Erklärung von corsair zu diesem Thema:
- die CCCam Versionsnummer ist die Version, mit der sich OSCam seinem Gegenüber zu erkennen gibt. Erkennt OSCam, dass das Gegenüber ebenfalls eine OSCam ist, spielt dies jedoch dann keine Rolle mehr. Ansonsten ist die Nummer halt wichtig für die zu verwendende Schnittstellenversion, da sich die Versionen in einigen Details unterscheiden.
- [dboxyo]:Um das extended CCcam Protokoll nutzen zu können, muss die NodeId entweder von OScam automatisch gesetzt werden, oder aus einer Prüfsumme bestehen, welche es OScam erlaubt, zu erkennen, dass es sich um einen OScam-Server handelt
- good sid/bad sid Austausch geht nur bei ext oder bei cccam>=2.2.0
- "O" CCcam kann immer nur EIN ECM pro Intervall verarbeiten, also man muss auf die Antwort warten, bis man das nächste ECM senden kann. Während dieser Wartezeit können also keine weiteren ECM verarbeitet werden; der reader ist blockiert. "O" cccam ist synchron. Kommt es zu einem Timeout reconnected "O" ccccam.
- Extended ist die Möglichkeit bis zu 255 ECM gleichzeitig zu verarbeiten. Es ist dabei nicht notwendig, auf die Antwort zu warten. Jedes ECM bekommt dabei eine Nummer und die Antwort auch. Somit können sich auch Antworten gegenseitig "überholen" und trotzdem korrekt zugeordnet werden. Das OSCam-CCcam ist asynchron.
- Wenn man mit der Maus im Webif über einen "cccam ext" Eintrag geht, sieht man den verwendeten client. Derzeit unterstützt nur OSCam, vPlug, hadu und (??bin mir unsicher??) Acamd das "cccam ext" Protokoll. Eventuell noch weitere clients (OSCam ist ja Open Source...!).
- Stealth verhindert das Erkennen also OSCam bzw "cccam ext". Es gelten dann die Beschränkungen wie bei "O" cccam. Stealth macht bei korrekter Id = Id+1.
- Nicht nur Stealth verhindert das Erkennen von cccam ext, sondern auch das Setzen einer individuellen NodeID. CCcam braucht die NodeID, um die Herkunft der Karten und ECM's zu steuern und damit Kreisbeziehungen zu verhindern. In der NodeID steckt die eigentliche Erkennung. Da ist eine versteckte Prüfsumme, die der Gegenseite sagt, dass hier OSCam ist. Wenn die schon nicht stimmt, wird auf den "Kompabilitätsmodus" also das "O" des CCam-Protokolls herabgestuft.
cccmaxhops
Legt das Maximum an Distance-Hops für die Karte fest
0 = Nur lokale Karte 1 = Lokale Karte + 1 Hop 2 = Lokale Karte + 2 Hops und so weiter Default-Wert = 10
ccchop
ccchop = hop
Setzt den hop für nicht-cccam-reader
default = 0
ÄNDERUNG svn8607:04/10/2013
Definiert den reshare-hop für CCcam-Reader
cccreshare = hop = -1 # kein reshare = 0 # reshare für direct peer = 1 # reshare für direct peer und den nächsten Level = x # reshare für direct peer und die nächsten x (Anzahl) Level
schlocke:
reshare kann auf 3 verschiedene Arten definiert werden:
- über oscam.server [reader] ("cccreshare")
- über oscam.conf [cccam] ("reshare")
- über oscam.user [account] ["cccreshare")
Ein reshare Wert wird auf den kleinsten Wert aller Parameter gesetzt! Wenn der Wert < 0 ist, wird die Karte nicht reshared.
cccwantemu
Anfrage, auch einen emu vom CCcam-Server zu erhalten.
cccwantemu = 1 # ja = 0 # nein default
ccckeepalive
Sendet eine "keepalive-message", um eine Verbindung zum remote CCCam-Server zu erhalten.
ccckeepalive = 1 # ja = 0 # nein (default)
cccreconnect
cccreconnect = timeout (ms)
default = 12000 (ms)
Wiederverbindung nach ECM-Request-Timeout in Millisekunden. Gilt nur für O-cccam reader, für cccam-ext Protokoll wird diese Zeit ignoriert.
cccmindown
cccmindown = # Zahl = 0 default
Filtert alle Reader mit hops, die kleiner sind als die eingesetzte Zahl
gbox
NEU svn8350:02/15/2013
Beispiel einer funktionierenden Minimal-Konfiguration:
Angenommen die GBOX läuft auf Host 192.168.1.101 und OSCam liegt auf 192.168.1.123. Im File cwshare.cfg auf der GBox-Seite stehen z.B. folgende Eintragungen:
M:{192.168.1.101{A123BCDE}} D:{192.168.1.123{3820 3819{98AF3E25{A3 A3}}}}
Dann sieht die Konfiguration auf OSCam so aus:
oscam.conf: [gbox] gbox_hostname = 192.168.1.123 gbox_my_password = 98AF3E25 port = 3819
oscam.server: [reader] protocol = gbox group = 1 device = 192.168.1.101,3820 password = A123BCDE user = gbox_client
device
device = Komma-separierte Liste mit den Werten
peer's IP oder Hostname peer's port
Beispiel:
192.168.1.101,3820
password
password = 4 hex bytes, 8 chars
Peer Passwort
Beispiel:
A123BCDE
gbox_my_password
VERALTET svn9163:12/31/2013 moved to oscam.conf [gbox]
Passwort = 4 hex bytes, 8 chara
Mein Passwort
Beispiel
98AF3E25
Reshare-Level für lokale Karte(n), default = 0
gbox_max_distance
gbox_max_distance = maximale Distanz zum Empfang von peer-cards, default = 2
gbox_max_ecm_send
gbox_max_ecm_send = sende ecm zu maximal n peer cards, default = 3
user
Benutzername (client) der oscam Gbox
Beispiel
user = gbox_client
Der user muss auch in der oscam.user als [account] eingetragen werden.
Unter [reader] und [account] sollten geeignete Filter gesetzt werden (services=, caid=, ident=), um Instabilitäten der GBOX durch Überfluten mit Karten zu vermeiden.
Beispiel [reader]-Konfigurationen
Astra HD+
ORF
Sky Deutschland
Kabel Deutschland
unitymedia
Sonstige
Deutschland
International
Schweiz
BeNeLux
Polen
Italien
Tschechien
Cardreaderpfad
- Dreambox mit einem Slot
- /dev/sci0
- Dreambox mit zwei Slots
- /dev/sci1 -> oben
- /dev/sci0 -> unten
- DBox2 externer Cardreader / Multicam
- /dev/tts/0 -> Serial (phoenix)
- /dev/tts/1 -> Multicam
- Receiver mit Slot & Common-Interface (CI)
- /dev/sci2 -> CI
- PC mit externen Cardreader
- /dev/ttyS0 -> Serial
- /dev/ttyUSB0 -> USB
- Receiver mit Externen Cardreader
- /dev/tts/0
- /dev/usb/tts/0
- /dev/ttyUSB0
- Receiver mit SC8in1
- /dev/tts/0_0
- /dev/tts/0_1
- usw.
Weiterführende Links
zurück zu Smartcard
Quellenangaben
http://www.streamboard.tv/wiki/OSCam/de