Hi all,
I recently changed the receivers of my VDR from two TeVii S660's to a Digital
Devices Cine S2 + Duoflex card. Everything else remained unchanged on the VDR
side of things. Since then, I encounter frequent (as in, once per day approx.)
buffer overruns and resync probs. As it seems from the thread IDs, the TS or VNSI
buffer threads seem to cause the problem. But I may be wrong.
Software versions:
- Ubuntu 14.04.3 LTS with Wily kernel (4.2.0-latest)
- vdr-2.0.3 (ubuntu)
- vnsiserver-latest from git (from a couple of days ago)
- Kodi 6.0 as in Openelec-current on RPi2
- dddvb driver 0.9.21 or 0.9.22 from Digital Devices git (current).
As shown by the kernel log, the DD card is initialized just fine:
[ 14.704506] dvb_core: module verification failed: signature and/or required key missing - tainting kernel
[ 14.744728] Digital Devices PCIE bridge driver 0.9.21, Copyright (C) 2010-15 Digital Devices GmbH
[ 14.744921] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter
[ 14.744938] DDBridge: HW 0001000d REGMAP 00010004
[ 14.744972] DDBridge: using 1 MSI interrupt(s)
[ 14.746272] Port 0: Link 0, Link Port 0 (TAB 1): DUAL DVB-S2
[ 14.858090] Port 1: Link 0, Link Port 1 (TAB 2): DUAL DVB-S2
[ 14.859048] Port 2: Link 0, Link Port 2 (TAB 3): NO MODULE
[ 14.860003] Port 3: Link 0, Link Port 3 (TAB 4): NO MODULE
[ 14.861739] 0 netstream channels
[ 14.861742] DVB: registering new adapter (DDBridge)
[ 14.861744] DVB: registering new adapter (DDBridge)
[ 14.861745] DVB: registering new adapter (DDBridge)
[ 14.861746] DVB: registering new adapter (DDBridge)
...
[ 15.407636] LNBx2x attached on addr=a
[ 15.436794] stv6110x_attach: Attaching STV6110x
[ 15.436799] attach tuner input 0 adr 60
[ 15.436871] ddbridge 0000:05:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...
...
[ 15.472168] LNBx2x attached on addr=8
[ 15.472174] stv6110x_attach: Attaching STV6110x
[ 15.472176] attach tuner input 1 adr 63
[ 15.472256] ddbridge 0000:05:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)...
...
[ 15.491106] LNB25 on 0c
[ 15.640527] ddbridge 0000:05:00.0: DVB: registering adapter 2 frontend 0 (STV0910)...
[ 15.642001] LNB25 on 0d
[ 15.645682] ddbridge 0000:05:00.0: DVB: registering adapter 3 frontend 0 (STV0910)...
When running, after a while these error messages can be seen:
Jan 23 11:15:46 seneca vdr: [7888] VNSI: Successfully switched to channel 14 - KiKA HD
Jan 23 11:15:46 seneca vdr: [7888] VNSI: Started streaming of channel KiKA HD (timeout 10 seconds)
Jan 23 11:15:46 seneca vdr: [7891] cLiveStreamer stream processor thread started (pid=2593, tid=7891, prio=high)
Jan 23 11:15:46 seneca vdr: [7892] TS buffer on device 2 thread started (pid=2593, tid=7892, prio=high)
Jan 23 11:15:46 seneca vdr: [7890] VNSI: VideoInput: no pat/pmt within timeout, falling back to channel pids
Jan 23 11:15:46 seneca vdr: [7890] VNSI: Video Input - new pmt, attaching receiver
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6610 and type=8
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6622 and type=1
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6620 and type=2
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6621 and type=2
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6631 and type=9
Jan 23 11:15:47 seneca vdr: [7891] VNSI: Created stream for pid=6630 and type=11
Jan 23 11:15:49 seneca vdr: [7892] i/o throttle activated, count = 1 (tid=7892)
Jan 23 11:15:50 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:15:50 seneca vdr: [7892] buffer usage: 80% (tid=7889)
Jan 23 11:15:50 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:15:50 seneca vdr: [2746] VNSI: Timers state changed (13)
Jan 23 11:15:50 seneca vdr: [2746] VNSI: Requesting clients to reload timers
Jan 23 11:15:52 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:15:52 seneca vdr: [7892] buffer usage: 80% (tid=7889)
Jan 23 11:15:52 seneca vdr: [7892] buffer usage: 90% (tid=7889)
Jan 23 11:15:53 seneca vdr: [7892] buffer usage: 100% (tid=7889)
Jan 23 11:15:54 seneca vdr: [2746] VNSI: Timers state changed (14)
Jan 23 11:15:54 seneca vdr: [2746] VNSI: Requesting clients to reload timers
Jan 23 11:15:54 seneca vdr: [7892] ERROR: driver buffer overflow on device 2
Jan 23 11:15:58 seneca vdr: message repeated 2 times: [ [7892] ERROR: driver buffer overflow on device 2]
Jan 23 11:16:00 seneca vdr: [7889] ERROR: skipped 123 bytes to sync on TS packet on device 2
Jan 23 11:16:03 seneca vdr: [7892] ERROR: driver buffer overflow on device 2
Jan 23 11:16:04 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:04 seneca vdr: [7889] ERROR: skipped 123 bytes to sync on TS packet on device 2
Jan 23 11:16:04 seneca vdr: [7892] i/o throttle released, count = 0 (tid=7892)
Jan 23 11:16:05 seneca vdr: [7892] i/o throttle activated, count = 1 (tid=7892)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:06 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:07 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:07 seneca vdr: [7892] buffer usage: 80% (tid=7889)
Jan 23 11:16:08 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:08 seneca vdr: [7892] buffer usage: 70% (tid=7889)
Jan 23 11:16:08 seneca vdr: [7892] buffer usage: 60% (tid=7889)
Jan 23 11:16:09 seneca vdr: [7892] buffer usage: 70% (tid=7889)
and voilà, decoding errors, blocks, resyncs. The fun part is, it is not enough
to restart VDR (and hence, vnsiserver) or unload and reload the kernel
modules, but I actually need to restart the _machine_ in order to get away
with this.
Both device 1 and device 2 are attached to Astra, these are two independent
LNBs with no multiswitch or anything inbetween. It makes no difference if the
current channel is on 1 or 2, so it should not be the LNBs (how?) or the
receiver modules on the DD card.
This does not happen when watching live streams with xineliboutput / vdr-sxfe,
and also not if I watch recordings using vnsiserver / kodi. Only when it's live
streams and vnsiserver / kodi. Happens with HD or SD channels. Does not go
away when switching channels. Recording works just fine without any problems.
I opened a ticket with Digital Devices but for now I haven't got a clue from
them, and also no answer in the VNSI / Kodi forum, so I hope that somebody
here might have a clue where to look.
And sorry for using an old VDR version but this is where I am. Going to
upgrade to 2.2.0 with Ubuntu 16.04 as soon as it's available. This is a
"production" (as in "high WAF required") machine. ;-)
TIA!
--
FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #13
A: Doc, Happy, Bashful, Dopey, Sneezy, Sleepy, & Grumpy
Q: Who were the Democratic presidential candidates?