[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