MPCS: Unterschied zwischen den Versionen
Zeile 862: | Zeile 862: | ||
==mpcs.services== | |||
[arena] | [arena] | ||
caid=0D22 | caid=0D22 |
Version vom 20. April 2009, 08:27 Uhr
Was kann das Programm?
MPCS ist ein multi-plattform/multi-protokoll cardserver.
Am 19.11.2003 regte user Mode im streamboard-forum die Idee: Cardserver für Linux an. Aus den Diskussionen ging ein erster neuer Cardserver[1] hervor, den dukat am 13.01.2004 vorstellte. Anlässlich der Weiterentwicklung dieses MPCS zur Version 0.7j schrieb dukat am 27.11.04:
"linux cardserver" ist natuerlich jetzt ein merkwuerdiger name für einen cardserver, der auf verschiedenen platformen laufen kann. ich habe ihn deshalb auf mp-cardserver umgetauft.(multi-platform/multi-protokoll.)
Welche Plattformen und Protokolle werden unterstützt
Plattformen
Linux mit den hauptsächlichen Derivaten einschließlich dbox 2 [2] und Dreambox.
Windows unter Verwendung von cygwin.
Protokolle
camd3
Die Verwendung dieses Protokolls hat den Vorteil, dass auf der Seite der Clients, die auf der Basis von camd3 arbeiten, keine Änderungen in den Konfigurationen nötig sind, sofern serverseitig auf diese Variablen Rücksicht genommen wird (z.B. in der mpcs.users). Erfolgreich getestet bis camd3 Vers. 3.902.
camd 3.3
Entspricht auf Clientseite (camd3.servers) dem Eintrag unter cs378x (TCP) Vgl. camd3
camd 3.5
Entspricht auf Clientseite (camd3.servers) dem Eintrag unter cs357x (UDP) Vgl. camd3
newcamd
gbox
radegast
Welche Card Reader werden unterstützt?
Seriell
- Reader mit Mouse Protokoll 3,5 bzw. 6 Mhz Taktfrequenz
- interne Reader (z.B. Dreambox)
- Reader können auch über einen Serial-USB Adapter angeschlossen werden.
USB
Smartmouse Programmer
HYOSUNG FREEPRO-008
Dip-Schalter 3.58 und 6.00 Mhz
Stromversorgung 5 V DC
Anschluss über USB/232-Converter
Stromversorgung 5 Volt über USB
Protokoll: mouse
Eintrag in mpcs.server bzw. mpcs.reader Detect = CTS
Dateien für die Konfiguration und deren Variablenbeschreibung
Hinweis für alle Dateien: Komandozeilen können mit # auskommentiert werden. Das hat zur Folge, dass eine auskommentierte Zeile bei Ausführung des Programms nicht gelesen und damit auch nicht ausgeführt wird!
mpcs.conf
V1.0 (KrazyIvan Version)
[global] Nice = -1 ClientTimeout = 4 ClientMaxIdle = 60 CacheDelay = 0 FallbackTimeout = 1 BindWait = 10 ResolveDelay = 10 DyndnsInterval = 120 LogFile = stdout PidFile = /var/run/mpcs.pid MaxLogSize = 102400 showecmdw = 0 showemmdw = 0 disablecache1 = 0 disablecache2 = 0 disablecache = 0 Filter = 0 [newcamd] Key = 0102030405060708091011121314 Port = 23423@0604:000000; # -- camd 3.5x ---------------------------------------------------------------- # Port : Port-Number (0 disables this protocol) # ServerIP : bind service to ONE dedicated ip-address # ----------------------------------------------------------------------------- [cs378x] Port = 54343 [cs357x] Port = 54343
Variablenbeschreibung
Nice
Systempriorität. MPCS benötigt fast keine CPU-Leistung. Wenn aber CPU-Leistung benötigt wird, sollte diese sofort zur Verfügung stehen. Werte von 20 bis -20 sind möglich, wobei 20 gering und -20 sehr hoch ist. Wird der Parameter auskommentiert(#), wird diese Funktion nicht ausgerufen. Das ist wichtig z.B. für die dbox 2[3], wenn die Fehlermeldung "relocation error:setpriority" erscheint. Vgl. Prioritätsscheduling
Nice = -1
ClientTimeout
Maximale Wartezeit des Clients in Sekunden auf eine Antwort.
ClientTimeout = 4
ClientMaxIdle
Maximale Zeit in Sekunden, die der Client inaktiv bleiben kann, bevor er automatisch abgemeldet wird.
ClientMaxIdle = 120
CacheDelay
Mindestzeit in Millisekunden, die ein Request brauchen muss. Hört sich zwar paradox an, betrifft aber das Problem, wenn die Antwort aus dem cache zu schnell an den Client übermittelt wird.
CacheDelay = 300
FallbackTimeout
Maximale Wartezeit des Cardservers in Sekunden auf primäre Reader, bevor der/die Fallback-Reader (falls vorhanden!) befragt werden.
FallbackTimeout = 1
BindWait
Maximale Zeit in Sekunden, die der Cardreader beim Start wartet, bis er den jeweiligen Netzwerk-Port in Zugriff bekommt. Falls der MPCS innerhalb dieser Zeit den Port nicht binden kann, terminiert er mit "Bind Request failed". Ursachen dafür sind
- Doppelbelegung von Ports
- Ein vormals abgestürzter MPCS der die Ports nicht wieder freigegeben hat
- der MPCS wurde mehrmals gleichzeitig gestartet
BindWait = 20
ResolveDelay
Zeit in Sekunden, gibt die Pause bei der Namensauflösung an.
ResolveDelay =
DyndnsInterval
bitte noch ergänzen!
LogFile
Hier kann die Logdatei eingestellt und Devices benannt werden.
LogFile = /dev/null (Es wird kein Logfile erzeugt) LogFile = /dev/tty (Bildschirmausgabe) LogFile = syslog (Die Ausgabe wird an den syslogd übergeben) LogFile = /var/log/mpcs.log (linux i386) LogFile = mpcs.log (im Verzeichnis, in dem MPCS enthalten ist)
PidFile
Hier kann ein Pidfile angegeben werden. Das ist eine ASCII-Datei, in der die Prozess-ID vom Hauptprozess des Cardservers enthalten ist. Dieser Eintrag kann dazu benutzt werden, um den Cardserver wieder "sauber" anzuhalten, wenn er im Hintergund läuft.
PidFile = /var/run/mpcs.pid (Linux i386) PidFile = /tmp/mpcs.pid (dbox2)
MaxLogSize
Mit diesem Parameter kann die maximale Größe der Logdatei festgelegt werden. Das ist bei umfangreichem Logbetrieb empfehlenswert. Die Logdaten werden dann im Verfahren First-In/First-out auf die festgelegte Größe begrenzt.
showecmdw
bitte ergänzen
showemmdw
bitte ergänzen
disablecache1
bitte ergänzen
disablecache1 = 0 disablecache1 = 1
disablecache2
bitte ergänzen
disablecache2 = 0 disablecache2 = 1
disablecache
bitte ergänzen
disablecache = 0 disablecache = 1
Filter
bitte ergänzen
[newcamd]
Für Newcamd-User selbsterklärend!
camd 3.5x
Selbsterklärend. Wegen Protokoll camd 3.5 siehe auch Abschnitt Protokolle (Protokolle)
[cs357x] Port = 54343
Wichtig: Wenn hier ein Port eingetragen wird, muss dieser Port mit dem Eintrag in der camd3.servers bei den Clients übereinstimmen! Vgl. camd3.servers
V0.9e
Parameter wie bei V1.0 (KrazyIvan), jedoch zusätzlich:
[global] UsrFile = Sleep = ServerIP = [monitor] Port = NoCrypt = AULow = MonLevel = [camd33] Port = Key = Passive = NoCrypt = [camd35] Port = [radegast] Port = User = Allowed = [serial] Device = [gbox] Password = MaxDist = CardInfos = IgnoreList = Locals = Reader =
Variablenbeschreibung
[global]
UsrFile
Hier kann eine Datei angegeben werden, in der ganze Sitzungen protokolliert werden.
Sleep
Systemglobaler Standardwert für alle Accounts (Siehe auch mpcs.user)
ServerIP
Listener auf bestimmte IP binden. Dies ist dann zunächst der Standardwert für alle Listener! Dieser Parameter kann in allen Netzserverdiensten ebenfalls eingetragen werden, um den Standardwert zu überschreiben. Nur sinnvoll in komplexen Routing-Environments. Zur Reglementierung von Zugriffen sollte eine Firewall dienen. (dukat: Wer mit dieser Info nichts anfangen kann, brauchts nicht. Empfehlung: Diesen Parameter nicht verwenden!
[monitor]
Port
Gibt den UDP-Port für Monitorfunktionen an. Bei Port=0 wird dieser Dienst nicht aktiviert.
NoCrypt
Gibt eine IP oder einen Bereich an, in dem auch unverschlüsselte Clients Zugriff haben. Dieser Parameter kan mehrfach angegeben werden.
Beispiele: NoCrypt=127.0.0.1 ---> Client mit IP 127.0.0.1 (localhost) darf unverschlüsselt zugreifen. NoCrypt=192.168.0.0-192.168.255.255 ---> Clients mit IP zwischen 192.168.0.0 und 192.168.255.255 dürfen unverschlüsselt zugreifen.
Verschlüsselte Clients haben grundsätzlich Zugriff!
AULow
Intervall in Minuten (default=30). Wenn in diesem Zeitraum kein EMM mehr eingegangen ist, wird die EMM-Versorgung am Monitor als "low" angezeigt.
MonLevel
Standardeinstellung für Monitor-Zugang (default=2). Diese Einstellung kann pro User in mpcs.user überschrieben werden! Empfehlung - in der mpcs.conf den MonLevel = 0 und den MonLevel in der mpcs.user per Client festlegen. Zudem sollte ein separater Useraccount angelegt werden der nur für das Monitoring benutzt wird.
MonLevel = 0 Kein Zugriff auf Monitorfunktion MonLevel = 1 Client sieht nur Serverprozesse und seine eigenen Prozesse MonLevel = 2 Client sieht alle Prozesse, kann aber keine Aktion auslösen MonLevel = 3 Client sieht alle Prozesse und kann die die UserDB neu laden. MonLevel = 4 uneingeschränkter Zugriff auf die Monitorfunktion.
[camd33]
Port
Gibt den TCP-Port für camd3.3x Serverdienst an. Bei Port=0 wird dieser Dienst nicht aktiviert.
Key
128-Bit-Schlüssel zur Verschlüsselung.
Achtung: Wird dieser Parameter nicht oder falsch angegeben, wird bei camd3.3x generell nicht verschlüsselt (Siehe Logfile!)
Passive
Definition für aktiven oder passiven Client. Generell geht das Camd3.3x-Protokoll von einem aktiven Client aus. Es kann aber unter bestimmten Umständen bei manchen Clients (meistens plugin) zur Schwierigkeiten kommen. In diesem Fall
Passive=1
eintragen.
Empfehlung: Passive=0
NoCrypt
Gibt eine IP oder einen Bereich an, in dem auch unverschlüsselte Clients Zugriff haben. Dieser Parameter kan mehrfach angegeben werden.
Beispiele: NoCrypt=127.0.0.1 ---> Client mit IP 127.0.0.1 (localhost) darf unverschlüsselt zugreifen. NoCrypt=192.168.0.0-192.168.255.255 ---> Clients mit IP zwischen 192.168.0.0 und 192.168.255.255 dürfen unverschlüsselt zugreifen.
Verschlüsselte Clients haben grundsätzlich Zugriff!
[camd35]
Port
Gibt den UPD-Port für camd3.5x/3.6x Serverdienst an. Bei Port=0 wird dieser Dienst nicht aktiviert.
Anmerkung: Dieses Protokoll verschlüsselt grundsätzlich und bildet den Schlüssel aus dem Benutzernamen.
[radegast]
Port
Gibt den TCP-Port für Radegast-Serverdienst an. Bei Port=0 wird dieser nicht aktiviert.
Achtung: Dieses Protokoll kann zwar verschlüsseln, ist aber derzeit im Cardserver nicht implementiert!
User
Benutzereinstellung, die für diesen Client gilt.
Siehe "Account". Dieser Parameter ist optional.
Allowed
bitte ergänzen
[serial]
- Generell können folgende Clients angeschlossen werden:
- hsic ---> humax sharing interface client
- sssp ---> simple serial sharing protocol
- bomba ---> Reciever mit BOMBA-Firmware (z.B. Arion, Ferguson, OpenBox6xx, PowerSky, NewStar, SatStar, TERMAL/OloMPiA, He@d, OpenSky...)
- dsr9500 sharing protocol
Für jeden Client muss ein "Device="-Eintrag erfolgen.
Device
<user>@<device>[:baud}][?option1=value1[&option2=value2]]
- user ---> Account, der für diesen Client verwendet wird
- device ---> Die serielle Schnittstelle, an der der Client angeschlossen ist
- baud ---> Option = Baudrate (default=115200)
- option (2 Möglichkeiten):
- timeout ---> Maximale Zeit eines Empfangs (default=50ms)
- delay ---> Zusätzliche Pause in ms beim Senden zwischen jedem einzelnen Zeichen (default=0)
[gbox]
- Das GB*X-Modul im MPCS arbeitet als GB*X-Server, CS2GB*X und GBOX2CS.
- Es können also
- mehrere GB*X-Server miteinander verbunden (GB*X-Server), - von Clients des MPCS auf die GB*X-Karten zugegriffen, - und Lokale Karten oder Karten/EMUS von Remote-Servern ins GB*X-Netzwerk zurück geshared werden
Die einzelnen GB*X-Server werden als Reader in der mpcs.server (bis vers. 0.9.e) bzw. in der mpcs.reader (ab version 1.0) eingetragen.
Password
Eigenes Passwort der gbox. Dieser Passwort muss in der D-Line des GB*X-Servers eingetragen werden.
MaxDist
Bis zu welcher Distanz sollen Karten von GB*X-Servern angenommen und verwendet werden (default=5).
CardInfos
Pfad zu der Datei, in der die Karteninformationen abgelegt werden, die das GB*X-Mudol von den angeschlossenen GB*X-Servern erhält. Die Datei muss im beschreibbaren Bereich liegen,
IgnoreList
Pfad zur ignore.list. In der ignore.list sind Provider aufgelistet, die vom GB*X-Modul ignoriert werden sollen.
Das Format der Datei muss wie folgt aussehen: G:{0100000A}#Kommentar G:{0100000B} Die ersten zwei Bytes sind die CaID und die letzten zwei Bytes die ProviderID
Dieser Parameter ist optional.
Locals
Das GB*X-Modul kann Karten in das GB*X-Modul zurücksharen. Dazu kann hier die Liste der Karten eingetragen werden.
Beispiel: 17220000,18010501,0D220400 Die ersten zwei Bytes sind die CaID und die letzten zwei Bytes die ProviderID, getrennt duch ein ','
Dieser Parameter ist optional.
Reader
ECM's aus dem GB*X-Netzwerk für diese Karten werden an Lokale Reader (mouse), Remote-Camd3 und Remte-Newcamd Server weitergeleitet.
mpcs.user
V1.0 (KrazyIvan Version)
[account] User = user Pwd = 54546 MonLevel = 2 Uniq = 1 Group = 1 AU = 1 EndDate = 2009/01/05 Betatunnel = 1833.0081:1702,1833.0082:1702
Variablenbeschreibung
[account]
Grundsatz: Es können mehrere [account]-sections erstellt werden. Jede vollständige section wird dann als account verwendet. So kann für jeden user ein separater Account mit unterschiedlichen Zugangsdaten und Berechtigungen angelegt werden. Z.B.: [dbox-Wohnzimmer] mit allen Rechten, jedoch [dbox-Kinderzimmer] nur mit Rechten, die den Jugendschutz berücksichtigen. Oder [Dyndns-IP], die nur ein bestimmtes PayTV- Paket erhalten soll.
User
User-Name. Muss gesetzt sein!
User = Max
Pwd
Passwort. Muss gesetzt sein!
Pwd = MaxPasswort
MonLevel
Hier kann der Monitorlevel des einzelnen User festgelegt werden.
MonLevel = 0 Kein Zugriff auf Monitorfunktion MonLevel = 1 Client sieht nur Serverprozesse und seine eigenen Prozesse MonLevel = 2 Client sieht alle Prozesse, kann aber keine Aktion auslösen MonLevel = 3 Client sieht alle Prozesse und kann die die UserDB neu laden. MonLevel = 4 uneingeschränkter Zugriff auf die Monitorfunktion.
Es empfielt sich einen reinen Monitoraccount anzulegen. Zudem sollte in der mpcs.conf der MonLevel auf 0 gesetzt werden. Dann kann man den Monitorlevel gezielt in der mpcs.user setzen. Wenn dieser optionale Parameter im User Account fehlt wird der MonLevel aus der mpcs.conf angenommen.
[account] User = Monitor Pwd = 54546 MonLevel = 4
Uniq
Mit Uniq wird geregelt ob sich ein Client gleichzeitig nur einmal oder mehrmals anmelden darf
Uniq = 0 (disable) default Uniq = 1 (Client darf sich nur einmal anmelden per Username)
ab MPCS 1.0n
Uniq = 0 (disable) default Uniq = 1 (per IP) Uniq = 2 (per Port) Uniq = 3 (only 1 user allow for all port)
Group
Jeder User muss in einer oder mehrere Gruppen eingetragen sein. Damit lässt sich dann bestimmen, auf welche Reader, sofern mehrere vorhanden sind, dieser Client Zugriff haben soll. Gültige Werte 1-32
Group = <grp>[,<grp>][,<grp>]...
Group = 1 (eine Gruppe) Group = 1,4,5 (mehrere Gruppen)
AU
Mit den Eintragungen in diesem Abschnitt kann gesteuert werden, ob für bestimmte oder alle Reader AU zugelassen werden soll. Gültige Werte:
AU= 0 -> kein AU AU= 1 -> Auto (ab 1.0) AU= <gültiger Reader> -> AU für eingetragenen Reader
Zum AU ist im allgemeinen zu sagen:
- Sparsamer Umgang mit AU Clients ist besser für den MPCS
- Ein AU Client erhält die Kartendaten (Sicherheit)
- Benutzung der EmmCache Funktion vermeidet zu hohe Belastung des Readers
Enddate
Hier kann ein Ende-Datum für das Nutzungsrecht des Clienten am Server eingegeben werden. Mit Ablauf dieses Datums hat der Client keine Möglichkeit mehr, auf den Server zuzugreifen!
Betatunnel
Bis zur Version 0.9.e ist hier eine Betacrypt-Tunnelung möglich. Im Beispiel werden 1833.0081 und 1833.0082 jeweils auf 1702 getunnelt.
Betatunnel = 1833.0081:1702,1833.0082:1702
Ab Version 1.0n ist dieser Parameter nicht mehr erforderlich. Allerdings muss dann die Caid des Betatunnels im mpcs.reader manuell freigeben sein, Bsp: CAID=1702,1833. Eine CAID-Freigabe über die .services reicht nicht. Der Mpcs bündelt dann ggf. CCCam-HD-1702 und 1833-HD-Anfragen auf die CAID 1702 auf den Reader und beantwortet diese aus einem gemeinsamen Cache.
bitte prüfen und eventuell überarbeiten!
mpcs.reader(V1.0)
Tritt an die Stelle von mpcs.server (bis einschließlich Version 0.9.e!)
V1.0 (KrazyIvan Version)
[reader] blockua = 1 blockga = 1 blocksa = 1 AU = 1 Enable = 1 Label = myreader Protocol = mouse Device = /dev/ttyS0 #pincode = 7291 #BaudRate = 16000 EMMCache = 1,1,10 Detect = CD Group = 1,2,3 Fallback = 0 CAID = 0666 ChID = 0666:02,03,04,05,06,07,0E
Variablenbeschreibung
[reader]
Grundsatz: Es können mehrere [reader]-sections erstellt werden. Jede vollständige section wird dann als reader verwendet. Beispiele: [NG²], [phoenix], [mastercrd] usw.
blockua
unique address-EMMs, entspricht D3 bei PW
blockua = 0 (nicht blocken) blockua = 1 (Blocke EMMs, die an die Karte direkt adressiert sind)
blockga
global address-EMMs, entspricht D0 bei PW
blockga = 0 (nicht blocken) blockga = 1 (Blocke EMMs, die an alle Karten gehen)
blocksa
shared address-EMMs, entspricht D2 bei PW
blocksa = 0 (nicht blocken) blocksa = 1 (Blocke EMMs, die an bestimmte Gruppen von Karten gehen)
AU
Zum AU ist im allgemeinen zu sagen:
- Sparsamer Umgang mit AU Clients ist besser für den MPCS
- Ein AU Client erhält die Kartendaten (Sicherheit)
- Benutzung der EmmCache Funktion vermeidet zu hohe Belastung des Readers
AU = 0 (Autoupdate aus) AU = 1 (Autoupdate ein)
Enable
Enable = 0 (Reader aus) Enable = 1 (Reader ein)
Label
Name der Readers. Pflichtfeld! Wird benötigt, um die Zuordnung von AU in mpcs.user zu ermöglichen.
Label = Mouse
Protocol
Kommunikationsprotokoll für den Reader.
Protocol = mouse (Lokaler Cardreader) Protocol = internal (Alle Cardreader mit einem "Device=/dev/sciX") Protocol = camd35 (Cascading - camd 3.5-kompatibler Remote-Server)
Device
Bei lokalem Reader (mouse-mode) das Device, an dem der Reader angeschlossen ist.
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))
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 (Windows) nachschauen, welcher COM-Port dem Reader zugewiesen wurde und in die Device den Port -1 eintragen!
pincode
Bei Readern, die mit einem Pincode arbeiten, muss dieser hier eingetragen werden.
Pincode = 12345
BaudRate
Für Reader, deren Geschwindigkeit über eine Baudrate eingestellt werden kann, kann hier ein Eintrag erfolgen.
Verwendet man am Reader eine höhere Taktfrequenz als für die Karte vorgesehen (Übertakten/ Overclocking), muß hier die Baudrate nach folgender Formel angepasst werden:
Baudrate = 9600 / originalCardMHz * newCrystalMHZ
Baudrate = 9600 (entspricht default) Baudrate = 16000 (6MHz-Karte wird mit 10MHz betrieben | 9600 / 6 * 10 = 1600)
Bei dem Gebrauch von USB-Wandlern ist darauf zu achten, dass der PL2303 nur Standardbaudraten unterstützt, und somit der Betrieb einer übertakten Karte nicht möglich ist. Es wird die Verwendung eines Wandlers mit FTDI empfohlen.
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 vom Provider immer oder nur unter bestimmten Voraussetzungen geschrieben werden. Format:
EmmCache = <usecache>,<rewritte>,<logging>
* <usecache> 0 = cache aus * <usecache> 1 = cache ein * <rewrite> n = Wie oft ein und das selbe Update-Kommando geschrieben wird. Gilt nur bei <usecache> 1 * <logging> 0 = Einträge im Logfile nur im Fehlerfall * <logging> 1 = Nur geschriebene Emm's keine verworfenen (skipped) * <logging> 2 = alle emm's werden im Log vermerkt
Empfehlung:
EmmCache = 1,3,2
Detect
Statusleitung für "Karte ist drin".
Detect = CD (Carrier Detect) Detect = DSR (Data Set Ready) Detect = CTS (Clear To Send) Detect = RING (Ring Indicator) Detect = NONE (Erkennung wird abgeschaltet, aber es wird immer ein "Karte ist drin" signalisiert!) Detect = gpio2 ... gpio7 (neu für mipsel-uclibc)
- Inverse Leitung = "!" voranstellen (z.B. "Detect=!CTS")
Group
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-32
Group = <grp>[,<grp>][,<grp>]...
Group = 1 (eine Gruppe) Group = 1,4,5 (mehrere Gruppen)
Fallback
Fallback = 0 (Reader ist kein Fallback-Reader) Fallback = 1 (Reader ist Fallback-Reader)
CAID
Liste gültiger caid's und mapping für diesen Reader. Wird <mask> nicht angegeben, ist <mask> automatisch FFFF. Wird <new caid> nicht angegeben, wird caid nicht verändert. Dieser Parameter ist optional. Wird er nicht gesetzt, sind alle caid's gültig und werden nicht gemapped.
CAID=<caid>[&<mask>][:<new caid>],...
CAID = 1702 (dieser Reader wird nur für caid 1702 benutzt) CAID = 1702,1722 (dieser Reader wird nur für caid 1702 und 1722 benutzt) CAID = 1702&FFDF (hat die gleiche Folge wie die vorhergehende Zeile) CAID = 1702&FFDF:1702 (dieser Reader wird ebenfalls nur für caid 1702 und 1722 benutzt und die caid wird auf 1702 gemapped.) CAID = 0100,0600&FF00 (dieser Reader wird für caid 0100 und 0600-06FF benutzt.)
CHID
Es können zu einer caid ganz bestimmte CHID's zugelassen werden.
CHID = 000A CHID = 000A,000B,000C
mpcs.server
Bis V. 0.9.e (Team Edition) - ab Version 1.0n tritt an diese Stelle mpcs.reader!
[reader] Label = myreader Protocol = mouse Device = /dev/ttyS0 Detect = CD Account = user1,pwd1 EMMCache = 1,1,10 BlockNano = Group = 1,2,3 CAID = 0666
Variablenbeschreibung
Siehe Erläuterungen zu mpcs.reader(V1.0)! Die dort nicht enthaltenen Parameter werden nachfolgend beschrieben:
Account
Benutzername und Passwort beim Zugriff auf Remote-Server (Proxy).
Account = Username,Password
BlockNano
mpcs.services
[premiere] caid=1702,1722 srvid=000A,000B,002B,0009,0022,0029,0014,0204,0017,0010,002A,0203,0024,001C,0013,000E,000D,000F,000C,0016,0206,0018,00A8,0015,0012,0011,001B,0309,00D0,00D1,00D2,00D3,00D4,00DC,00DD,00DE,00F0,00F1,00F2,00F3,00F4
[premiere-familie] caid=1702,1722 srvid=000C,000D,000E,000F,0013,0015,0016,0018,001B,001C,001D,0020,0024,002A,0032,00A8,0203,0206
[pw_hd] caid=1833 srvid=0081,0082
[arena] caid=1702,1722 srvid=0032,00F4,00DC,00E3,00E1,00F2,00F3,00D4
[kdhome] caid=1702,1722 srvid=C3B5,C3B6,C3B7,C3B8,C3B9,C3BA,C3BB,C3BC,C3BD,C3BF,C47D,C47E,C47F,C480,C481,C482,C483,C60E,C60F,C610,C612,C613,C614,C615,C616,D035,D036,D099,D09C,D09E,D0A1,D0A3,D0A4
[KD] provid=001101 caid=1801
[orf] caid=1702 srvid=32C9,32CA,32D4,32CB,32CC,32CD,32CE,32CF,32D0,32D1,32D2,32D3,32C9,4E27,3332
[tividi] caid=1702,1722 srvid=32C9,332F,3338,3332,3333,3334,3335,3337,5E25,5E27,5E29,5E2A,5E2C,5E2D,5E2E,5E38,5A3D,5A3F,5A49,2F45,0206,2F49,2F4A,2F4B,2F4C,2F4D,2F46,2F47,2F48,2F4E,2F4F,3EEB,2B5D,2B5E,2B5F,2B60,2B61,2B63,2B64,2B65,2B66,4AA8,4AA9,4AAA,3716,3719,371B,371F,3EE5,3EE6,3EE7,3EE8,3EE9,3EEA,4AA2,4AA3,4AA4,4AA5,4AA6,4AA7,5E30,3339,332D,371E,371D,D099
mpcs.srvid
Diese Datei wird vornehmlich genutzt um über die Monitorschnittstelle den Channelnamen auszugeben. In der 1.0 Version ist diese Ausgabe bislang defekt.
0001:MTV Portugal 0002:MTV Polska 0003:Music Box Russia 0004:VH1 Polska 0005:VIVA Polska 0006:MTV 1 0007:VH1 0008:PREMIERE START 0009:PREMIERE 4 000a:PREMIERE 1 000b:PREMIERE 2 ... .. .
mpcs.ac
Cycles für Anticascading
Diese Datei wird nur benötigt wenn Anticascading eingeschaltet ist. Diese Liste dient als Referenz, in welchen Intervallen ECM Requests eingehen sollten. Der letzte Eintrag (*=7) setzt den Wert für "alle Anderen darüber nicht aufgeführten. Der Wert ist in Sekunden anzugeben.
0100:00003D=20 0100:000065=7 0100:00006A=13 0500:020910=30 0500:020A00=15 0500:020A10=15 0500:020A20=15 0500:020A30=15 0500:020A40=15 0500:021500=15 0604:000000=11 0919:000000=20 0961:000000=8 1702:FFFFFF=7 1722:FFFFFF=7 1801:000000=20 4A70:000000=14 *=7
mpcs.cert
# # this file contains needed Issuer Public Keys -or- Session Keys # (currently supported with cryptoworks only) # #CAID:reserved:KEY #sample with IPK for CAID 0D22 0D22:00000000:8000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #sample with Session Key for CAID 0D22 0D22:00000000:B5C7XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mpcs.guess
# # mpcs caid guessing table (by len) # caid 0500 and 1801 not needed # format: <len>:<caid> # where <len> is length of ecm in hex # 29:1762 34:0604 36:0D05 3C:4A70 6E:0919 47:0D05 48:0D05 4C:0B00 50:0D05 51:0D05 54:1702 5A:0B00 67:0B00 71:0D0C 72:4AD0 73:090F 7C:090F 81:090F 85:0D02 91:4AD1 99:0D00 9C:0D02
mpcs.ird
;------------------------------------------- ; Irdeto guessing table (by signature) ; format: <byte3>:<byte4-7>:<caid>:<sid> ; all fields in hex
Beispiel-Konfigurationen
PW und arena
Basis
- 1x Cardreader seriell
- 1x Cardreader USB
- 1x SC PW
- 1x SC arena
- Protokoll: newcamd
Konfiguration
mpcs.conf
[global] Nice = -1
LogFile = /var/log/mpcs/mpcs.log UsrFile = /var/log/mpcs/mpcsuser.log PidFile = /var/run/mpcs.pid Level = 15
ClientTimeout = 5 CacheDelay = 120
[monitor] Port = 988 AULow = 120 MonLevel = 1
[newcamd] Key = 0102030405060708091011121314 Port = 12345@1702:FFFFFF;23456@0D22:FFFFFF
mpcs.server
[reader] Label = reader0 Device = /dev/ttyS2 Protocol = mouse EMMCache = 1,3,2 Detect = CD Services = premiere CAID = 1702 Group = 1
[reader] Label = reader1 Device = /dev/ttyUSB0 Protocol = mouse EMMCache = 1,3,2 Detect = CD Services = arena CAID = 0D22 Group = 2
mpcs.user
[account] User = userp1 Pwd = password1 Uniq = 1 Group = 1 Services = premiere AU = reader0 IDENT = 1702:FFFFFF CAID = 1702 MonLevel = 0
[account] User = usera1 Pwd = password2 Uniq = 1 Group = 2 Services = premiere AU = reader1 IDENT = 0D22:FFFFFF CAID = 0D22 MonLevel = 0
mpcs.cert
0D22:00000000:arena-Cryptoworks-IPK
mpcs.services
[arena] caid=0D22 srvid=0032,00F4,00DC,00E3,00E1,00F2,00F3,00D4
[premiere] caid=1702 srvid=000C,000D,000E,000F,0013,0015,0016,0018,001B,001C,001D,0020,0024,002A,0032,00A8,0203,0206
Versionen
0.9e
Basis
- letzte offizielle mpcs Version von dukat
zusätzliche Features
- keine, da orginal
Forum
0.9e Community Edition
Basis
- mpcs 0.9e
zusätzliche Features
- Cryptoworks und Conax EMMs
- Patch newcamd Protokoll
- Nagra Fix für neue Premiere-Karten (N3)
- Fix für russian NTV+
- 1833to1702 Patch für Premiere HD
- neuer Conax Reader
- Conax Pincode
- Cryptoworks Pincode
- neues ECM-Mapping
Forum
- Quellcode mpcs0.9d aktuell gepatched (okmikel)
unterstütze SCs
- Nagra 2 (ECM, EMM)
- Nagra 3 (ECM, EMM)
- Conax (ECM, EMM)
- Cryptoworks (ECM, EMM)
- Seca
- Irdeto
OSCam 0.99.2
Basis
- mpcs 0.9e Community Edition
zusätzliche Features
- add support for reader with 6.00 MHz (Mhz option in config, on Linux only),
- better support for Viaccess EMMs,
- add support for some Videoguard 2 SCs (e.g. Sky UK and Sky Italia), on Linux only at this time,
- support for SECA PPV (but you still need to buy the event/film),
- and some bugs corrections
Forum
unterstütze SCs
- Nagra 2 (ECM, EMM)
- Nagra 3 (ECM, EMM)
- Conax (ECM, EMM)
- Cryptoworks (ECM, EMM)
- Videoguard 2 (Sky UK, Sky Italia, not PW yet)
- Viaccess (not TNTSAT yet)
- Seca
- Irdeto
MPCS 1.0 beta
Basis
- mpcs 0.9e
zusätzliche Features
- cache2 problem fix
- support overclock card custom BaudRate
- multi AU reader suport per user, also old signle reader way work in mpcs.user
- also AU per reader can be disbale and enble in mpcs.reader
- UNIQ=1 now works in way that must be ;-)
- Crypto EMM, VIA EMM, Conax EMM fix
- add Blocker UA GA SA (only crypto and irdeto works)
- auto reload user in mpcs.user if changed.. not need restart mpcs
- 1702:000000 now is use, no need make 1702:FFFFFF map any more
- and some new extra future and many bug fix
Forum
- MPCS1.0 (KrazyIvan)
unterstütze SCs
- Nagra 2 (ECM, EMM)
- Nagra 3 (ECM, EMM)
- Conax (ECM, EMM)
- Cryptoworks (ECM, EMM)
- Seca
- Irdeto
Windows (cygwin)
mpcs-1.01bs-i386-pc-cygwin
Link zur version: http://streamboard.gmc.to/wbb2/attachment.php?attachmentid=11311
Achtung! * Bitte darauf achten, dass sich die richtige cygwin.dll im gleichen Verzeichnis wie die .exe befindet! * Funktionsfähig ist die Version 1005.25.0.0. Diese befindet sich auch im Link.
Cardserver als Dienst starten
Verwendet man einen PC als Cardserver, so muss der Cardserver entweder von Hand gestartet oder in den Autostart eingetragen werden. Mithilfe der Windows-Dienste kann der cardserver unmittelbar mit dem Hochfahren des Systems gestartet werden.
- Voraussetzungen
mpcs-1.01bs-i386-pc-cygwinn.exe und cygwin.dll im Verzeichnis MPCS (Im Beispiel C:\MPCS) Microsoft-Tools instsrv.exe und srvany.exe beides in Windows Resource Kit Tools (WinXP und WinServer2003) enthalten. Windows Resource Kit Tool kann über die Windows-Update-Seite kostenlos herunter geladen werden (http://microsoft.com/downloads/details...&DisplayLang=en).
- Einrichtung des Dienstes
Eingabeaufforderung (Start ---> Programme ---> Zubehör ---> Eingabeaufforderung): "C:\Programme\WindowsResourceKits\Tools\instcrv.exe"Cardserver "C:\Programme\WindowsResourceKits\Tools\srvany.exe" Achtung: Die (") bitte unbedingt mit eingeben!
- Konfiguration des Dienstes in der Registry
Start ---> Ausführen ---> regedit ---> HKEY_LOKAL_MACHINES\System\CurrentControlSet\Services\Cardserver Wenn ihr den Dienst richtig eingerichtet habt (s.o.), findet Ihr hier einen Schlüssel (Ordner) Parameters. Wenn nicht, mit Rechtsklick im rechten Fenster (Kontextmenü) Neu ---> Schlüssel wählen und Parameters eingeben Bei den Parameters muss nun die Zeichenfolge Application angelegt werden: Wieder Rechtsklick im rechten Fenster (Kontextmenü) Neu ---> Zeichenfolge wählen und als Wert eingeben: C:\MPCS\mpcs-1.01bs-i386-pc-cygwinn.exe Dann muss noch die Zeichenfolge AppDirectory angelegt werden: Wieder Rechtsklick im rechten Fenster (Kontextmenü) Neu ---> Zeichenfolge wählen und als Wert eingeben: C:\MPCS\
- Das sieht dann in diesem Teil der Registry so aus:
- Starten und Prüfen
Start ---> Systemsteuerung ---> Verwaltung ---> Dienste ---> Cardserver ---> Starten Rechtsklick auf Cardserver ---> Eigenschaften ---> Automatisch PC neu starten und testen, ob alles automatisch startet und funktioniert. Mit microMon bekommt man da einen hervorragenden Überblick Am besten sowohl MPCS und microMon mit dem PC automatisch starten.
- Beenden des Dienstes
Wenn man sich zur Einrichtung des MPCS-Servers auf dem PC als Dienst entschieden hat, dann muss man folgerichtig davon ausgehen, dass dieser Dienst mit dem Hochfahren des PC gestartet und mit seinem Herunterfahren wieder beendet wird. Möchte man, aus welchen Gründen auch immer, diesen Dienst manuell beenden bzw. neu starten, empfiehlt es sich, wie folgt vorzugehen:
Start ---> Systemsteuerung ---> Verwaltung ---> Dienste ---> Cardserver ---> anhalten, beenden oder neu starten.
Eine andere Art der Beendigung bewirkt, dass der Dienst im Hintergrund weiter läuft und es bei einem manuellen Neustart zu Instanzen-Kollisionen kommen kann (Pipe Error). Durch Verknüpfung der Verwaltungsmaske "Dienste" mit dem Desktop kann ein umständliches Durchhangeln über Start zu den Diensten vermieden werden!
Anmekrung: Dieses How-To wurde von Guest_a_* aus dem Keywelt-Board [4] übernommen.
Router
Fritzbox 7110
Fritzbox 7120
Fritzbox 7170
Speedport W920V
WRT
STB
dbox 2
Dreambox
Monitoring/ Remote Konfiguration
MicroMon
Beschreibung
- Der microMon kann die Loggingschnittstelle des MPCS mitschneiden und Statistiken über Clientzugriffe erheben. Zusätzlich ist die Konfiguration der Clients möglich. MicroMon bietet zudem die Darstellung der Logs von camd3, newCS, MBox und GBox an. Auch Syslog aus anderen Quellen (z.B. dbox2) kann dargestellt werden.
Forum
- http://streamboard.gmc.to/wbb2/thread.php?postid=291318#post291318 microMon 2.n [Thunderstorm] (Alno)
MPCS Control Center
allgemeine Links zu den Threads im Streamboard
Forum MPCS
- MPCS Forum im Streamboard
- Thread Wiki-Doku MPCS (Alno, wiwe)
Credits
- An dukat (Streamboard), den Vater von MPCS, dessen ausführliche Doku-Texte zu den MPCS-Versionen bis Version 0.9 als Grundlage für diese Wiki-Dokumentation dienten.
- An KrazyIvan (Streamboard), der MPCS zur Version 1.0n weiterentwickelt hat und auch fortführt.
- An smurzch2 (Streamboard), für die Weiterführung des MPCS oscam als Open Source.