Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

Laberthread für aktuelle und nicht aktuelle OScam Versionen

Also so wie es aussieht pfuscht die Auto-Erkennung auch rein, wenn man eine oscam.server hat.
Mit auto-config im oscam wird mir der HD01-Reader immer wieder zerschossen und steht auf Error.

Auffällig: Box- und RSA-Key werden dabei gelöscht. Wohlgemerkt bei vorhandener oscam.server!
 
eigentlich laufen die neuen Versionen gut, kann nicht klagen,
ich habe die Box und Rsa Keys in die cardlist.h übernommen und kompiliere ohne patch,
aber von der Seite hast du vielleicht recht, da sollte dann auf die oscam.server zugegriffen werden vorrangig
 
Das probiere ich jetzt gerade mal aus, der Pi braucht halt ewig zum Bauen.

Aber selbst wenn es das Problem umgeht, zeigt das einen Fehler auf:
Auto-Configure greift auch in bestehende Configs ein, d.h. entweder baut man komplett mit richtiger cardlist.h oder ganz ohne Autoconf, sonst laufen in cardlist.h definierte Karten nicht mehr ...
 
hab noch das gleiche in meinen Post nachgetragen, da hast recht
nach jedem Checkout muss man dann auch die Keys in die Cardlist.h nachtragen oder den patch halt verwenden
 

Anhänge

  • cardlist.rar
    1,6 KB · Aufrufe: 22
Gerade überprüft:
Ja, es liegt an dem fehlenden RSA- und Boxkey in cardlist.h

Also sollten die nur halb konfigurierten Karten aus der cardlist.h ganz raus, da sie die Karten eben nicht halb konfigurieren, sondern komplett unbenutzbar machen.
Oder der Fehler wird behoben, daß Autoconf bestehende Configs angreift.


Edit:
Da waren noch mehr Schnitzer drin, auch im Code selber.
z.B. werden die Unitymedia-Karten zwar definiert, dann aber mit HD+-Daten bestückt.
Und "Kabel Deutschland" und "KabelBW" gibt's schon lange nicht mehr, darüber hinaus ist die v23 auch eine Sky-Karte.

Du musst dich Anmelden oder Registrieren um diesen link zusehen!
 
Zuletzt bearbeitet:
also wenn du auf speichern drückst wird sie gelöscht denn sie ist im speicher
solange du NICHT speichern drückst wird die config nicht angefasst
ich muss mal schauen wie ich das logisch regle ... bin mir da selbst nicht ganz einig wie ich das lösen soll

mach mal bitte einen kompletten log
mit der 1521
 
Zuletzt bearbeitet von einem Moderator:
also wenn du auf speichern drückst wird sie gelöscht denn sie ist im speicher
solange du NICHT speichern drückst wird die config nicht angefasst
Ich habe ja eine oscam.server gehabt, die auch immer lief.

Nach dem Update auf 11384 mit modern 1521 lief die hdplus01 aber plötzlich auf Error, weil RSA- und Boykey auf "0" zurückgesetzt wurden, obwohl die richtigen RSA- und Boxkeys in der oscam.server stehen.
Ändert man sie dann manuell, bringt das auch nichts, weil die beim Reader-Start wieder auf 0 gesetzt werden.

Ja, Du hast insofern Recht, daß die oscam.server zwar nicht mit diesem Fehler gespeichert wird, aber da bei jedem Reader-Init RSA- und Boxkey gekillt bzw. durch die 0-Werte aus cardlist.h ersetzt werden, ist es dann auch egal, was in oscam.server steht.
Im Speicher hat man immer das, was in cardlist.h steht, unabhängig davon, ob autoconf oder nicht.


ich muss mal schauen wie ich das logisch regle ... bin mir da selbst nicht ganz einig wie ich das lösen soll
Für den Anfang:
Also ich kann weiß Gott nicht gut C/C++ programmieren, aber die "if ... else if ... else if ... else if ... "-Konstruktion in cardlist.h ist sicher kein guter Code.
Stark fehleranfällig, wie man an den offensichtlich per cut'n'paste aus dem hdplus01- in den unity_01-Bereich gewanderten Zeilen erkennt.

Das muß doch mit "foreach card in cards" bzw. den weniger hübschen C/C++-Äquivalenten gehen ...

Ich weiß nicht, wie oscam die Reader findet/initialisiert, aber ich würde bei neuem Code in etwa so vorgehen:

... Init/Scan for Reader-Hardware ...
# Danach hätte man ein Array:
# readers = ("/dev/sci0","/dev/sci1", "/dev/blah", ...)

for reader in readers {
next if configured(reader);
... Reader-Autokonfiguration ...
}

sub configured {
... existiert für $1 (Der Reader-Devicename) schon ein Eintrag in oscam.server? ...
Ja: return true;
Nein: return false;
}
 
der Fehler ist ja mit der 1512 entstanden, deswegen hat @gorgone den Patch raus gebracht,
mit der cardlist.h von oben habe ich keine Probleme, getestet wurde eine HD01, HD02, v13 und v14.
 
Ja, ich bestreite ja auch nicht, daß es mit dem Patch (oder meiner komplett korrigierten cardlist.h) klappt.
Aber ich glaube, daß es so nicht gedacht war ... laut gorgone soll autoconf ja nur greifen, wenn es noch keine oscam.server gibt bzw. es sollen keine schon konfigurierten Reader umkonfiguriert werden.
 
wenn die keys eincompiliert sind werden sie immer benutzt (beim atr auslesen) das ist absicht
es ergibt keinen sinn die korrekten mit welchen aus der config zu ersetzen obwohl mann das trotzdem tun kann
zb die bei vti haben diesen unsinn in ihrer board oscam das die bei rsa und boxkey "hdplus" reinschreiben .....
dann kann ich sie auch gleich weg lassen
 
@Südschwede in deinem ersten log wird die conf gelesen im ersten

HD-Plus 0123 recognized ?????
ähm was isn das ?
das steht nicht in meiner cardlist
siehe
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

und auch nicht hier
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


keine ahnung was du da drin hast aber jedenfalls ist das falsch
 
Äh, das steht sehr wohl in der Cardlist ... nicht genau so, aber so ähnlich

"HD-Plus 01\0"

Wenn \ und 0 als Zeichen gezählt werden und nicht korrekt als Null-Terminator für den String genommen werden, ist strlen zwei Zeichen länger als der String, dann landen 2 Bytes garbage im Provider-Namen, wenn strlen angefordert werden ...

Edit:
Das kann es aber eigentlich nicht sein ...
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
 
Zuletzt bearbeitet:
Scheint mir schlichtweg nicht so ganz threadsafe zu sein.
Wenn eine Karte mit längerem Namen minimal früher initialisiert wird, steht deren Provider auch im anderen Reader in currentprovidrt und wird dann durch den kürzeren Namen nur teilweise überschrieben.

Gesendet von meinem SM-N910F mit Tapatalk
 
Hat mit thread-safe nichts zu tun, sondern mit der fälschlichen Verwendung von strncpy wo strcpy angebracht wäre.
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


strncpy läßt den Null-Terminator weg, kopiert also nur Teilstrings
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…