Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: VDR Portal. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

21

Sonntag, 8. Januar 2017, 13:16

Hi,

@fnu
vielleicht kannst Du ja DD mal fragen ob sie den Code fuer Linux doch freigeben.

CU
9000h

Das Problem ist, dass es da nichts gibt, was man freigeben könnte.

22

Montag, 9. Januar 2017, 14:47

Hi,

looks like there is a MTD Linux implementation for TVHeadend TVH MTD, should be already in the master.

CU
9000h
Es ist eagl in wlehcer Reiehnfogle die Bchustebaen in Woeretrn vokrmomen. Huapstache der estre und leztte Bchustbae sitmmen.

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

23

Montag, 9. Januar 2017, 15:26

"Multiple Channel Support" und "Multiple Transponder Decoding" ist aber zwei paar Stiefel!

jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

24

Montag, 6. März 2017, 09:51

Hi!

Ich war ja lange weg vom VDR und auch fast 2 Monate auf den Philippinen auf Urlaub.
Ich hatte im Urlaub Kontakt zu 3PO und Klaus bez. SatIP und ddci2 Plugin, konnte aber nichts machen, da zu schlechtes iNet.

Ich hab dann nach meiner Rückkehr meinen VDR auf die neue yaVDR 0.6.0 Distribution aufgerüstet, damit ich am ddci2 Plugin weiter basteln kann.

Vor ein paar Tagen hat mich ein User wg. dem CI Plugin angesprochen und seit damals werkle ich an dem Ding wieder.
Ich habe von diesem Thread nichts gewusst, weil ich nicht so viel im Forum bin.

Na wie auch immer, ich habe unabhängig von diesem Patch eine fast identische Lösung gebaut. Die macht nur jetzt alles richtig im Assign und loggt auch was da passiert (Debug Logging).

Ihr findet die Version 0.0.14 im git.

Mir gefällt der Ansatz auch insofern nicht so ganz, weil da für jedes Device ein (virtueller) cCiCamSlot angelegt wird. Das hat zur Folge, daß z.B. im Setup/CAM-Menü alle diese CAMs separat auftauchen, und VDR bei der Suche nach einem geeigneten CAM um einen Kanal zu entschlüsseln diese alle durchprobiert, obwohl es letztlich immer die gleiche Smartcard ist und ein Versuch reichen würde.
Das ging anno dazumal, als ich das Plugin geschrieben habe, nicht anders, ob der internen Struktur im VDR und seit damals schläft die Sache. Ist erst mit VDR 2.1.7 ermöglicht worden (da hab ich einen Patch an Klaus gesendet), hatte aber dann keine Zeit und auch keinen 2ten VDR, um mich damit zu beschäftigt :O

Mir schwebt da eher sowas vor:

- für jedes physikalische Interface gibt es einen cCiAdapter
- für jedes physikalische CAM gibt es einen cCiCamSlot
- wenn ein cCiCamSlot MTD kann, dann legt er zur Laufzeit in cCiCamSlot::Assign() einen virtuellen cCiCamSlot an, der die eigentliche Arbeit übernimmt
- im Setup/CAM-Menü erscheinen nur die physikalischen CAMs (bzw. cCiCamSlots)
Das klingt sehr gut und sollte sich auch nur im Plugin so bauen lassen. Bin nur nicht sicher, ob die VDR Basisklassen das so zulassen. Das sieht man aber erst bei der Implementierung, ob man da was im VDR ändern muss.

Ich kann mir eigentlich nicht vorstellen, daß es dazu Änderungen auf Treiberseite bedarf, denn der Datenfluß zu und vom CAM funktioniert ja bereits.
Nein, im Treiber muss man nichts machen. Da gehört es auch nicht hin, weil das dem Konzept "Treiber macht nur LowLevel/Userspace macht Logik" zuwieder laufen würde. Man könnte aber eine Library machen, die dann von anderen Programmen und ddci2 verwendet werden kann. Das aber ist viel Aufwand und der VDR selbst macht schon sehr viel, was in so einer Library sein würde.

LG,
Jasmin

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »jasminj« (8. März 2017, 00:00)


jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

25

Mittwoch, 8. März 2017, 00:13

Das klingt sehr gut und sollte sich auch nur im Plugin so bauen lassen. Bin nur nicht sicher, ob die VDR Basisklassen das so zulassen. Das sieht man aber erst bei der Implementierung, ob man da was im VDR ändern muss.
Update: Klaus ist dabei das MTD nun doch in den VDR einzubauen. Das Plugin macht dann nur die Anbindung an die DD Hardware über die Kernel Schnittstelle. Er sagte es wären zu viele Änderungen im VDR notwendig gewesen und dann hat er es lieber gleich dort eingebaut.

Er hat auch einen Bug im ddci2 Plugin gefunden, der sich nur bei MTD auswirkt.
Die neue Version 0.0.15 findet ihr im git.

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

26

Mittwoch, 8. März 2017, 07:48

Kurze Zwischenfrage, lässt sich das Plugin auch für eine OctopusNet S2 MAX nutzen? Das darin verbaute CI dürfte ja das Gleiche sein, wie das externe PCIe Modell...

Mein VDR

Hartware: Gehäuse: Ahanix MCE 302, Mobo: Kontron 986LCD-M/mITX, CPU: Intel Core2 Duo Mobile T7400 2,16GHz, 2GB RAM, SAT: Digital Devices DuoFlex S2 miniPCIe, Graka: ASUS GeForce GT 730 ( GK208 ) Silent, 4x4TB 3,5" WD Red HD, 1x DVD-Brenner Pioneer, Atric IR-Einschalter+Empfänger, FB One-For-All URC-7960, SoundGraph iMON LCD ( MFP5I, 15c2:0038 )
Weichware: Jessie (x86_64), Kernel 3.16, NVidia v364.19, VDR 2.2.0 gepatched

jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

27

Mittwoch, 8. März 2017, 09:41

Hi!

Das Plugin ist für den VDR und nur für diesen tut es irgend etwas.
Läuft auf deiner OctopusNet S2 MAX ein VDR?

LG,
Jasmin

PS: Die original SW der Octopus Net findet man hier.

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

28

Mittwoch, 8. März 2017, 10:44

sicher, so wie es jetzt implementiert ist das Plugin für den VDR.

Ihr legt aber immer einen so großen Wert darauf, dass das CI ein eigenes Stück HW ist und man sich von dem Gedanken lösen muss das es einer DVB Karte fix zuzuordnen ist. Ok, das der MTD Support nicht in den Treiber gehört wurde ja hinreichend diskutiert, aber wäre es hier nicht konsequent das Ganze trotzdem separat, bspw in einem Daemon mit einer API hinzustellen damit auch andere Programme, zB vdr, minisatip, konkurrierend zugreifen können.

Oder verkompliziert dies das Unterfangen zu sehr?

Christian
CKone: yavdr 0.6.1/2.3.4 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 700, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
CKtwo: yavdr 0.6.1/2.3.4 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 700, atric USB
PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.3.4 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, Digital Devices MaxS8, Samsung 840 EVO 120GB, 3x WD Red WD30EFRX 3TB in SW Raid5

29

Mittwoch, 8. März 2017, 14:01

Es geht ja nicht nur darum, dass das CI mit den DVB-Daten gefüttert werden muss, es muss ja nebenbei auch noch ein paar Steuerbefehle bekommen. Deshalb kann es nicht so ohne weiteres extern betrieben werden.

Und wenn, dann müsste man wieder ein neues vdr-Plugin schreiben, welches dann den "ddcidaemon" benutzt. Da hat man also nichts gewonnen. Es muss halt ein "DVB-Master-Programm" geben, welches die DVB-Daten fertig für die nutzenden Programme abliefert. Und das kann der vdr genauso gut erledigen.

Lars.

meine Signatur

vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
vdr: yaVDR 0.2/pvr350 @ Sempron 64 LE-1200, MSI K9MM-V, 1x PVR350, 2x Satelco EasyWatch DVB-C
hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
Plugins: | avahi4vdr | dbus2vdr | dynamite | noepg | pvrinput | sundtek |
pre-alpha Plugins: | ddci CI-Support für DD/L4M (siehe Post 1048374) |

30

Mittwoch, 8. März 2017, 19:45

Ich habe es, um den Aufwand minimal zu halten und möglichst wenig Code zu duplizieren, jetzt einfach mal an strategischen Stellen im VDR eingebaut. Das ddci2-Plugin braucht nur einige wenige zusätzliche Aufrufe zu machen, um MTD zu nutzen. Es wäre auf diese Weise auch leicht möglich, Plugins für andere CI-Adapter zu schreiben, die MTD können, denn um die eigentlichen Probleme kümmert sich VDR.
Freilich steht es jedem frei, alles was für MTD notwendig ist aus dem VDR-Code zu nehmen und eine entsprechende Lib zu schreiben. Die Hauptarbeit war ja erstmal herauszufinden, an welchen Stellen die PIDs, SIDs und CATs angepasst werden müssen, damit das funktioniert, und die Datenströme geeignet zusammen- und wieder auseinanderzuführen. Dieses Wissen steht dann allgemein zur Verfügung und kann beliebig weitergenutzt werden (the beauty of open source ;-).

Konkret: das Entschlüsseln von mehreren Kanälen von unterschiedlichen Transpondern habe ich bereits hinbekommen. Momentan arbeite ich noch daran, den Gesamtablauf sauber hinzubekommen (zur Zeit läuft es noch unter recht "kontrollierten Bedingungen" ;-). Sobald alles stabil läuft gibt's die Version 2.3.3 ;-).

Klaus
Gib CI+/HD+ keine Chance! Lasst diese Pest am ausgestreckten Arm verhungern!
Wer für sowas bezahlt macht sich zum Totengräber von Projekten wie VDR!
Die Wahrheit ueber HD Plus
CI-Plus -- Das trojanische Pferd im Wohnzimmer
Mach mit beim VDR User Counter!

jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

31

Mittwoch, 8. März 2017, 21:47

Ihr legt aber immer einen so großen Wert darauf, dass das CI ein eigenes Stück HW ist und man sich von dem Gedanken lösen muss das es einer DVB Karte fix zuzuordnen ist.
Mit Verlaub, das ist wirklich genial und man kann damit auch Tuner von anderen Herstellern benutzen (weiter verwenden) und dennoch verschlüsselte Programme schauen.

... aber wäre es hier nicht konsequent das Ganze trotzdem separat, bspw in einem Daemon mit einer API hinzustellen damit auch andere Programme, zB vdr, minisatip, konkurrierend zugreifen können.
So etwas ähnliches hatte ich mal vor, aber ich habe es dann gelassen, weil der VDR das ganze CAM Handling bereits implementiert hatte. Man hätte im Grunde ein neues CAM API erfinden müssen und alle Programme hätten ihren CAM Code darauf anpassen müssen. Und konkurrierend über mehrere Programme hinweg ..., na viel Spaß. Da würde man viel in den Programme umbauen (ersetzen/löschen) müssen.

Oder verkompliziert dies das Unterfangen zu sehr?
Ja!

Es ist halt so, dass jedes Programm das selbst implementieren muss. Und auf lange Sicht kann es gut sein, dass CI Module nicht mehr verfügbar sind, oder durch den CI+ Schmarrn ersetzt werden. Es gibt da zwar alternativen, aber ... . Also lohnt sich der Aufwand jetzt nicht mehr.

LG,
Jasmin

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

32

Samstag, 11. März 2017, 18:42

Hallo,

funktioniert die aktuelle Version (0.0.15) noch mit VDR 2.2?

Weil ich habe eine Octopus mini V2 + DuoFlex S2 + Duoflex CI + FlexCI
Mit der alten Version vom ddci2 zeigt VDR alle CI Slots an, mit der neuen nur noch das erste.

Muss man noch irgendwas einstellen?


Gruß Karl


Edit: Mit dem Patch von Klaus, funktioniert es wie es soll

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nanohcv« (11. März 2017, 19:24)


jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

33

Samstag, 11. März 2017, 20:29

funktioniert die aktuelle Version (0.0.15) noch mit VDR 2.2?
Ja, sollte es, nur ...

Mit der alten Version vom ddci2 zeigt VDR alle CI Slots an, mit der neuen nur noch das erste.
... da hat die Jasmin anscheinend was vermurkst, weil sie mal wieder nur auf dem VDR mit einem CI getestet hat. Der andere VDR zeigt mir das gleiche Verhalten wie bei dir:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Mar 11 20:13:22 vdr2 vdr: [1234] starting plugin: ddci2
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Inf: plugin version 0.0.15 initializing (compiled for VDR version 2.2.0)
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: found DD CI adapter '/dev/dvb/adapter3/ci0'
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: found DD CI adapter '/dev/dvb/adapter2/ci0'
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Inf: found 2 DD CI adapters
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: Try to open ca2
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: Try to open ci2-w
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: Try to open ci2-r
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Inf: Creating DdCiAdapter 0 (/dev/dvb/adapter2/ca0)
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: DdCiTsSend for /dev/dvb/adapter2/ci0 created
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: DdCiTsRecvDeliver for /dev/dvb/adapter2/ci0 created
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: DdCiTsRecv for /dev/dvb/adapter2/ci0 created
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter2/ca0) created: DescrNum: 0, DescrType: 0, SlotNum: 1, , SlotTy
pe: 2
Mar 11 20:13:22 vdr2 vdr: [1234] DDCI-Inf: plugin started
Scheint so, als ob ich das was in der Initialisierungschleife vergessen habe, weil es da wird auch "/dev/dvb/adapter3/ci0" vergessen.
Ich schau mir das gleich an.

Edit: Mit dem Patch von Klaus, funktioniert es wie es soll
Klaus hat im Grunde nur ein "return true" bool in die Assign Funktion gemacht. Ich hab aber auch an der Initialisierung gedreht.

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

34

Samstag, 11. März 2017, 21:00

Eine neue Version 0.0.16 ist im git.

Wem interessiert was es war (klick):
In Version 0.0.14 hat das Plugin nur so viele logische CAMs für den VDR angelegt, wie Devices gefunden wurden. Jetzt ist aber die Anzahl der Devices nicht unbedingt gleich der Anzahl der vorhandenen CI Slots. Deshalb habe ich das geändert.
Dummerweise habe ich die Schleife über alle Devices ersatzlos gestrichen, weshalb nur immer der erste CI Slot initialisiert wurde.

LG,
Jasmin

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

35

Samstag, 11. März 2017, 21:18

Grunsätzlich funktionieren tut es,

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Mar 11 21:13:38 [vdr] [10157] DDCI-Inf: plugin version 0.0.16 initializing (compiled for VDR version 2.2.0)
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: found DD CI adapter '/dev/dvb/adapter0/ci1'
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: found DD CI adapter '/dev/dvb/adapter0/ci0'
Mar 11 21:13:38 [vdr] [10157] DDCI-Inf: found 2 DD CI adapters
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: Try to open ca0
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: Try to open ci0-w
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: Try to open ci0-r
Mar 11 21:13:38 [vdr] [10157] DDCI-Inf: Creating DdCiAdapter 0 (/dev/dvb/adapter0/ca0)
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: DdCiTsSend for /dev/dvb/adapter0/ci0 created
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: DdCiTsRecvDeliver for /dev/dvb/adapter0/ci0 created
Mar 11 21:13:38 [vdr] [10157] DDCI-Dbg: DdCiTsRecv for /dev/dvb/adapter0/ci0 created
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) created: DescrNum: 0, DescrType: 0, SlotNum: 1, , SlotType: 2
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: Try to open ca0
Mar 11 21:13:39 [vdr] [10214] DDCI adapter /dev/dvb/adapter0/ca0 thread started (pid=10157, tid=10214, prio=high)
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: Try to open ci0-w
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: Try to open ci0-r
Mar 11 21:13:39 [vdr] [10216] DDCI Recv (/dev/dvb/adapter0/ci0) thread started (pid=10157, tid=10216, prio=high)
Mar 11 21:13:39 [vdr] [10157] DDCI-Inf: Creating DdCiAdapter 0 (/dev/dvb/adapter0/ca1)
Mar 11 21:13:39 [vdr] [10215] DDCI Send (/dev/dvb/adapter0/ci0) thread started (pid=10157, tid=10215, prio=high)
Mar 11 21:13:39 [vdr] [10217] DDCI Recv Deliver (/dev/dvb/adapter0/ci0) thread started (pid=10157, tid=10217, prio=high)
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: DdCiTsSend for /dev/dvb/adapter0/ci1 created
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: DdCiTsRecvDeliver for /dev/dvb/adapter0/ci1 created
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: DdCiTsRecv for /dev/dvb/adapter0/ci1 created
Mar 11 21:13:39 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca1) created: DescrNum: 0, DescrType: 0, SlotNum: 1, , SlotType: 2
Mar 11 21:13:39 [vdr] [10157] DDCI-Inf: plugin started
Mar 11 21:13:39 [vdr] [10218] DDCI adapter /dev/dvb/adapter0/ca1 thread started (pid=10157, tid=10218, prio=high)
Mar 11 21:13:39 [vdr] [10219] DDCI Send (/dev/dvb/adapter0/ci1) thread started (pid=10157, tid=10219, prio=high)
Mar 11 21:13:39 [vdr] [10220] DDCI Recv (/dev/dvb/adapter0/ci1) thread started (pid=10157, tid=10220, prio=high)
Mar 11 21:13:39 [vdr] [10221] DDCI Recv Deliver (/dev/dvb/adapter0/ci1) thread started (pid=10157, tid=10221, prio=high)
Mar 11 21:13:48 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:48 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) assigned to device 1
Mar 11 21:13:48 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:48 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StartDecrypting())
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StartDecrypting())
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) unassigned from device 1
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) assigned to device 1
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:50 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StartDecrypting())
Mar 11 21:13:51 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StartDecrypting())
Mar 11 21:13:51 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:51 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) unassigned from device 1
Mar 11 21:13:53 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:53 [vdr] [10157] DDCI-Dbg: DdCiAdapter(/dev/dvb/adapter0/ca0) assigned to device 1
Mar 11 21:13:53 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StopDecrypting())
Mar 11 21:13:53 [vdr] [10157] DDCI-Dbg (virtual void DdCiCamSlot::StartDecrypting())
Mar 11 21:14:20 [vdr] [10219] DDCI Send (/dev/dvb/adapter0/ci1) thread ended (pid=10157, tid=10219)
Mar 11 21:14:20 [vdr] [10221] DDCI Recv Deliver (/dev/dvb/adapter0/ci1) thread ended (pid=10157, tid=10221)
Mar 11 21:14:20 [vdr] [10220] DDCI Recv (/dev/dvb/adapter0/ci1) thread ended (pid=10157, tid=10220)
Mar 11 21:14:21 [vdr] [10218] DDCI adapter /dev/dvb/adapter0/ca1 thread ended (pid=10157, tid=10218)


leider aber bekomme ich beim Beenden des VDR einen segfault:

Quellcode

1
2
3
4
5
6
7
8
9
....
Mar 11 21:14:28 [vdr] [10157] deleting plugin: softhddevice
Mar 11 21:14:28 [root] Focus: 1
Mar 11 21:14:28 [vdr] [10157] deleting plugin: ddci2
Mar 11 21:14:28 [G2V gg_switchhook.sh] /_config/bin/gg_switchhook.sh -switch ActWin <(1058, 1888) 0(Gg_launcher)>
Mar 11 21:14:28 [kernel] DDCI adapter /d[10214]: segfault at 7f6fbb77bb82 ip 00007f6fbb77bb82 sp 00007f6fa1469630 error 14 in ISO8859-9.so[7f6fbb981000+2000]
Mar 11 21:14:30 [root] Focus: (1058, 1888) 0(Gg_launcher) - 11104
Mar 11 21:14:31 [su] pam_unix(su:session): session closed for user root
...

jasminj

Fortgeschrittener

Beiträge: 284

Wohnort: Österreich, Wien 19

Beruf: Software Entwicklerin im sicherheitskritischen Bereich

  • Nachricht senden

36

Samstag, 11. März 2017, 21:35

Eine neue Version 0.0.17 ist im git.

Der Code von 0.0.14 hatte eine "for" Schleife, die einen Variable automatisch hochgezählt hat.
Beim Umbau auf eine "while" Schleife (0.0.16), hab ich das Hochzählen vergessen. :wand

Jetzt sollte aber wirklich alles wieder funktionieren. :O

VDR Info

VDR1: yaVDR 0.6.1, MSI 785GTM-E45 mit AMD Sempron 140, 1GB RAM, ASUS EN210/512MB, Disk 1TB, Attric, Cine S2 6.5 mit CI (geht jetzt mit ddci2, VDR 2.3.3 Test Version)
VDR2: yaVDR 0.6.1, ASUS P8H77-V LE mit Intel Pentium G2120, 4GB RAM, ASUS GT610/2GB, Disk 4TB, Y.A.R.D.2, Octopus Twin CI + DuoFlex S2 + Duoflex S2 v4 mit CI (geht nur mit redirect, da VDR 2.2.0)
pre-alpha Plugins: |ddci2 CI-Support für DD/L4M für VDR 2.x.y |

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

37

Samstag, 11. März 2017, 21:53

[...] Jetzt sollte aber wirklich alles wieder funktionieren. :O

Ja, jetzt lässt sich der VDR wieder sauber beenden. :thumbsup:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
....
Mar 11 21:51:23 [vdr] [703] EPGSearch: conflictcheck thread ended (pid=523, tid=703)
Mar 11 21:51:23 [vdr] [523] deleting plugin: softhddevice
Mar 11 21:51:23 [root] Focus: 1
Mar 11 21:51:23 [vdr] [523] deleting plugin: ddci2
Mar 11 21:51:23 [G2V gg_switchhook.sh] /_config/bin/gg_switchhook.sh -switch ActWin <(1058, 1888) 0(Gg_launcher)>
Mar 11 21:51:24 [vdr] [523] max. latency time 1 seconds
Mar 11 21:51:24 [vdr] [523] caught signal 1
Mar 11 21:51:24 [vdr] [523] exiting, exit code 1
Mar 11 21:51:25 [root] Focus: (1058, 1888) 0(Gg_launcher) - 806
Mar 11 21:51:26 [su] pam_unix(su:session): session closed for user root
....

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

38

Sonntag, 12. März 2017, 11:03

Das gehört vlt. nicht unbedingt hierher, aber kann mir Jemand die Syntax für das "Redirecten" erklären?

Ich versuche gerade mit meinem Test-SATIP-Server mit einer Cine S2 + DuoFlex C/T + FlexCI, das CAM mit der Flex C/T zu "pipen", aber leider verstehe ich diese Anleitung nicht.

Das Setup sieht so aus:

dmesg

Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[  179.767459] DDBridge: Digital Devices PCIE bridge driver 0.9.28, Copyright (C) 2010-16 Digital Devices GmbH
[  179.767869] DDBridge: device name: Digital Devices Cine S2 V6.5 DVB adapter
[  179.767888] DDBridge: HW 0001000d REGMAP 00010004
[  179.767954] DDBridge: using 1 MSI interrupt(s)
[  179.767977] DDBridge: link 0 vendor dd01 device 0003 subvendor dd01 subdevice 0021
[  179.769945] DDBridge: Port 0: Link 0, Link Port 0 (TAB 1): DUAL DVB-S2
[  179.771435] DDBridge: XO2 ID 04
[  179.901425] DDBridge: Port 1: Link 0, Link Port 1 (TAB 2): DUAL DVB-C/T/T2
[  179.902762] DDBridge: Port 2: Link 0, Link Port 2 (TAB 3): CI
[  179.905364] DDBridge: Port 3: Link 0, Link Port 3 (TAB 4): NO MODULE
[  179.906817] DDBridge: 0 netstream channels
[  179.906820] DVB: registering new adapter (DDBridge)
[  180.212579] STV0900 version 0x30
[  180.213148] LNBx2x attached on addr=a
[  180.213151] stv6110x_attach: Attaching STV6110x
[  180.213153] DDBridge: attach tuner input 0 adr 60
[  180.213359] ddbridge 0000:01:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...
[  180.272584] STV0900 version 0x30
[  180.273150] LNBx2x attached on addr=8
[  180.273152] stv6110x_attach: Attaching STV6110x
[  180.273154] DDBridge: attach tuner input 1 adr 63
[  180.273359] ddbridge 0000:01:00.0: DVB: registering adapter 0 frontend 1 (STV090x Multistandard)...
[  180.273956] attach
[  180.273958] is24Mhz = 0
[  180.275208] ChipID  = B1
[  180.545837] ddbridge 0000:01:00.0: DVB: registering adapter 0 frontend 2 (CXD2837 DVB-C DVB-T/T2)...
[  180.546686] attach
[  180.546689] is24Mhz = 0
[  180.547608] ChipID  = B1
[  180.900762] ddbridge 0000:01:00.0: DVB: registering adapter 0 frontend 3 (CXD2837 DVB-C DVB-T/T2)...
[  180.915992] Attached CXD2099AR at 40
[  190.213598] dvb_ca adapter 0: DVB CAM detected and initialised successfully

/dev/dvb

Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server04 ~ # tree /dev/dvb/
/dev/dvb/
└── adapter0
    ├── ca0
    ├── ci0
    ├── demux0
    ├── demux1
    ├── demux2
    ├── demux3
    ├── dvr0
    ├── dvr1
    ├── dvr2
    ├── dvr3
    ├── frontend0
    ├── frontend1
    ├── frontend2
    └── frontend3

1 directory, 14 files
server04 ~ #


Wie müssen denn die Werte für A, B, C, D sein, wenn ich "frontend2", dem "ca0" zuordnen will?

echo "AB CD" > /sys/class/ddbridge/ddbridge0/redirect

39

Sonntag, 12. März 2017, 14:32

Vielleicht 02 02? Welche Kombinationen hast du schon ausprobiert? Ich meine, dass man den redirect vor dem ersten Zugriff setzen muss, also vdr stoppen, Treiber neu laden, redirect setzen, vdr starten.

Aber das sollte mit ddci2 ja eigentlich nicht mehr nötig sein.

Lars

meine Signatur

vdr2: yaVDR 0.5/softhddevice @ G540, Intel DH67BLB3, Asus GT610/2GB, DDBridge + 2x DuoFlex C/T
vdr: yaVDR 0.2/pvr350 @ Sempron 64 LE-1200, MSI K9MM-V, 1x PVR350, 2x Satelco EasyWatch DVB-C
hdvdr: yaVDR unstable/softhddevice @ E8400, Asus P5Q SE Plus, 1x L4M-TwinCI + Flex C/T, 1x Sundtek MediaTV Pro, GT520
Plugins: | avahi4vdr | dbus2vdr | dynamite | noepg | pvrinput | sundtek |
pre-alpha Plugins: | ddci CI-Support für DD/L4M (siehe Post 1048374) |

Beiträge: 9 560

Wohnort: Schwabenländle

Beruf: Bootmanager

  • Nachricht senden

40

Sonntag, 12. März 2017, 14:37

Es geht nicht um einen VDR.

Leider ist das "Ausprobieren" nur wie Fischen im trüben Wasser, ich würde halt gerne sicher sein, dass das redirect richtig ist.

Immortal Romance Spielautomat