Hallo zusammen,
ich baue gerade meinen headless VDR auf die aktuelle Version 2.3.8 um und möchte dabei auch erstmals die Möglichkeit nutzen, meine Cine S2 bei Nichtverwendung abschalten (idle) zu lassen.
Ich hoff es kann mir jemand dabei die Zusammenhänge zwischen dummydevice, suspendoutput und dynamite erklären.
Wie ich in einem anderen Thread gelesen habe, braucht man eigentlich das dummydevice Plugin nicht mehr. Mein VDR funktioniert auch soweit ohne, jedoch nachdem ich das suspendoutput Plugin installiert hatte, konnte dieses den Kanal nicht abschalten und hat immer die folgende Fehlermeldung gebracht:
Oct 28 22:37:30 vdr vdr: [15468] suspendoutput: output suspended by inactivity timer
Oct 28 22:37:30 vdr vdr: [15468] ERROR: Kanal blockiert (zeichnet auf)!
Oct 28 22:37:30 vdr vdr: [15468] ERROR: no OSD provider available - using dummy OSD!
Oct 28 22:37:30 vdr vdr: [15468] suspendoutput: output resumed by user action
Das erklärt sich, da ich in der suspendoutput Doku irgendwo gefunden habe, dass suspendoutput nur den Kanal abschalten kann, wenn das DVB Device nicht das Primary Device ist, was aber ja ohne dummydevice der Fall ist. Sobald ich das dummydevice Plugin lade und es zum Primary Device mache, funktioniert die Abschaltung mit suspendoutput.
Ich habe als nächstes dann das dynamite Plugin versucht zu installieren. Beim Patchen des VDR konnten jedoch nicht alle Patches angewendet werden:
root@vdr:/usr/local/src/VDR# patch -R < PLUGINS/src/dynamite/patches/vdr-2.3.1-dynamite.diff
patching file ci.h
Hunk #1 succeeded at 209 (offset 93 lines).
patching file device.c
Hunk #2 succeeded at 106 (offset -1 lines).
Hunk #3 succeeded at 120 (offset -1 lines).
Hunk #4 succeeded at 158 (offset -1 lines).
Hunk #5 succeeded at 437 (offset 78 lines).
Hunk #6 succeeded at 648 (offset 82 lines).
Hunk #7 succeeded at 659 (offset 82 lines).
Hunk #8 succeeded at 690 (offset 82 lines).
Hunk #9 succeeded at 871 (offset 88 lines).
Hunk #10 succeeded at 918 (offset 88 lines).
Hunk #11 succeeded at 1314 (offset 89 lines).
Hunk #12 succeeded at 1333 (offset 89 lines).
Hunk #13 succeeded at 1352 (offset 89 lines).
Hunk #14 succeeded at 1627 (offset 84 lines).
Hunk #15 succeeded at 1645 (offset 84 lines).
Hunk #16 succeeded at 1744 (offset 102 lines).
Hunk #17 succeeded at 1798 (offset 114 lines).
Hunk #18 succeeded at 1828 (offset 114 lines).
Hunk #19 succeeded at 1922 with fuzz 2 (offset 116 lines).
patching file device.h
Hunk #1 succeeded at 190 (offset 16 lines).
Hunk #2 succeeded at 217 (offset 16 lines).
Hunk #3 succeeded at 471 (offset 38 lines).
Hunk #4 succeeded at 642 (offset 38 lines).
Hunk #5 succeeded at 859 (offset 38 lines).
Hunk #6 succeeded at 899 (offset 42 lines).
patching file dvbci.c
patching file dvbci.h
patching file dvbdevice.c
Hunk #2 succeeded at 320 (offset 3 lines).
Hunk #3 succeeded at 336 (offset 3 lines).
Hunk #4 succeeded at 352 with fuzz 1 (offset 4 lines).
Hunk #5 succeeded at 379 (offset 7 lines).
Hunk #6 succeeded at 396 (offset 7 lines).
Hunk #7 succeeded at 541 (offset 7 lines).
Hunk #8 FAILED at 777.
Hunk #9 succeeded at 1153 (offset 222 lines).
Hunk #10 succeeded at 1225 (offset 222 lines).
Hunk #11 succeeded at 1325 with fuzz 2 (offset 233 lines).
Hunk #12 FAILED at 1112.
Hunk #13 succeeded at 1586 (offset 234 lines).
Hunk #14 succeeded at 1620 (offset 234 lines).
Hunk #15 succeeded at 1674 (offset 234 lines).
Hunk #16 succeeded at 1843 (offset 234 lines).
2 out of 16 hunks FAILED -- saving rejects to file dvbdevice.c.rej
patching file dvbdevice.h
Hunk #2 succeeded at 193 (offset 1 line).
Alles anzeigen
root@vdr:/usr/local/src/VDR# cat dvbdevice.c.rej
--- dvbdevice.c
+++ dvbdevice.c
@@ -777,8 +766,6 @@ static int GetRequiredDeliverySystem(const cChannel *Channel, const cDvbTranspon
bool cDvbTuner::SetFrontend(void)
{
- if (!OpenFrontend())
- return false;
#define MAXFRONTENDCMDS 16
#define SETCMD(c, d) { Frontend[CmdSeq.num].cmd = (c);\
Frontend[CmdSeq.num].u.data = (d);\
@@ -1112,7 +1062,7 @@ cDvbDevice::cDvbDevice(int Adapter, int Frontend)
fd_ca = DvbOpen(DEV_DVB_CA, adapter, frontend, O_RDWR);
if (fd_ca >= 0)
- ciAdapter = cDvbCiAdapter::CreateCiAdapter(parentDevice ? parentDevice : this, fd_ca, adapter, frontend);
+ ciAdapter = cDvbCiAdapter::CreateCiAdapter(this, fd_ca);
// The DVR device (will be opened and closed as needed):
Alles anzeigen
Ein Kompilieren des VDRs war dennoch möglich.
Beim Starten des VDR mit dummydevice, suspendoutput und dynamite, bekomme ich jetzt jedoch folgende Fehlermeldung:
Oct 28 22:43:08 vdr vdr: [15552] loading plugin: /usr/local/lib/vdr/libvdr-dummydevice.so.2.3.8
Oct 28 22:43:08 vdr vdr: [15552] ERROR: /usr/local/lib/vdr/libvdr-dummydevice.so.2.3.8: undefined symbol: _ZN7cDeviceC2Ev
Oct 28 22:43:08 vdr vdr: [15552] saving (null)
Oct 28 22:43:08 vdr vdr: [15552] ERROR (ci.c,2990): (null): Ungültige Adresse
Oct 28 22:43:08 vdr vdr: [15552] exiting, exit code 2
Scheint als hätte der dynamite Patch irgendwas mit dem dummydevice Plugin angestellt.
Starte ich den VDR ohne dummydevice Plugin, und habe im suspendoutput Plugin den Timer auf 5 Minuten gestellt, im dynamite Plugin den Idle Timer jedoch auf 1 Minute, so setzt das Dynamite Plugin die Karten gnadenlos in den Idle Status, auch wenn der VDR auf einen Kanal getuned hat und eigentlich die Karte busy ist:
Oct 28 22:06:39 vdr vdr: [15295] switching to channel 1 S19.2E-1-1019-10301 (Das Erste HD)
Oct 28 22:06:39 vdr systemd[1]: Started Video Disk Recorder.
Oct 28 22:06:39 vdr vdr: [15324] SVDRP server handler thread started (pid=15295, tid=15324, prio=low)
Oct 28 22:06:39 vdr vdr: [15324] SVDRP listening on port 6419/tcp
Oct 28 22:06:39 vdr vdr: [15295] OSD size changed to 720x480 @ 1
Oct 28 22:06:39 vdr vdr: [15295] ERROR: no OSD provider available - using dummy OSD!
Oct 28 22:06:39 vdr vdr: [15295] ERROR: Kanal blockiert (zeichnet auf)!
Oct 28 22:06:40 vdr vdr: [15314] EPGSearch: search timer update started
Oct 28 22:06:40 vdr vdr: [15314] EPGSearch: search timer update finished
Oct 28 22:06:40 vdr vdr: [15314] EPGSearch: check for timer conflicts
Oct 28 22:06:40 vdr vdr: [15314] EPGSearch: check for timer conflicts - done
Oct 28 22:07:47 vdr vdr: [15303] frontend 0/0 timed out while tuning to channel 188 (SRF info HD), tp 112399
Oct 28 22:08:53 vdr vdr: [15306] frontend 1/0 lost lock on channel 191 (ServusTV HD Deutschland), tp 111303
Oct 28 22:08:54 vdr vdr: [15306] frontend 1/0 regained lock on channel 191 (ServusTV HD Deutschland), tp 111303
Oct 28 22:09:06 vdr vdr: [15306] frontend 1/0 lost lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:06 vdr vdr: [15306] frontend 1/0 regained lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:06 vdr vdr: [15306] frontend 1/0 lost lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:07 vdr vdr: [15306] frontend 1/0 regained lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:13 vdr vdr: [15306] frontend 1/0 lost lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:13 vdr vdr: [15306] frontend 1/0 regained lock on channel 11 (SAT.1 HD), tp 111464
Oct 28 22:09:24 vdr vdr: [15307] changing pids of channel 203 (Disney XD) from 1279+1279=27:1280=deu@3,1281=eng@3:0:0 to 1279+1279=27:1280=deu@3:0:0
Oct 28 22:09:47 vdr vdr: [15295] dynamite: device /dev/dvb/adapter0/frontend0 unused for 3 minutes, set to idle
Oct 28 22:09:47 vdr vdr: [15295] dynamite: device /dev/dvb/adapter1/frontend0 unused for 3 minutes, set to idle
Oct 28 22:09:47 vdr vdr: [15295] dynamite: device /dev/dvb/adapter2/frontend0 unused for 3 minutes, set to idle
Oct 28 22:09:47 vdr vdr: [15295] dynamite: device /dev/dvb/adapter3/frontend0 unused for 3 minutes, set to idle
Alles anzeigen
Auch scheint das dynamite Plugin nicht zu berücksichtigen, dass ich den VDR eigentlich nur mit 3 von 4 Karten starte
[vdr]
--device=0
#--device=1
--device=2
--device=3
--config=/etc/vdr
--log=3
--lib=/usr/local/lib/vdr
--user=vdr
--video=/mnt/video
Es wäre super, wenn mir jemand kurz erklären könnte welche der drei Plugins ich wirklich brauche und wie die idealen Settings aussehen.
[Edit:] Das Dynamite Plugin, lasse ich durch die 99-dynamite.conf Datei als letztes Plugin laden.
Vielen Dank schon mal,
Alex