Project

General

Profile

Bug #5625

Many Continuity errors while using CXD2837ER (Astrometa white stick)

Added by ly chen 6 months ago. Updated 13 days ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2019-05-06
Due date:
% Done:

0%

Estimated time:
Found in version:
Tvheadend 4.2.8-23~g74cdf3f16
Affected Versions:

Description

I'm running Ubuntu 18.04LTS, kernel updated to 5.0.10 to support the 2018 version of Astrometa USB stick.

The problem is, when watching DVB-C streams, I get continuously Continuity counter errors about every 5 secs, even in strong signal muxes.
But if I check the "Force old status" in TV adapters settings, the Continuity errors disappears, but there's no signal strength and SNR in status tab.
Maybe it's not a TVH bug but a kernel driver bug, I'm a linux newbie, I don't know how to check that.

Log is here

2019-05-06 11:11:36.207 dvr: /mnt/ST3T/nfs/炽热阿拉伯(2)-1.ts from adapter: "Sony CXD2837ER DVB-T/T2/C demodulator #0 : DVB-C #1", network: "DVB-C", mux: "363MHz", provider: "BGCTV", service: "CCTV9纪录高清"
2019-05-06 11:11:36.207 dvr: # type lang resolution aspect ratio sample rate channels
2019-05-06 11:11:36.207 dvr: 1 H264 1920x1080 ?
2019-05-06 11:11:36.207 dvr: 2 AC3 eng ? ?
2019-05-06 11:11:36.207 dvr: 3 CA
2019-05-06 11:11:36.207 dvr: 4 CA
2019-05-06 11:11:36.207 dvr: 5 CA
2019-05-06 11:11:36.207 dvr: 6 CA
2019-05-06 11:11:36.476 TS: DVB-C/363MHz/CCTV9纪录高清: H264 #6090 Continuity counter error (total 1)
2019-05-06 11:11:36.476 TS: DVB-C/363MHz/CCTV9纪录高清: AC3
#6091 Continuity counter error (total 1)
2019-05-06 11:12:26.110 TS: DVB-C/363MHz/CCTV9纪录高清: H264 #6090 Continuity counter error (total 3)
2019-05-06 11:12:38.125 TS: DVB-C/363MHz/CCTV9纪录高清: H264
#6090 Continuity counter error (total 13)
2019-05-06 11:12:49.042 TS: DVB-C/363MHz/CCTV9纪录高清: H264 #6090 Continuity counter error (total 20)
2019-05-06 11:12:56.674 TS: DVB-C/363MHz/CCTV9纪录高清: AC3
#6091 Continuity counter error (total 2)
2019-05-06 11:12:59.923 TS: DVB-C/363MHz/CCTV9纪录高清: H264 #6090 Continuity counter error (total 28)
2019-05-06 11:13:09.791 tbl-pass: pass-eit: -: invalid checksum (len 67, errors 1)
2019-05-06 11:13:09.791 tbl-eit: eit: 363MHz in DVB-C: invalid checksum (len 67, errors 1)
2019-05-06 11:13:10.835 TS: DVB-C/363MHz/CCTV9纪录高清: H264
#6090 Continuity counter error (total 34)
2019-05-06 11:13:11.992 TS: DVB-C/363MHz/CCTV9纪录高清: AC3 #6091 Continuity counter error (total 3)
2019-05-06 11:13:22.857 TS: DVB-C/363MHz/CCTV9纪录高清: H264
#6090 Continuity counter error (total 38)


Files

tvheadend_cleanup_stats_code.patch (7.78 KB) tvheadend_cleanup_stats_code.patch Simplify DVBv5 stats code Mauro Carvalho Chehab, 2019-10-06 15:07

History

#1

Updated by Tiago Freire 2 months ago

ly chen wrote:

I'm running Ubuntu 18.04LTS, kernel updated to 5.0.10 to support the 2018 version of Astrometa USB stick.

The problem is, when watching DVB-C streams, I get continuously Continuity counter errors about every 5 secs, even in strong signal muxes.
But if I check the "Force old status" in TV adapters settings, the Continuity errors disappears, but there's no signal strength and SNR in status tab.
Maybe it's not a TVH bug but a kernel driver bug, I'm a linux newbie, I don't know how to check that.

(...)

The same situation over where, lots of continuity errors and the USB stick freezes after some time running and scrolling the channels.

Tvheadend on a LXC with Ubuntu 18.04, over Proxmox 6.

#2

Updated by void walker 16 days ago

somebody just wrote a kernel patch to address this issue:
https://lore.kernel.org/linux-media/deda3225[email protected]kernel.org/T/#u

#3

Updated by Mauro Carvalho Chehab 13 days ago

After some tests, I'm pretty sure this is not a Kernel bug, but, instead, a problem at tvheadend. On a quick look, the logic to decide to fall back to DVBv3 seems too complex than it should be. If FE_GET_PROPERTY returns a property with len > 0, then the Kernel driver uses DVBv5 to report stats. Calling a DVBv3 stat after that and mixing with the output of the stats property may cause too much I2C traffic at some devices and may cause problems.

So, the logic there should be something like:

/* Check if DVBv5 stats are available */
gotprop = 0;
if(ioctl_check(lfe, 0) && !lfe->lfe_old_status &&
!ioctl(lfe->lfe_fe_fd, FE_GET_PROPERTY, &dtv_prop)) {
for (i = 0; i < dtv_prop.num; i++)
if (fe_properties[i].u.st.len)
break;
if (i < dtv_prop.num)
gotprop = 1;
}
if (gotprop) {
/* Use only DVBv5 stats /
}
else {
/
Use only DVBv3 stats */
}

I'm enclosing an untested patch cleaning up the stats logic to take this into account.

#4

Updated by Jaroslav Kysela 13 days ago

  • Status changed from New to Fixed

Got it. Fixed in v4.3-1808-g691cce4a7 .

#5

Updated by saen acro 13 days ago

Also available in: Atom PDF