Opened 12 years ago

Closed 12 years ago

#2359 closed defect (fixed)

"feature" in dvbapi prevents Ned 1 HD from being descrambled properly

Reported by: Erik Slagter Owned by:
Priority: critical Component: DVBApi
Severity: high Keywords: Descrambling ecm pid
Cc: erik@… Sensitive: no

Description

Revision

6306

Issue Description

Oscam will not descramble Ned 1 HD properly because it uses the wrong ecm pid in the end.

When the issue occurs

Always, Ned 1 HD.

How the issue is reproducable

Tune to Ned 1 HD and make oscam descramble it using a CDS (100:6a) card. It does not matter whether the card is local or remote. It also does not matter whether dvbapi configuration is used to select the proper (tunneled nagra) ecm pid.

Attachments (6)

log (6.4 KB ) - added by Erik Slagter 12 years ago.
Log file using -d128
log2 (12.3 KB ) - added by Erik Slagter 12 years ago.
complete log from startup
oscam.conf (1.2 KB ) - added by Erik Slagter 12 years ago.
oscam.conf
oscam.dvbapi (335 bytes ) - added by Erik Slagter 12 years ago.
oscam.dvbapi
oscam.server (1.4 KB ) - added by Erik Slagter 12 years ago.
oscam.server
oscam.user (406 bytes ) - added by Erik Slagter 12 years ago.
oscam.user

Download all attachments as: .zip

Change History (15)

by Erik Slagter, 12 years ago

Attachment: log added

Log file using -d128

comment:1 by Erik Slagter, 12 years ago

Long description:

Several CDS channels carry both mediaguard2 ("seca 2") and tunneled nagra ("seca 3") ecm pids. Both have caid 100 and provid 6a. The mediaguard2 ecm's are to be used with a seca card (rather rare these days), the tunneled nagra ecm's are to be used with a nagra card. They cannot be exchanged.

OSCam does not have logic, like CCcam, to distinguish between "seca 2" and "seca 3" ecm pids. So one has to craft specific dvbapi commands to make OSCam choose the correct "100:6a" ecm pid for one's card.

If that has been accomplished, at least Ned 1 HD (maybe other channels too) will not descramble. OSCam says it is starting to descramble using pid #2, which is correct (see log) but no picture appears.

If you look at the logfile, you'll see a mentioning of "dvbapi: set filter pid: 0646". This is the WRONG ecm pid, although OSCam says it's going to use 70E earlier on.

The cause for this can be found in module-dvbapi.c, at line 606, this piece of code:

if (demux[demux_id].curindex == j || (demux[demux_id].ECMpids[demux[demux_id].curindex].CAID == demux[demux_id].ECMpids[j].CAID
	&& demux[demux_id].ECMpids[demux[demux_id].curindex].PROVID == demux[demux_id].ECMpids[j].PROVID
	&& demux[demux_id].ECMpids[j].PROVID > 0))

This will take ANY ecmpid that has features (caid/provid) equal to the requested caid/provid, even though it's another pid. In case of Ned 1 HD, this will select the wrong ecm pid, even though it has been correctly selected earlier on.

When the second condition is removed, Ned 1 HD does descramble correctly, so this is the cause of the problem.

Apparently some provider needs this workaround, but for CDS it's desastrous. I request to at least have an option to disable this workaround.

Thanks.

comment:2 by Erik Slagter, 12 years ago

Additional info: box type is VU+Ultimo.
I did not add config files because the problem is independent of config files.
Similar for compile option, the code is not dependent on compile options.

by Erik Slagter, 12 years ago

Attachment: log2 added

complete log from startup

by Erik Slagter, 12 years ago

Attachment: oscam.conf added

oscam.conf

by Erik Slagter, 12 years ago

Attachment: oscam.dvbapi added

oscam.dvbapi

by Erik Slagter, 12 years ago

Attachment: oscam.server added

oscam.server

by Erik Slagter, 12 years ago

Attachment: oscam.user added

oscam.user

comment:3 by lightman33, 12 years ago

you should take a look here : http://www.streamboard.tv:8001/ticket/1914

comment:4 by lightman33, 12 years ago

is this working ?

P: 0100::1B7B:070e
I: 0100::1B7B

comment:5 by theparasol, 12 years ago

For the dutch and Belgium users it would be nice as the dvbapi code gets a overhaul so we don't need complex oscam.dvbapi "solutions" anymore.

This config is working on DM800HD PVR and CDS NL (0100:00006a)
NED 1 HD is decoding ok on this box. I know Erik is using a VU+ Ultimo.

I: 1817 #NL Nagra
I: 1818 #BE Nagra
I:0100::1B7B:0646 # IGNORE SECA2 PID NED1 HD
I:0100::0FAB:0643 # IGNORE SECA2 PID NED1 SD
I:0100::0FAC:0644 # IGNORE SECA2 PID NED2 SD
I:0100::0FAD:0645 # IGNORE SECA2 PID NED3 SD
I:0100::07D4:0643 # IGNORE SECA2 PID RTL4 SD
I:0100::07D5:0644 # IGNORE SECA2 PID RTL5 SD
I:0100::0FA2:0641 # IGNORE SECA2 PID SBS6 SD
I:0100::07D6:0649 # IGNORE SECA2 PID RTL7 SD
I:0100::07EF:0647 # IGNORE SECA2 PID Veronica SD CDS
I:0100::0FA3:0642 # IGNORE SECA2 PID NET5 SD
I:0100::07F4:064D # IGNORE SECA2 PID Comedy Central / Kindernet
I:0100::31E7:03E3 # IGNORE SECA2 PID Een SD
I:0100::31E8:03E4 # IGNORE SECA2 PID Ketnet/Canvas SD
P: 0100:00006A 1

comment:6 by Erik Slagter, 12 years ago

Please don't mix the "seca2/seca3" issue with this issue. This issue is completely independent.

Oscam selects the correct ecm pid (according to dvbapi statement or internal logic) and AFTER THAT, it does another selection round and then still picks the wrong ecm pid after all.

Can please have a developer have a look at this piece of code and at least tell me what it's supposed to do?

comment:7 by Deas, 12 years ago

is this fixed now with the latest changes from theparasol and depp0n?

comment:8 by Erik Slagter, 12 years ago

Yes it is.

Although I still think the code is wrong.

comment:9 by Deas, 12 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.