Normal
Hi again SpookyThose 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] changed2011-05-08 19:41:18.921875 [(17)]: TechnoTrend: CI status:SlotModuleOk2011-05-08 19:41:18.921875 [(17)]: TechnoTrend: CI text :CryptoWorks2011-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:52011-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 changed2011-04-16 12:22:35.187500 [(6)]: TechnoTrend: CI status:SlotModuleOk2011-04-16 12:22:35.187500 [(6)]: TechnoTrend: CI text :CryptoWorks2011-04-16 12:22:35.187500 [(6)]: TechnoTrend: ca system id :D052011-04-16 12:22:35.187500 [(6)]: TechnoTrend: DescrambleMultiple:(1)2011-04-16 12:22:35.203125 [(6)]: TechnoTrend: DescrambleMultiple: serviceId:286732011-04-16 12:22:35.328125 [(6)]: $ OnCaChange [B]slot:255[/B] reply:E status:02011-04-16 12:22:35.343750 [(6)]: $ CI: SetProgram OK2011-04-16 12:22:35.343750 [(6)]: TechnoTrend: services decoded:Success 12011-04-16 12:22:35.343750 [(6)]: TechnoTrend IsCamReady(): IsCamPresent:True, IsCamReady:True2011-04-16 12:22:35.343750 [(6)]: subch:0 cam flags:True[/CODE]I think that invalidates my theory... 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?mmPS: 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: 1049626832011-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.0082011-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?
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...
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?