31.10.2017, 17:44
Hallo,
würde gerne folgendes Problem lösen : Mein VDR findet 5 devices und benutzt aber nur 3 davon.
Es sind 1 FF und 2 Dualtuner DVBSKY S952 verbaut. davon werden beide Frontends gefunden und registered, aber nur eines geprobed und benutzt. Kennt jemand zufällig eine Einstellung die das bewirkt ?
Habe mir die letzten sourcen zu trusty und trusty-ng geholt und kompiliert. Wenn ich den Compile direkt aus dem Compile-Verzeichnis starte findet und benutzt er alle devices.
Folgende Stelle in dvbdevice.c müsste in beteiligt sein - entweder useDvbDevices oder UseDevice(NextCardIndex()), weiter bin ich noch nicht gekommen. Zuerst dachte ich an MAXDEVICES, aber das ist es wohl nicht - werden ja alle 5 gefunden.
SystemInfo's :
würde gerne folgendes Problem lösen : Mein VDR findet 5 devices und benutzt aber nur 3 davon.
Es sind 1 FF und 2 Dualtuner DVBSKY S952 verbaut. davon werden beide Frontends gefunden und registered, aber nur eines geprobed und benutzt. Kennt jemand zufällig eine Einstellung die das bewirkt ?
Zitat:Oct 31 15:02:36 VDR vdr: [2729] probing /dev/dvb/adapter0/frontend0
Oct 31 15:02:36 VDR vdr: [2732] video directory scanner thread started (pid=2729, tid=2732, prio=high)
Oct 31 15:02:36 VDR vdr: [2731] video directory scanner thread started (pid=2729, tid=2731, prio=high)
Oct 31 15:02:36 VDR vdr: [2729] creating cDvbSdFfDevice
Oct 31 15:02:36 VDR vdr: [2729] new device number 1
Oct 31 15:02:36 VDR vdr: [2729] cTimeMs: using monotonic clock (resolution is 1 ns)
Oct 31 15:02:36 VDR vdr: [2735] device 0 CI adapter thread started (pid=2729, tid=2735, prio=high)
Oct 31 15:02:36 VDR vdr: [2732] video directory scanner thread ended (pid=2729, tid=2732)
Oct 31 15:02:36 VDR vdr: [2731] video directory scanner thread ended (pid=2729, tid=2731)
Oct 31 15:02:36 VDR vdr: [2729] DVB API version is 0x050A (VDR was built with 0x050A)
Oct 31 15:02:36 VDR vdr: [2729] frontend 0/0 provides DVB-S with QPSK ("ST STV0299 DVB-S")
Oct 31 15:02:36 VDR vdr: [2729] probing /dev/dvb/adapter2/frontend0
Oct 31 15:02:36 VDR vdr: [2729] creating cDvbDevice
Oct 31 15:02:36 VDR vdr: [2729] new device number 3
Habe mir die letzten sourcen zu trusty und trusty-ng geholt und kompiliert. Wenn ich den Compile direkt aus dem Compile-Verzeichnis starte findet und benutzt er alle devices.
Zitat:Oct 31 12:36:16 VDR vdr: [11109] probing /dev/dvb/adapter0/frontend0
Oct 31 12:36:16 VDR vdr: [11109] creating cDvbDevice
Oct 31 12:36:16 VDR vdr: [11109] new device number 1
Oct 31 12:36:16 VDR vdr: [11109] cTimeMs: using monotonic clock (resolution is 1 ns)
Oct 31 12:36:16 VDR vdr: [11111] video directory scanner thread ended (pid=11109, tid=11111)
Oct 31 12:36:16 VDR vdr: [11114] device 0 CI adapter thread started (pid=11109, tid=11114, prio=high)
Oct 31 12:36:16 VDR vdr: [11110] video directory scanner thread ended (pid=11109, tid=11110)
Oct 31 12:36:16 VDR vdr: [11109] DVB API version is 0x050A (VDR was built with 0x050A)
Oct 31 12:36:16 VDR vdr: [11109] frontend 0/0 provides DVB-S with QPSK ("ST STV0299 DVB-S")
Oct 31 12:36:16 VDR vdr: [11109] probing /dev/dvb/adapter1/frontend0
Oct 31 12:36:16 VDR vdr: [11109] creating cDvbDevice
Oct 31 12:36:16 VDR vdr: [11109] new device number 2
Oct 31 12:36:16 VDR vdr: [11116] device 1 section handler thread started (pid=11109, tid=11116, prio=low)
Oct 31 12:36:16 VDR vdr: [11115] frontend 0/0 tuner thread started (pid=11109, tid=11115, prio=high)
Oct 31 12:36:16 VDR vdr: [11109] frontend 1/0 provides DVB-S,DVB-S2 with QPSK ("Montage RS6000(DVBSky)")
Oct 31 12:36:16 VDR vdr: [11109] probing /dev/dvb/adapter2/frontend0
Oct 31 12:36:16 VDR vdr: [11109] creating cDvbDevice
Oct 31 12:36:16 VDR vdr: [11109] new device number 3
Oct 31 12:36:16 VDR vdr: [11119] device 2 section handler thread started (pid=11109, tid=11119, prio=low)
Oct 31 12:36:16 VDR vdr: [11118] frontend 1/0 tuner thread started (pid=11109, tid=11118, prio=high)
Oct 31 12:36:16 VDR vdr: [11109] frontend 2/0 provides DVB-S,DVB-S2 with QPSK ("Montage RS6000(DVBSky)")
Oct 31 12:36:16 VDR vdr: [11118] frontend 1/0 tuner thread started (pid=11109, tid=11118, prio=high)
Oct 31 12:36:16 VDR vdr: [11109] frontend 2/0 provides DVB-S,DVB-S2 with QPSK ("Montage RS6000(DVBSky)")
Oct 31 12:36:16 VDR vdr: [11109] probing /dev/dvb/adapter3/frontend0
Oct 31 12:36:16 VDR vdr: [11109] creating cDvbDevice
Oct 31 12:36:16 VDR vdr: [11109] new device number 4
Oct 31 12:36:16 VDR vdr: [11121] frontend 2/0 tuner thread started (pid=11109, tid=11121, prio=high)
Oct 31 12:36:16 VDR vdr: [11122] device 3 section handler thread started (pid=11109, tid=11122, prio=low)
Oct 31 12:36:16 VDR vdr: [11112] epg data reader thread ended (pid=11109, tid=11112)
Oct 31 12:36:16 VDR vdr: [11109] frontend 3/0 provides DVB-S,DVB-S2 with QPSK ("Montage RS6000(DVBSky)")
Oct 31 12:36:16 VDR vdr: [11124] frontend 3/0 tuner thread started (pid=11109, tid=11124, prio=high)
Oct 31 12:36:16 VDR vdr: [11109] probing /dev/dvb/adapter4/frontend0
Oct 31 12:36:16 VDR vdr: [11109] creating cDvbDevice
Oct 31 12:36:16 VDR vdr: [11109] new device number 5
Oct 31 12:36:16 VDR vdr: [11125] device 4 section handler thread started (pid=11109, tid=11125, prio=low)
Oct 31 12:36:16 VDR vdr: [11109] frontend 4/0 provides DVB-S,DVB-S2 with QPSK ("Montage RS6000(DVBSky)")
Oct 31 12:36:16 VDR vdr: [11109] found 5 DVB devices
Folgende Stelle in dvbdevice.c müsste in beteiligt sein - entweder useDvbDevices oder UseDevice(NextCardIndex()), weiter bin ich noch nicht gekommen. Zuerst dachte ich an MAXDEVICES, aber das ist es wohl nicht - werden ja alle 5 gefunden.
Zitat:Code:bool cDvbDevice::Initialize(void)
{
new cDvbSourceParam('A', "ATSC");
new cDvbSourceParam('C', "DVB-C");
new cDvbSourceParam('S', "DVB-S");
new cDvbSourceParam('T', "DVB-T");
cStringList Nodes;
cReadDir DvbDir(DEV_DVB_BASE);
if (DvbDir.Ok()) {
struct dirent *a;
while ((a = DvbDir.Next()) != NULL) {
if (strstr(a->d_name, DEV_DVB_ADAPTER) == a->d_name) {
int Adapter = strtol(a->d_name + strlen(DEV_DVB_ADAPTER), NULL, 10);
cReadDir AdapterDir(AddDirectory(DEV_DVB_BASE, a->d_name));
if (AdapterDir.Ok()) {
struct dirent *f;
while ((f = AdapterDir.Next()) != NULL) {
if (strstr(f->d_name, DEV_DVB_FRONTEND) == f->d_name) {
int Frontend = strtol(f->d_name + strlen(DEV_DVB_FRONTEND), NULL, 10);
Nodes.Append(strdup(cString::sprintf("%2d %2d", Adapter, Frontend)));
}
}
}
}
}
}
int Found = 0;
int Used = 0;
if (Nodes.Size() > 0) {
Nodes.Sort();
for (int i = 0; i < Nodes.Size(); i++) {
int Adapter;
int Frontend;
if (2 == sscanf(Nodes[i], "%d %d", &Adapter, &Frontend)) {
if (Exists(Adapter, Frontend)) {
if (Found < MAXDEVICES) {
Found++;
if (useDvbDevices && UseDevice(NextCardIndex())) {
if (Probe(Adapter, Frontend))
Used++;
}
else
NextCardIndex(1); // skips this one
}
}
}
}
}
if (Found > 0) {
isyslog("found %d DVB device%s", Found, Found > 1 ? "s" : "");
if (Used != Found)
isyslog("using only %d DVB device%s", Used, Used != 1 ? "s" : "");
}
else
isyslog("no DVB device found");
return Found > 0;
}
SystemInfo's :
Zitat:easyVDR-Version:3.0.0-stable
VDR-Version:2.2.0
Kernel-Version:4.4.0-45-generic