[vdr] Patch suggestion: Force CAM reset before upcoming recording

Oliver Schinagl oliver at schinagl.nl
Tue Mar 6 10:17:52 CET 2012

On 29-02-12 12:44, Kende wrote:
> On Wed, Feb 29, 2012 at 12:18:00PM +0100, Klaus Schmidinger wrote:
>> On 29.02.2012 12:13, Heikki Manninen wrote:
>>> I have a number of different Conax CAM modules from different manufacturers and all of them disappear from VDR after a couple of days running. Hitting CAM reset on the CI menu will bring it back "online". Naturally all Conax channel recordings will fail silently as a result of this until the CAM has been brought back up. Switching to an encrypted channel just gives the standard "channel not available" message.
>>> This happens (for me) with Satelco DVB-C card with Satelco CI. From what I understand, this seems to be a common problem though I'm not sure whether it is limited to Satelco devices only.
>>> Would it be possible to force CAM reset on all CI slots when VDR is trying to start recording non-FTA channel?
>> Wouldn't it be better to fix the actual problem and prevent
>> the CAM from "disappearing"?
> Hola,
> For me this seems to be driver issue, not VDRs fault. CI poll ioctl write seems to fail sometimes with my KNC One (saa7146) budget cards . Following patch seems to help in my case:
Just a 'me too', My TT DVB-T 1500 with CI and conax cam also 
occasionally crashes. FTA remain working and a reset in the cam menu 
brings back the cam to life. Happens maybe once every few days, but my 
tv-box doesn't stay on for days, 3-8 hours a day max.
> --- dvbci.c     2007-01-04 14:49:10.000000000 +0200
> +++ ../vdr-1.7.21/dvbci.c       2011-10-12 10:49:45.689684447 +0300
> @@ -62,8 +62,10 @@
>   void cDvbCiAdapter::Write(const uint8_t *Buffer, int Length)
>   {
>     if (Buffer&&  Length>  0) {
> -     if (safe_write(fd, Buffer, Length) != Length)
> +    if (safe_write(fd, Buffer, Length) != Length) {
>           esyslog("ERROR: can't write to CI adapter on device %d: %m", device->De
> viceNumber());
> +       Reset(device->DeviceNumber());
> +    }
>        }
>   }

More information about the vdr mailing list