Project

General

Profile

Bug #3458

tvheadend requesting multiple tiers

Added by Ferni . almost 9 years ago. Updated over 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
Descrambling
Target version:
-
Start date:
2016-03-15
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Found in version:
4.0.8
Affected Versions:

Description

I normally use cccam on dreambox or acamd.dll on windows to request cw from my own local oscam server and the clients always seem to figure out which tiers are the correct ones and then know to request only those in future... but tvheadend doesn't seem to learn/recognise which are correct ones... every ECM request comes with 4 tier ID's, 3 of which are not valid for my card, one is...

2015/12/28 10:38:21 010B137B c (ecm) ferni (xxxx@000000/025A/55F7/3C:61C0FA46AA631FCF249FE490E96EEF6F): not found (21 ms)
2015/12/28 10:38:21 010B137B c (ecm) ferni (xxxx@000000/035D/55F7/3C:4F9BB1195F491542388AF05816C7BBF4): not found (20 ms)
2015/12/28 10:38:21 010B137B c (ecm) ferni (xxxx@000000/0000/55F7/52:A82581BD98AC88D28C839FE5E2C5136D): not found (20 ms)
2015/12/28 10:38:21 010B137B c (ecm) ferni (xxxx@000000/023D/55F7/3C:95C5FF4D3145110016598ADE1ABAA7E2): found (170 ms) by local1
2015/12/28 10:38:28 010B137B c (ecm) ferni (xxxx@000000/025A/55F7/3C:702060B23C8BC6A049BD0221FC1D8B36): not found (20 ms)
2015/12/28 10:38:28 010B137B c (ecm) ferni (xxxx@000000/035D/55F7/3C:86CF78C8410505F49437CD6015B1BAEF): not found (20 ms)
2015/12/28 10:38:28 010B137B c (ecm) ferni (xxxx@000000/0000/55F7/52:585FCD2013CC04843A5BDD86FEA4779F): not found (20 ms)
2015/12/28 10:38:28 010B137B c (ecm) ferni (xxxx@000000/023D/55F7/3C:F1B298EB4E68B1E7DBCA324F3AA4B342): found (171 ms) by local1


Subtasks

Bug #3633: CWC sends requests twiceRejected

Actions

History

#1

Updated by Jaroslav Kysela almost 9 years ago

Could you show also tvh log ? It's unclear if you use cwc (newcamd) or capmt (dvbapi).. Also, it seems specific to CA you're using (nagra?).

#2

Updated by Ferni . almost 9 years ago

I'm using cwc (newcamd). Here is some more logs, matching between oscam and tvh cwc... the CA is Irdeto ... thanks for looking at it..

2016/01/01 13:05:13 4D14CE0C c (ecm) ferni (xxxx@000000/02B4/03E9/3C:2752746B903F7D65E7A04CB77EE23180): not found (20 ms)
2016/01/01 13:05:13 4D14CE0C c (ecm) ferni (xxxx@000000/035D/03E9/3C:472FF526932DB5508618C23F6CB68821): not found (21 ms)
2016/01/01 13:05:13 4D14CE0C c (ecm) ferni (xxxx@000000/0000/03E9/56:405CCBBF192F185B0FC88463197EB17E): not found (20 ms)
2016/01/01 13:05:13 4D14CE0C c (ecm) ferni (xxxx@000000/001B/03E9/3C:E5C148D8D6F83ADA45C720535DEF20BE): not found (20 ms)
2016/01/01 13:05:13 4D14CE0C c (ecm) ferni (xxxx@000000/023D/03E9/3C:F6E9BA91444D0F30F5B636667FC4CB30): found (170 ms) by local1
2016/01/01 13:05:23 4D14CE0C c (ecm) ferni (xxxx@000000/02B4/03E9/3C:B668D7A4F6D3EFAF962D62E95A6B58A9): not found (20 ms)
2016/01/01 13:05:23 4D14CE0C c (ecm) ferni (xxxx@000000/035D/03E9/3C:E4DEFE195E00FFDA88AD050F84F02D36): not found (20 ms)
2016/01/01 13:05:23 4D14CE0C c (ecm) ferni (xxxx@000000/0000/03E9/56:E42205CDA3675D7002AF9E08A0291158): not found (21 ms)
2016/01/01 13:05:23 4D14CE0C c (ecm) ferni (xxxx@000000/001B/03E9/3C:5F96E34409914D6D4A37D14BAD954A5C): not found (20 ms)
2016/01/01 13:05:23 4D14CE0C c (ecm) ferni (xxxx@000000/023D/03E9/3C:F14D411855B7277AFB0D1E03B87D516C): found (170 ms) by local1
2016/01/01 13:05:33 4D14CE0C c (ecm) ferni (xxxx@000000/02B4/03E9/3C:F682F9A7543CBF14E868691D95373809): not found (20 ms)
2016/01/01 13:05:33 4D14CE0C c (ecm) ferni (xxxx@000000/035D/03E9/3C:A7BE7F4FD6C4E03AF35646AD5A0424FC): not found (21 ms)
2016/01/01 13:05:33 4D14CE0C c (ecm) ferni (xxxx@000000/0000/03E9/56:7EA640B5BF0814D77C50733D47D45CA1): not found (21 ms)
2016/01/01 13:05:33 4D14CE0C c (ecm) ferni (xxxx@000000/001B/03E9/3C:AFADE9B741FAA3DB00DE2D93C1C04910): not found (20 ms)
2016/01/01 13:05:33 4D14CE0C c (ecm) ferni (xxxx@000000/023D/03E9/3C:240DCA7EF8B4161886CFA0C7209118E3): found (170 ms) by local1

2016-01-01 02:05:13.427 [ DEBUG]:cwc: Sending ECM (PID 6001) section=2/4, for service "TVH!TS" (seqno: 11997)
2016-01-01 02:05:13.427 [ DEBUG]:cwc: Sending ECM (PID 6001) section=3/4, for service "TVH!TS" (seqno: 11998)
2016-01-01 02:05:13.427 [ DEBUG]:cwc: Sending ECM (PID 6001) section=4/4, for service "TVH!TS" (seqno: 11999)
2016-01-01 02:05:13.481 [ DEBUG]:cwc: Sending ECM (PID 6001) section=0/4, for service "TVH!TS" (seqno: 12000)
2016-01-01 02:05:13.481 [ DEBUG]:cwc: Sending ECM (PID 6001) section=1/4, for service "TVH!TS" (seqno: 12001)
2016-01-01 02:05:13.488 [ DEBUG]:cwc: Received NOK[3] for service "TVH!TS" (PID 6001) (seqno: 11998 Req delay: 60 ms)
2016-01-01 02:05:13.491 [ DEBUG]:cwc: Received NOK[4] for service "TVH!TS" (PID 6001) (seqno: 11999 Req delay: 60 ms)
2016-01-01 02:05:13.504 [ DEBUG]:cwc: Received NOK[0] for service "TVH!TS" (PID 6001) (seqno: 12000 Req delay: 20 ms)
2016-01-01 02:05:13.506 [ DEBUG]:cwc: Received NOK[1] for service "TVH!TS" (PID 6001) (seqno: 12001 Req delay: 30 ms)
2016-01-01 02:05:13.601 [ DEBUG]:cwc: Received ECM reply (PID 6001) for service "TVH!TS" even: 93.8c.09.28.d0.15.7a.5f odd: 07.c5.be.8a.3b.90.4a.15 (seqno: 11997 Req delay: 170 ms)
2016-01-01 02:05:23.408 [ DEBUG]:cwc: Sending ECM (PID 6001) section=2/4, for service "TVH!TS" (seqno: 12044)
2016-01-01 02:05:23.409 [ DEBUG]:cwc: Sending ECM (PID 6001) section=3/4, for service "TVH!TS" (seqno: 12045)
2016-01-01 02:05:23.410 [ DEBUG]:cwc: Sending ECM (PID 6001) section=4/4, for service "TVH!TS" (seqno: 12046)
2016-01-01 02:05:23.472 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:23.474 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:23.504 [ DEBUG]:cwc: Sending ECM (PID 6001) section=0/4, for service "TVH!TS" (seqno: 12047)
2016-01-01 02:05:23.504 [ DEBUG]:cwc: Sending ECM (PID 6001) section=1/4, for service "TVH!TS" (seqno: 12048)
2016-01-01 02:05:23.534 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:23.557 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:23.583 [ DEBUG]:cwc: Received ECM reply (PID 6001) for service "TVH!TS" even: 93.8c.09.28.d0.15.7a.5f odd: d8.1d.fe.f3.b8.fa.b5.67 (seqno: 12044 Req delay: 170 ms)
2016-01-01 02:05:33.433 [ DEBUG]:cwc: Sending ECM (PID 6001) section=2/4, for service "TVH!TS" (seqno: 12056)
2016-01-01 02:05:33.433 [ DEBUG]:cwc: Sending ECM (PID 6001) section=3/4, for service "TVH!TS" (seqno: 12057)
2016-01-01 02:05:33.433 [ DEBUG]:cwc: Sending ECM (PID 6001) section=4/4, for service "TVH!TS" (seqno: 12058)
2016-01-01 02:05:33.469 [ DEBUG]:cwc: Sending ECM (PID 6001) section=0/4, for service "TVH!TS" (seqno: 12059)
2016-01-01 02:05:33.469 [ DEBUG]:cwc: Sending ECM (PID 6001) section=1/4, for service "TVH!TS" (seqno: 12060)
2016-01-01 02:05:33.496 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:33.499 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:33.505 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:33.506 [ DEBUG]:cwc: Too many NOKs for service "TVH!TS" (PID 6001) from cwc-10.10.10.2-10001-0604
2016-01-01 02:05:33.607 [ DEBUG]:cwc: Received ECM reply (PID 6001) for service "TVH!TS" even: 49.7c.4a.0f.87.e5.fc.68 odd: d8.1d.fe.f3.b8.fa.b5.67 (seqno: 12056 Req delay: 180 ms)

#3

Updated by Jaroslav Kysela almost 9 years ago

Could you try this change?

diff --git a/src/descrambler/cwc.c b/src/descrambler/cwc.c
index 9025f74..ae1089c 100644
--- a/src/descrambler/cwc.c
+++ b/src/descrambler/cwc.c
@@ -727,6 +727,7 @@ handle_ecm_reply(cwc_service_t *ct, ecm_section_t *es, uint8_t *msg,
       return; // We already know it's bad

     if (es->es_nok >= CWC_MAX_NOKS) {
+      es->es_keystate = ES_FORBIDDEN;
       tvhlog(LOG_DEBUG, "cwc",
              "Too many NOKs[%i] for service \"%s\"%s from %s",
              es->es_section, t->s_dvb_svcname, chaninfo, ct->td_nicename);
#4

Updated by Ferni . almost 9 years ago

Jaroslav Kysela wrote:

Could you try this change?

[...]

Thank you! That did the trick! It now requests 4 times on the first 2 CW request's. From then on it only requests the one good one.

Is there anyway to persist/cache this, even if only in memory and not to disk so that when I change back to a channel that it knows it doesn't have to rediscover the correct one to send?

#5

Updated by Ferni . over 8 years ago

Jaroslav Kysela wrote:

Could you try this change?

[...]

Any chance of getting this added to the master branch? or even better the 4.0 branch?

#6

Updated by Jaroslav Kysela over 8 years ago

  • Status changed from New to Fixed

Applied in changeset commit:tvheadend|c48c9c16646db2cae63da8ce60c05a98b914d579.

Also available in: Atom PDF