Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: 1.3.1 and Conax not working



Jan Ekholm wrote:
> 
> On Mon, 19 Jan 2004, Klaus Schmidinger wrote:
> 
> >Please try to find out why VDR doesn't send any CA descriptors
> >to the CAM. Check if GetCaDescriptors() is ever called, and whether
> >it returns anything useful. One strange thing with your settings is
> >that the NID is 0 - is your provider really using NID=0? Maybe this
> >causes trouble at some point...
> 
> Sorry for the long delay before I got time to do some debugging. We're
> building a house and that takes some time off the hacking. :)
> 
> Anyway, I looked at cCaDescriptors::GetCaDescriptors to see if it gets
> called and what happens. It does get called, repeatedly, about once a
> second and always with the same values:
> 
> cCaDescriptors::GetCaDescriptors: Source: 16384, Transponder: 154000, ServiceId: 49
> 
> It loops through 6 cCaDescriptors that I apparently have, and checks the
> Is() method. This is what the cCaDescriptors objects contain:
> 
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 65
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 97
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 161
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 257
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 322
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 4401
> cCaDescriptors::Is: source: 16384, transponder: 154, serviceid: 49
> 
> So apparently the "transponder" field should be multiplied by 1000, which
> is how it was in the 1.2 series, right? The last cCaDescriptors object
> would be the one to be returned. I tried to just brutally multiply the
> transponder with 1000 so that it would get matched, and that brings some
> kind of success. VDR can now tune to the encrypted channels after one
> minute of:
> 
> ERROR: CAM: Read failed: slot 0, tcid 1
> CAM: retrying to establish connection
> 
> When the channels finally tune in I assume my dirty hack causes some side
> effects, as all the encrypted channels are shown perfectly for a second or
> so, after which the screen blinks to black for less than a second, picture
> ok again, black etc. In the logs I see that a lot of GetCaDescriptors()
> calls occur, maybe due to the "hack".
> 
> Is this of any help? It would seem to me that the cCaDescriptors instances
> get created with the wrong transponder even though channels.conf has the
> correct one (ie *=1000).
> 
> Does this help in any way?

Yes, I believe it does :-)

Please revert your hack and change the line

  cCiCaPmt CaPmt(channel.Source(), channel.Frequency(), channel.Sid(), ciHandler->GetCaSystemIds(Slot));

in VDR/dvbdevice.c to

  cCiCaPmt CaPmt(channel.Source(), channel.Transponder(), channel.Sid(), ciHandler->GetCaSystemIds(Slot));

I would assume that this should do the trick.

Klaus


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index