MPCS: Unterschied zwischen den Versionen
Wiwe (Diskussion | Beiträge) |
Wiwe (Diskussion | Beiträge) |
||
Zeile 239: | Zeile 239: | ||
* 1 = Reader ein | * 1 = Reader ein | ||
===Label=== | ====Label==== | ||
Name der Readers. Pflichtfeld! Wird benötigt, um die Zuordnung von AU in mpcs.user zu ermöglichen. | Name der Readers. Pflichtfeld! Wird benötigt, um die Zuordnung von AU in mpcs.user zu ermöglichen. | ||
Version vom 2. März 2009, 18:25 Uhr
Was kann das Programm
MPCS ist ein multi-platform/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 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 dbox2. Siehe Abschnitt Versionen!
Windows unter Verwendung von cygwin. Siehe Abschnitt Versionen!
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.
camd3.3
Entspricht auf Clientseite (camd3.servers) dem Eintrag unter cs378x (TCP) Vgl. camd3
camd3.5
Entspricht auf Clientseite (camd3.servers) dem Eintrag unter cs357x (UDP) Vgl. camd3
newcamd
gbox
radegast
Welche Hardware wird unterstützt (reader, receiver...)
Seriell
USB
Dateien für die Configuration 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 = -15 ClientTimeout = 4 ClientMaxIdle = 60 CacheDelay = 0 FallbackTimeout = 1 BindWait = 10 ResolveDelay = 10 DyndnsInterval = 120 LogFile = stdout #LogFile = /ramdsk/kpcs.log #PidFile = /ramdsk/kpcs.pid #MaxLogSize = 102400 showecmdw = 0 showemmdw = 0 disablecache1 = 0 disablecache2 = 0 disablecache = 0 Filter = 0 #Filter = 500 [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 dbox2, wenn die Fehlermeldung "relocation error:setpriority" erscheint. Vgl. Prioritätsscheduling
ClientTimeout
Maximale Wartezeit des Clients in Sekunden auf eine Antwort.
ClientMaxIdle
Maximale Zeit in Sekunden, die der Client inaktiv bleiben kann, bevor er automatisch abgemeldet wird.
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.
FallbackTimeout
Maximale Wartezeit des Cardservers in Sekunden auf primäre Reader, bevor der/die Fallback-Reader (falls vorhanden!) befragt werden.
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
ResolveDelay
Zeit in Sekunden, gibt die Pause bei der Namensauflösung an.
DyndnsInterval
bitte noch ergänzen!
LogFile
Hier kann die Logdatei eingestellt und Devices benannt werden.
Zum Beispiel:
- /dev/null = Es wird kein Logfile erzeugt.
- /dev/tty = Bildschirmausgabe.
- syslog = Die Ausgabe wird an den syslogd übergeben.
Empfehlungen:
- linux i386 = /var/log/mpcs.log
- dbox2 = /dev/null oder /dev/tty
- Windows = 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.
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
disablecache2
bitte ergänzen
disablecache
bitte ergänzen
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 Wichtig: Wenn hier ein Port eingetragen wird, muss dieser Port mit dem Eintrag in der camd3.servers bei den Clients übereinstimmen!
mpcs.user
V1.0 (KrazyIvan Version)
#.user is auto reload... then make changes to file relaod automaticly not need restart [account] User = user Pwd = 54546 Uniq = 1 Group = 1 #AU disable AU = 0 # this is auto AU reader all reader #AU = 1 #AU single reader #AU = myreader EndDate = 2009-01-05 #or both are ok #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-Packet erhalten soll!
User
User-Name. Muss gesetzt sein!
Pwd
Passwort. Muss gesetzt sein!
Uniq
Uniq kann 0 oder 1 sein, wobei 1 bedeutet, dass dieser User sich nicht zweimal zur gleichen Zeit anmelden kann!
ab MPCS 1.0n
Uniq = uniq kann 0, 1, 2 oder 3 sein. Optional (Default: Uniq=0)
- 0 - disable
- 1 - per IP
- 2 - 1 user per Port
- 3 - only 1 user allow for all port
Beispiel:
Uniq = 2
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.
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
bitte ergänzen
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. Ab version 1.0n ist dieser Parameter nicht mehr erforderlich! bitte prüfen und eventuell überarbeiten!
mpcs.reader(V1.0) / mpcs.server
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
bitte ergänzen
blockga
bitte ergänzen
blocksa
bitte ergänzen
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
- 0 = Autoupdate aus
- 1 = Autoupdate ein
Enable
- 0 = Reader aus
- 1 = Reader ein
Label
Name der Readers. Pflichtfeld! Wird benötigt, um die Zuordnung von AU in mpcs.user zu ermöglichen.
Protocol
Kommunikationsprotokoll für den Reader.
- Lokaler Cardreader = "mouse" oder "inernal
- Regelfall = Alle Cardreader mit einem "Device=/dev/sciX "internal". Alle anderen "mouse".
- Cascading = "camd35" für camd 3.5-kompatiblen Remote-Server eintragen.
Device
Bei lokalem Reader (mouse-mode) das Device, an dem der Reader angeschlossen ist. Beispiel:
- Device=/dev/ttyS0 = Reader an COM1 (bei Linux i386 und Windows)
- Device=/dev/tts/1 = Reader an COM2 (Linux dbox2 mit multicam)
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. In dien Fällen am besten im Gerätemanager des PC 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.
BaudRate
Für Reader, deren Geschwindigkeit über eine Baudrate eingestellt werden kann, muss hier ein Eintrag erfolgen.
EMMCache
Definition des EMM-Caches für den Reader. Derzeit nur für lokale Reader. Betrifft die AU-Funktion. Damit kann entschieden werden, on Update-Kommandos vom Provider immer oder nur unter bestimmten Voraussetzungen geschrieben werden.
- Format: <usecache>,<rewritte>,<logging>
Detect
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
[pwhd] 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
[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
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
Versionen (Linux, WinPC, .....)
0.9e
0.9e Team Edition
1.0 (KrazyIvan Version)
Router
Fritzbox 7110
Fritzbox 7120
Fritzbox 7170
Speedport W920V
WRT
STB
Dbox2
Dreambox
Monitoring/ Remote Konfiguration
MicroMon
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.
MPCS Control Center
Links zu den Threads im streamboard und zur database
Forum MPCS
http://streamboard.gmc.to/wbb2/board.php?boardid=214
Thread microMon
http://streamboard.gmc.to/wbb2/thread.php?postid=292726#post292726