Project

General

Profile

Issues with ABC Mux in Australia

Added by Hamish Claxton about 7 years ago

Hey Guys,

Not sure if this is the right area to post - I'm new to the forum.
Currently I have a Raspberry Pi 3 setup in my media room running Kodi with TVHeadend using a PlayTV Tuner, all running on Arch Linux ARM. While for the most part it is working great. I have an issue where when watching ABC Channels (Be it ABC, ABC HD, ABC News... etc). Every other channel seems to work okay apart from the ABC channels. No matter what I try, the signal on this mux always breaks up. It starts off okay sometimes and then craps out later on, or it craps out straight away. Basically the entire ABC mux is unstable/unwatchable for the most part.

Solutions I've tried:
- Reinstalling the entire system (switched to F2FS from EXT4 as well)
- Running the PlayTV off a powered USB hub (seems to improve the signal quality a bit?)
- Tried different stream profiles (I think passthrough helps a bit as well)
- Deleted the current Kodi setup, and reset it up
- Tried older versions of TVHeadend
- Tried newer versions of TVHeadend (Currently running the latest 4.3 Git)

I honestly don't think its Kodi as other channels play fine, or the PlayTV Tuner as it works okay on the PS3. And any other TV's in the house seem to play the channel fine also.
This leads me to believe its an issue with TVHeadend itself.

I'm not sure what else to try at this point apart from submitting a bug report, if it is in fact a bug. If anyone else has any ideas/solutions or even to confirm the bug, that would be greatly appreciated.
Also attached is a log snippet to show you what happens when viewing the channel.


Replies (5)

RE: Issues with ABC Mux in Australia - Added by Mark Clarkstone about 7 years ago

  • Try disabling power save mode on the Pi.
  • Do you have a hard drive connected, if so try without that (temporarily).
  • What Bandwidth usage is shown in Status -> Stream during the errors?
  • Does the service play back fine on a remote system using something like VLC?

RE: Issues with ABC Mux in Australia - Added by Hamish Claxton about 7 years ago

Afaik, there isn't power saving mode on the Pi. Not using an external HDD either for the USB power problems. From what I can see, when the breakups happen the BER/PER seem to spike. PER is normally 0 when the signal is okay. Yeah, I ran ABC HD over the network (Ethernet) to my laptop, and it still broke up as it does on the Pi, however there were no DTS errors.
Bandwidth during the tests stayed between 3000 & 6000, and didn't seem to spike or change greatly when the errors occurred.

RE: Issues with ABC Mux in Australia - Added by Mark Clarkstone about 7 years ago

Hamish Claxton wrote:

Afaik, there isn't power saving mode on the Pi. Not using an external HDD either for the USB power problems.

Sorry, I meant the USB power.

mark@mark-desktop2:~$ sudo modinfo dvb_usb
filename:       /lib/modules/4.10.0-35-generic/kernel/drivers/media/usb/dvb-usb/dvb-usb.ko
license:        GPL
description:    A library module containing commonly used USB and DVB function USB DVB devices
author:         Patrick Boettcher <[email protected]>
version:        1.0
srcversion:     FA5EE866A097A449D2E3581
depends:        rc-core,dvb-core
intree:         Y
vermagic:       4.10.0-35-generic SMP mod_unload 
parm:           debug:set debugging level (1=info,xfer=2,pll=4,ts=8,err=16,rc=32,fw=64,mem=128,uxfer=256  (or-able)). (debugging is not enabled) (int)
parm:           disable_rc_polling:disable remote control polling (default: 0). (int)
parm:           force_pid_filter_usage:force all dvb-usb-devices to use a PID filter, if any (default: 0). (int)
mark@mark-desktop2:~$ sudo modinfo dvb_core
filename:       /lib/modules/4.10.0-35-generic/kernel/drivers/media/dvb-core/dvb-core.ko
license:        GPL
author:         Marcus Metzler, Ralph Metzler, Holger Waechtler
description:    DVB Core Driver
srcversion:     2A38A262167EAED1815F3A6
depends:        
intree:         Y
vermagic:       4.10.0-35-generic SMP mod_unload 
parm:           frontend_debug:Turn on/off frontend core debugging (default:off). (int)
parm:           dvb_shutdown_timeout:wait <shutdown_timeout> seconds after close() before suspending hardware (int)
parm:           dvb_force_auto_inversion:0: normal (default), 1: INVERSION_AUTO forced always (int)
parm:           dvb_override_tune_delay:0: normal (default), >0 => delay in milliseconds to wait for lock after a tune attempt (int)
parm:           dvb_powerdown_on_sleep:0: do not power down, 1: turn LNB voltage off on sleep (default) (int)
parm:           dvb_mfe_wait_time:Wait up to <mfe_wait_time> seconds on open() for multi-frontend to become available (default:5 seconds) (int)
parm:           cam_debug:enable verbose debug messages (int)
parm:           dvb_demux_tscheck:enable transport stream continuity and TEI check (int)
parm:           dvb_demux_speedcheck:enable transport stream speed check (int)
parm:           dvb_demux_feed_err_pkts:when set to 0, drop packets with the TEI bit set (1 by default) (int)
parm:           debug:Turn on/off debugging (default:off). (int)
parm:           dvbdev_debug:Turn on/off device debugging (default:off). (int)
mark@mark-desktop2:~$ sudo modinfo dvb_usb_dib0700
filename:       /lib/modules/4.10.0-35-generic/kernel/drivers/media/usb/dvb-usb/dvb-usb-dib0700.ko
license:        GPL
version:        1.0
description:    Driver for devices based on DiBcom DiB0700 - USB bridge
author:         Patrick Boettcher <[email protected]>
firmware:       dvb-usb-dib0700-1.20.fw
srcversion:     8056B778867989DE05C27EA
depends:        dib7000m,dibx000_common,dvb-usb,dib0090,dib0070,dib3000mc,rc-core
intree:         Y
vermagic:       4.10.0-35-generic SMP mod_unload 
parm:           force_lna_activation:force the activation of Low-Noise-Amplifyer(s) (LNA), if applicable for the device (default: 0=automatic/off). (int)
parm:           debug:set debugging level (1=info,2=fw,4=fwdata,8=data (or-able)). (debugging is not enabled) (int)
parm:           nb_packet_buffer_size:Set the dib0700 driver data buffer size. This parameter corresponds to the number of TS packets. The actual size of the data buffer corresponds to this parameter multiplied by 188 (default: 21) (int)
parm:           adapter_nr:DVB adapter numbers (array of short)

try setting dvb_powerdown_on_sleep

From what I can see, when the breakups happen the BER/PER seem to spike. PER is normally 0 when the signal is okay. Yeah, I ran ABC HD over the network (Ethernet) to my laptop, and it still broke up as it does on the Pi, however there were no DTS errors.
Bandwidth during the tests stayed between 3000 & 6000, and didn't seem to spike or change greatly when the errors occurred.

RE: Issues with ABC Mux in Australia - Added by Hamish Claxton about 7 years ago

Okay cool, so I added 'options dvb_core dvb_powerdown_on_sleep=0' to '/etc/modprobe.d/dvb.conf' and rebooted. After some testing, it seems that the DTS errors that broke the signal up completely and caused audio desync has gone away (hopefully). I don't fully understand why this fixed that issue though as other channels should have been having the same errors, would they not? Or why there were no DTS errors when streaming over network? Anyhow I'm still seeing many MPEG2AUDIO, MPEG2VIDEO, TELETEXT & H264 Continuity errors that do pause the stream for the odd second as well as show the graphical corruption. Any ideas on how to get rid of those or at least greatly minimise them?

EDIT: A bunch of DTS errors occurred after about an hour of playback of ABC HD, stopping and restarting the channel did not help either. Weird? What else could it be...

RE: Issues with ABC Mux in Australia - Added by Hamish Claxton about 7 years ago

I've done some more testing and have found that the errors do seem to occur eventually on my Desktop PC, running a AVerMedia TwinStar Dual Tuner on TVHeadend v4.2.3. Testing with Kodi v17.4 Krypton, theres Corrupted PES header & H264 Invalid start code errors that appear as well.

Also on the Pi front, I found a thread - https://forum.libreelec.tv/thread/4235-dvb-issue-since-le-switched-to-kernel-4-9-x/?pageNo=1 - that suggests setting ARM_UC to 12 0 might help. I tried that and I do agree that it seems to have helped a bit. For those who are wondering how to set this, just run vcgencmd arbiter set arm_uc 12 0, and if you want it to be permanently set, add it to a system boot script/service.

    (1-5/5)