From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp08.acens.net ([86.109.99.132]:61567 "EHLO smtp.movistar.es" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751461AbbAAVK4 (ORCPT ); Thu, 1 Jan 2015 16:10:56 -0500 Received: from ElGrande (83.56.11.105) by smtp.movistar.es (8.6.122.03) (authenticated as dcrypt$telefonica.net) id 549C742B003129D3 for linux-media@vger.kernel.org; Thu, 1 Jan 2015 21:04:24 +0000 From: "dCrypt" To: Subject: [BUG] Dual tuner TV card, works using one tuner only, doesn't work if both tuners are used Date: Thu, 1 Jan 2015 22:04:27 +0100 Message-ID: <007d01d02606$87552d70$95ff8850$@net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Language: es Sender: linux-media-owner@vger.kernel.org List-ID: Hi, I just subscribed to the mailing list to submit information on the bug which is driving me crazy since one month ago. I have a VDR based PVR at home, installed over an Ubuntu 14.04 LTS. Everything was working perfectly, until beginning of December. It seems to me that something changed that broke my PVR pretty bad. The problem is the following: tuning (zap) both tuners (it's not needed that both are tuned simultaneously, only one after the other, in no particular order) makes the tuners to enter an state where they can't lock the signal anymore. Facts: - My TV card is a Cinergy T PCIe Dual from Terratec (http://www.linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_PCIe_dual). - The problem arose in the form of "frontend x/0 timed out while tuning to channel ..." in /var/log/syslog. It happened when both tuners are active, during EPG scan. The problem does not happen if VDR is run with -D parameter to limit the number of frontends enabled. Disabling the EPG scan with both frontends enabled minimizes the problem, but doesn't solve it because tuning both frontends without any EPG scan makes the error happen again. - I initially thought about a problem in the DVB-T signal, because it all started the 1st of December, during the transition to a new set of frequencies in Spain. - Everything was working perfectly before the 1st, and the problems started suddenly. - I setup testing board for debugging, different board and processor, less memory, lots of Linux distros tested, Windows tested as well. - Both tuners works in windows without problems. Confirmed. - I have completely discarded problems/errors in hardware (because in Windows I can enable both tuners without problems) and VDR (because I can reproduce the problems at OS level, without even having VDR installed). - I have almost narrowed the problem at the cx23885 driver, because when it happens, I can restart the TV card to working conditions by executing "rmmod cx23885" and "modprobe cx23885"; however, as with "rmmod" several dependencies are unloaded as well, I am stuck and I am unable to go on with debugging to find out where the problem really is. - Tools used to test and confirm the problem are: VDR, MythTV, TVHeadend, dvbscan, dvbv5-scan, dvbv5-zap and others - Linux distros tested: Ubuntu, Fedora, Suse, yaVDR (not sure if the card worked at all), MythBuntu ("dvb-fe-tool -a 1 -c DVBT" was required to force DVB-T mode for the second tuner), and probably others - I have a Sony PlayTV also with dual tuners, which works without any problem. http://www.linuxtv.org/wiki/index.php/Sony_PlayTV_dual_tuner_DVB-T So, that's why I ask for your help. How can I further debug the problem? Is there something I can do? BR, and happy new year! INFO & TEST: --------------------------------------------------------------------> pvr@prueba:~$ sudo lspci -vvv -s 03:00.0 03:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI Video and Audio Decoder (rev 04) Subsystem: TERRATEC Electronic GmbH Cinergy T PCIe Dual Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Kernel driver in use: cx23885 --------------------------------------------------------------------> pvr@prueba:~$ dmesg | grep cx [ 12.812789] cx23885 driver version 0.0.3 loaded [ 12.812997] CORE cx23885[0]: subsystem: 153b:117e, board: TerraTec Cinergy T PCIe Dual [card=34,autodetected] [ 12.949340] cx25840 11-0044: cx23885 A/V decoder found @ 0x88 (cx23885[0]) [ 13.723953] cx25840 11-0044: loaded v4l-cx23885-avcore-01.fw firmware (16382 bytes) [ 13.739701] cx23885_dvb_register() allocating 1 frontend(s) [ 13.739704] cx23885[0]: cx23885 based dvb card [ 13.852565] DVB: registering new adapter (cx23885[0]) [ 13.852569] cx23885 0000:03:00.0: DVB: registering adapter 0 frontend 0 (DRXK DVB-T)... [ 13.852749] cx23885_dvb_register() allocating 1 frontend(s) [ 13.852750] cx23885[0]: cx23885 based dvb card [ 13.958613] DVB: registering new adapter (cx23885[0]) [ 13.958618] cx23885 0000:03:00.0: DVB: registering adapter 1 frontend 0 (DRXK DVB-C DVB-T)... [ 13.958934] cx23885_dev_checkrevision() Hardware revision = 0xa5 [ 13.958939] cx23885[0]/0: found at 0000:03:00.0, rev: 4, irq: 16, latency: 0, mmio: 0xfba00000 --------------------------------------------------------------------> pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 0 -x using demux '/dev/dvb/adapter0/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 11,30dB UCB= 2 postBER= 0 preBER= 57,9x10^-6 PER= 48,8x10^-6 Lock (0x1f) Quality= Good Signal= 100,00% C/N= 11,80dB UCB= 3 postBER= 0 preBER= 55,1x10^-6 PER= 0 pvr@prueba:~$ pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 0 -x using demux '/dev/dvb/adapter0/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 11,80dB UCB= 3 postBER= 0 preBER= 63,6x10^-6 PER= 56,3x10^-6 Lock (0x1f) Quality= Good Signal= 100,00% C/N= 12,20dB UCB= 4 postBER= 5,39x10^-6 preBER= 0 PER= 0 pvr@prueba:~$ pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 0 -x using demux '/dev/dvb/adapter0/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 12,20dB UCB= 4 postBER= 1,01x10^-6 preBER= 58,6x10^-6 PER= 61,0x10^-6 Lock (0x1f) Quality= Good Signal= 100,00% C/N= 12,10dB UCB= 4 postBER= 0 preBER= 55,1x10^-6 PER= 0 pvr@prueba:~$ pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 1 -x using demux '/dev/dvb/adapter1/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Signal= 0,00% Viterbi(0x07) Signal= 100,00% C/N= 10,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB ^Cpvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 0 -x using demux '/dev/dvb/adapter0/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 12,10dB UCB= 4 postBER= 850x10^-9 preBER= 58,0x10^-6 PER= 51,4x10^-6 Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 8,80dB Viterbi(0x07) Signal= 100,00% C/N= 10,00dB ^Cpvr@prueba:~$ sudo rmmod cx23885 pvr@prueba:~$ sudo modprobe cx23885 pvr@prueba:~$ pvr@prueba:~$ pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 1 -x using demux '/dev/dvb/adapter1/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Signal= 0,00% Lock (0x1f) Quality= Good Signal= 100,00% C/N= 10,40dB UCB= 0 postBER= 0 preBER= 55,1x10^-6 PER= 0 pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 1 -x using demux '/dev/dvb/adapter1/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 10,40dB UCB= 0 postBER= 0 preBER= 36,7x10^-6 PER= 0 Lock (0x1f) Quality= Good Signal= 100,00% C/N= 11,90dB UCB= 1 postBER= 0 preBER= 331x10^-6 PER= 0 pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 1 -x using demux '/dev/dvb/adapter1/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 11,90dB UCB= 1 postBER= 0 preBER= 175x10^-6 PER= 40,7x10^-6 Lock (0x1f) Quality= Good Signal= 100,00% C/N= 12,30dB UCB= 2 postBER= 0 preBER= 55,1x10^-6 PER= 0 pvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 0 -x using demux '/dev/dvb/adapter0/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Signal= 0,00% Viterbi(0x07) Signal= 100,00% C/N= 11,60dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB ^Cpvr@prueba:~$ sudo dvbv5-zap "La 1 HD." -c channelsv5.conf -a 1 -x using demux '/dev/dvb/adapter1/demux0' reading channels from file 'channelsv5.conf' service has pid type 05: 115 tuning to 770000000 Hz (0x00) Quality= Good Signal= 100,00% C/N= 12,30dB UCB= 2 postBER= 0 preBER= 138x10^-6 PER= 54,3x10^-6 Viterbi(0x07) Signal= 100,00% C/N= 10,20dB Viterbi(0x07) Signal= 100,00% C/N= 11,70dB Viterbi(0x07) Signal= 100,00% C/N= 0,00dB Viterbi(0x07) Signal= 100,00% C/N= 10,40dB ^Cpvr@prueba:~$