[vdr] CAM auto resetting - feature request??

Simon Baxter linuxtv at nzbaxters.com
Mon Dec 13 02:04:12 CET 2010


>>>> Sep  2 08:17:55 freddy vdr: [27707] ERROR: can't write to CI adapter on
>>>> device 0: Input/output error
>>>> Sep  2 08:17:55 freddy kernel: dvb_ca adapter 0: DVB CAM detected and
>>>> initialised successfully
>>>
>>> This looks more like a driver bug to me.
>>
>> Well maybe but unfortunately responds to my mails in linux-dvb /
>> linux-media mailinglist for that problem.
>>
>> @Klaus:
>> If that problem happens, a manual reset of the cam under vdr's
>> menu->settings->ci brings the cam back.
>>
>> What about trying to reset a cam automatically when it's Status is !=
>> msReady?
>>
>> Like this:
>> diff --git a/device.c b/device.c
>> index 681049b..7904de2 100644
>> --- a/device.c
>> +++ b/device.c
>> @@ -239,6 +239,8 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, 
>> int Priority, bool LiveView
>>    if (Channel->Ca() >= CA_ENCRYPTED_MIN) {
>>       for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = 
>> CamSlots.Next(CamSlot)) {
>>           SlotPriority[CamSlot->Index()] = MAXPRIORITY + 1; // assumes it 
>> can't be used
>> +         if (CamSlot->ModuleStatus() == msPresent)
>> +            CamSlot->Reset();
>>           if (CamSlot->ModuleStatus() == msReady) {
>>              if (CamSlot->ProvidesCa(Channel->Caids())) {
>>                 if 
>> (!ChannelCamRelations.CamChecked(Channel->GetChannelID(), 
>> CamSlot->SlotNumber())) {
>
> Have you tested this?
> Did it actually work?
>
> Klaus

Will give it a try and report back.... 




More information about the vdr mailing list