Reply to thread

Hi again Spooky



Those are some of the worst kinds of problems!


I have looked into our code and the latest Technotrend SDK in as much detail as I can. There does not appear to be any detailed documentation about that specific error message ("ERR_NO_CA_RESOURCE"). :(


If you look at your logs again more closely:


[CODE]2011-05-08 19:41:18.921875 [(17)]: TechnoTrend: [B]slot 0[/B] changed

2011-05-08 19:41:18.921875 [(17)]: TechnoTrend:    CI status:SlotModuleOk

2011-05-08 19:41:18.921875 [(17)]: TechnoTrend:    CI text  :CryptoWorks

2011-05-08 19:41:18.921875 [(17)]: TechnoTrend:      ca system id  :D05[/CODE]


Whenever the CAM is detected, it is always in slot 0...


[CODE]2011-05-08 19:41:19.359375 [(17)]: $ OnCaChange [B]slot:255[/B] reply:E status:5

2011-05-08 19:41:19.359375 [(17)]: $ CI: ERROR::SetProgram failed !!! (no CA resource available)[/CODE]


...but the error is for slot 255, not for slot 0. For a while that had me thinking that the error message could be ignored. Especially since the driver actually says that our instruction to decode the channel *succeeded*:


[CODE]2011-05-08 19:41:19.359375 [(17)]: TechnoTrend: services not decoded:[B]Success[/B] ciStatus: -1[/CODE]


Our code ignores that success result and gives up on tuning because of a flag that gets set when the "no resource..." error first occurred...


At first I was pretty happy with myself, but eventually I also noticed that successful decode messages also reference slot 255:


[CODE]2011-04-16 12:22:35.187500 [(6)]: TechnoTrend: slot 0 changed

2011-04-16 12:22:35.187500 [(6)]: TechnoTrend:    CI status:SlotModuleOk

2011-04-16 12:22:35.187500 [(6)]: TechnoTrend:    CI text  :CryptoWorks

2011-04-16 12:22:35.187500 [(6)]: TechnoTrend:      ca system id  :D05

2011-04-16 12:22:35.187500 [(6)]: TechnoTrend: DescrambleMultiple:(1)

2011-04-16 12:22:35.203125 [(6)]: TechnoTrend: DescrambleMultiple: serviceId:28673

2011-04-16 12:22:35.328125 [(6)]: $ OnCaChange [B]slot:255[/B] reply:E status:0

2011-04-16 12:22:35.343750 [(6)]: $ CI:    SetProgram OK

2011-04-16 12:22:35.343750 [(6)]: TechnoTrend: services decoded:Success 1

2011-04-16 12:22:35.343750 [(6)]: TechnoTrend IsCamReady(): IsCamPresent:True, IsCamReady:True

2011-04-16 12:22:35.343750 [(6)]: subch:0 cam flags:True[/CODE]


I think that invalidates my theory... :oops::(


One thing could still be considered: remember that the tuner driver returns a success code response to our descramble instruction. I can't really be sure what that success code means. Does it mean:


- that the command was received successfully by the driver?

- that the driver thinks the command is "syntactically" correct?

- that the command was decoded and applied correctly by the CI slot?

- that the CAM received the command from the driver controlling the CI and applied it successfully?


All questions with no answers. The important thing is that *TV Server ignores that code* and assumes that the descrambling failed because of the earlier error. TV Server doesn't verify that the stream being received from the tuner is *actually* scrambled. I'd be happy to provide you with a debug DLL that ignores the error and forces TV Server to actually check whether the stream is scrambled. Would you be interested in trying that?


mm


PS: There is one other message that I noticed in your first set of logs:


[CODE]2011-04-16 12:22:37.156250 [(15)]: TechnoTrend: OnDisplayMenu/List; 4 items; wLength: 54; pStringArray: 104962683

2011-04-16 12:22:37.156250 [(15)]: TechnoTrend: 0: 

2011-04-16 12:22:37.156250 [(15)]: TechnoTrend: 1: 

2011-04-16 12:22:37.156250 [(15)]: TechnoTrend: 2: CryptoWorks V4.00.008

2011-04-16 12:22:37.156250 [(15)]: TechnoTrend: 3: Please check your smart card [/CODE]


Perhaps your provider has updated their encryption system and you need to upgrade the CAM firmware?


Top Bottom