From patchwork Wed Feb 29 11:44:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kende X-Patchwork-Id: 12932 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1S2hxp-0002lm-9X for vdr@linuxtv.org; Wed, 29 Feb 2012 12:44:57 +0100 X-tubIT-Incoming-IP: 62.142.5.116 Received: from emh06.mail.saunalahti.fi ([62.142.5.116]) by mail.tu-berlin.de (exim-4.75/mailfrontend-4) with esmtps [TLSv1:AES256-SHA:256] for id 1S2hxo-0005uq-CX; Wed, 29 Feb 2012 12:44:57 +0100 Received: from saunalahti-vams (vs3-10.mail.saunalahti.fi [62.142.5.94]) by emh06-2.mail.saunalahti.fi (Postfix) with SMTP id 522DAC8417 for ; Wed, 29 Feb 2012 13:44:55 +0200 (EET) Received: from emh06.mail.saunalahti.fi ([62.142.5.116]) by vs3-10.mail.saunalahti.fi ([62.142.5.94]) with SMTP (gateway) id A050874F0A5; Wed, 29 Feb 2012 13:44:55 +0200 Received: from kende.fi (a91-155-177-248.elisa-laajakaista.fi [91.155.177.248]) by emh06.mail.saunalahti.fi (Postfix) with ESMTP id 43A79E51A2 for ; Wed, 29 Feb 2012 13:44:53 +0200 (EET) Received: by kende.fi (Postfix, from userid 1000) id 1762E60074; Wed, 29 Feb 2012 13:44:53 +0200 (EET) Date: Wed, 29 Feb 2012 13:44:53 +0200 From: Kende To: VDR Mailing List Message-ID: <20120229114452.GA10161@kende.fi> References: <4F4E0968.5020203@tvdr.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <4F4E0968.5020203@tvdr.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-Antivirus: VAMS X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.2.29.112715 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' RCVD_FROM_IP_DATE 0.1, FROM_NAME_ONE_WORD 0.05, HTML_00_01 0.05, HTML_00_10 0.05, MSGID_ADDED_BY_MTA 0.05, SUPERLONG_LINE 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1600_1699 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, ECARD_WORD 0, __ANY_URI 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CD 0, __CT 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __URI_NO_MAILTO 0, __URI_NO_PATH 0, __URI_NO_WWW 0, __USER_AGENT 0' X-LSpam-Score: -1.1 (-) X-LSpam-Report: No, score=-1.1 required=5.0 tests=BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793 autolearn=no Subject: Re: [vdr] Patch suggestion: Force CAM reset before upcoming recording X-BeenThere: vdr@linuxtv.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: VDR Mailing List List-Id: VDR Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Feb 2012 11:44:57 -0000 Status: O X-Status: X-Keywords: X-UID: 25774 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: --- 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()); + } } }