On Mon, Jan 07, 2008 at 05:19:17PM +0100, Gregoire Favre wrote: > On Sun, Jan 06, 2008 at 09:34:32PM +0100, Reinhard Nissl wrote: > > Hi, > > > > Please add some debug code to cDvbDevice::ProvidesTransponder() > > to find out what's going wrong in your case, i. e. compare the > > provided and requested modulation systems. > > My cards : > > 0: 101469280 > 1: 101469280 > 2: 101469280 > > But the card 1 : Hauppauge HVR-4000 is the dvb-s2 one ??? > > DVB: registering frontend 0 (ST STV0299 DVB-S)... > DVB: registering frontend 1 (Conexant CX24116/CX24118)... > DVB: registering frontend 2 (Conexant CX24123/CX24109)... > Without the patch and with -D1 DVB-S2 works perfectly. In case someone want to try to log here a small diff for it : --- device.c.orig 2008-01-07 17:17:05.000000000 +0100 +++ device.c 2008-01-07 16:59:22.000000000 +0100 @@ -18,6 +18,7 @@ #include "receiver.h" #include "status.h" #include "transfer.h" +#include <iostream> // --- cLiveSubtitle --------------------------------------------------------- @@ -433,6 +434,7 @@ imp <<= 1; imp |= NumUsableSlots ? 0 : device[i]->HasCi(); // avoid cards with Common Interface for FTA channels imp <<= 1; imp |= device[i]->HasDecoder(); // avoid full featured cards imp <<= 1; imp |= NumUsableSlots ? !ChannelCamRelations.CamDecrypt(Channel->GetChannelID(), j + 1) : 0; // prefer CAMs that are known to decrypt this channel + std::cerr << "DVBS2-log: " << i << ": " << imp << std::endl; if (imp < Impact) { // This device has less impact than any previous one, so we take it. Impact = imp; --- dvbdevice.c.orig 2008-01-07 17:17:58.000000000 +0100 +++ dvbdevice.c 2008-01-07 17:01:46.000000000 +0100 @@ -26,6 +26,7 @@ #include "receiver.h" #include "status.h" #include "transfer.h" +#include <iostream> #define DO_REC_AND_PLAY_ON_PRIMARY_DEVICE 1 #define DO_MULTIPLE_RECORDINGS 1 @@ -805,12 +806,18 @@ bool cDvbDevice::ProvidesTransponder(const cChannel *Channel) const { - if (!ProvidesSource(Channel->Source())) + if (!ProvidesSource(Channel->Source())) { + std::cerr << "DVBS2-log: - Doesn't provide source" << std::endl; return false; // doesn't provide source - if (!cSource::IsSat(Channel->Source())) + } + if (!cSource::IsSat(Channel->Source())) { + std::cerr << "DVBS2-log: + source is sufficient for non sat" << std::endl; return true; // source is sufficient for non sat - if (!(frontendType & Channel->ModulationSystem())) + } + if (!(frontendType & Channel->ModulationSystem())) { + std::cerr << "DVBS2-log: - requires modulation system which frontend doesn't provide" << std::endl; return false; // requires modulation system which frontend doesn't provide + } return !Setup.DiSEqC || Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization()); } -- Grégoire FAVRE http://gregoire.favre.googlepages.com http://www.gnupg.org http://picasaweb.google.com/Gregoire.Favre _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr