[vdr] Multiple decryption with TechniCrypt CW CAM
Arthur Konovalov
artlov at gmail.com
Wed Apr 16 10:52:41 CEST 2008
Arthur Konovalov wrote:
> Klaus Schmidinger wrote:
>
>> Can you narrow down which of these three changes is actually necessary
>> to make it work?
> I can repeat tests tomorrow, but I recall that this (it was first change):
>
>> state = 4; // normal operation
>> + repliesToQuery = true; //AK
>> }
> and this (next change, because first doesn't help and I saw replays to
> query: Slot 1: <== Ca Pmt Reply (3) 1144 01 82 2210=82 2211=82):
> dbgprotocol("\n");
> }
> + state = 6; //AK
> break;
>
> was necessary in this case.
Confirmed, only with those 2 changes multiple decryption works.
>> #define QUERY_WAIT_TIME 3000 // ms to wait before sending a query
> Will try tomorrow.
Doesn't help.
Added syslog debug entries like this:
if (l <= 2){
ok = CA_ENABLE(caepl) == CAEI_POSSIBLE;
dsyslog("AK: CA_ENABLE(caepl): %d, ok: %d", CA_ENABLE(caepl),ok);
}
while (l > 2) {
uint16_t pid = ((uint16_t)(*d) << 8) | *(d + 1);
unsigned char caees = *(d + 2);
dbgprotocol(" %d=%02X", pid, caees);
d += 3;
l -= 3;
dsyslog("AK: CA_ENABLE(caees): %d, ok: %d", CA_ENABLE(caees),ok);
if (CA_ENABLE(caees) != CAEI_POSSIBLE){
ok = false;
dsyslog("AK: ok set to false. state: %d", state);
}
}
if (ok){
dsyslog("AK: ok true!");
state = 6; // descrambling possible
}
}
}
}
dbgprotocol("\n");
}
dsyslog("AK: state: %d", state);
break;
And syslog (with 'repliesToQuery = true;' only):
Apr 16 11:00:35 vdr vdr: [17443] switching to channel 136
Apr 16 11:00:36 vdr vdr: [17447] AK: CA_ENABLE(caees): 2, ok: 1
Apr 16 11:00:36 vdr vdr: [17447] AK: ok set to false. state: 5
Apr 16 11:00:36 vdr vdr: [17447] AK: CA_ENABLE(caees): 2, ok: 0
Apr 16 11:00:36 vdr vdr: [17447] AK: ok set to false. state: 5
Apr 16 11:00:36 vdr vdr: [17447] AK: state: 5
Apr 16 11:00:36 vdr vdr: [17443] info: Channel not available!
It seems that 'if (CA_ENABLE(caees) != CAEI_POSSIBLE)' is reason of fault and
'state' always stay false.
Unfortunately I don't understand this logic here :/
Arthur
More information about the vdr
mailing list