![Simbiotic - A Cyberpunk Thriller Novel](images/simbiotic-9.jpg)
How to Fix HDHomeRun Connect Not Starting MythTV Recordings or Live TV
Summary
This article describes the problem of MythTV not starting scheduled recordings with an HDHomeRun Connect, and how to apply a time delay or a static IP address to fix this problem.
These steps were documented for a MythTV Personal Video Recorder using Mythbuntu 14.04 which uses MythTV 0.27, and a HDHomeRun Connect ATSC network dual tuner. For setup details see Building MythTV PVR with HDHomeRun Network Tuner
Updatge 2023-01-03: From a mythtv-users mailing list discussion entitled "Delaying until HDHR tuners are up before starting mythtv-backend" it appears that an ipv6 connection might establish earlier than an ipv4 one making the hdhomerun discover command report success earlier than it should. The solution was to disable ipv6. See How to disable IPv6 in Ubuntu 14.04?.
Update 2019-01-10: A reader of this article suggested an improved
method to deal with this issue. I have not had a chance to test
this myself, but decided to add a new proposed solution E so that
others might be able to try the new method.
Meanwhile in order to reduce the chance that the HDHomeRun device is
not found, we decided to minimize the power cycling on/off by
setting this PVR to stay powered on using the MythWelcome Lock
Shutdown option.
Contents
- Problem
- Background Information
- Root Cause
- Proposed Solution A: Add boot delay
- Proposed Solution B: Set HDHomeRun Static IP Address
- Proposed Solution C: Set HDHomeRun Static IP Address and Add Ping Wait Loop
- Proposed Solution D: Configure Mythbackend with Upstart Wait Script
- Proposed Solution E: Add CRON on Reboot Wait Script
- References
- Apppendix: mythbackend.log long snippet
Problem
Much of the time, the MythTV PVR properly records scheduled recordings and permits watching Live TV. However, occasionally scheduled recordings do not start recording when using an HDHomeRun Connect (dual ATSC tuner). Further sometimes Mythfrontend is unable to tune in TV stations using Live TV.
Moreover, when a scheduled recording is not started, the mythbackend.log (contained in /var/log/mythtv) has the following lines:
----- begin mythbackend.log short snippet -----
...
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/hdhrstreamhandler.cpp:337 (Connect) HDHRSH(10416512-0): Unable to connect to device
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[1](10416512-0): SetChannelByString(3_1): Failed to initialize multiplex options
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[2](10416512-0): SetChannelByString(3_1): Failed to initialize multiplex options
...
----- end mythbackend.log short snippet -----
For a longer snippet see Appendix: mythbackend.log long snippet.
An indication of the problem is shown in the first line Unable to connect to device. At this time both the MythTV PVR and the HDHomeRun Connect are powered on and running on the network.
When this issue occurs, rebooting the HDHomeRun Connect appears to have no effect. However, restarting/rebooting the MythTV Backend will often resolve the issue.
As a temporary workaround we confirmed that scheduled recordings and live TV were working properly and then left the MythTV backend powered on and running. In this situation the scheduled recordings continue to work.
The issue appears to arise only occasionally on MythTV Backend reboot. Because one never knows when a power outage might occur, a better long term solution was needed.
Background Information
The HDHomeRun Connect tuner is connected via Ethernet cat5 cable to a D-Link Gigabit router/switch which is connected via Ethernet cat5 cable to a MythBuntu 14.04 combination backend and frontend server.
The HDHomeRun is configured in the MythTV Backend as follows:
2. Capture cards
(New capture card)
Card type: HDHomeRun networked tuner
Available devices: 10416512-0 * <- broadcast name
Device ID: 10416512-0
Description: hdhomerun4_atsc, firmware: 20150826
IP Address: 192.168.1.100
Tuner: 0
Recording Options
Signal timeout (ms): 1000
Tuning timeout (ms): 3000
Max simultaneous recordings: 2
(New capture card)
Card type: HDHomeRun networked tuner
Available devices: 10416512-1 * <- broadcast name
Device ID: 10416512-1
Description: hdhomerun4_atsc, firmware: 20150826
IP Address: 192.168.1.100
Tuner: 1
Recording Options
Signal timeout (ms): 1000
Tuning timeout (ms): 3000
Max simultaneous recordings: 2
5. Input Connections
For ATSC Over-The-Air Antenna:
Capture device: HDHOMERUN : 10416512-0
Video source: HD Antenna
Name: HDTuner1
Starting Channel: 3_1
Input Priority: 0
Schedule Order: 1 # Ascending order, increment by capture card max simultaneous recordings
Live TV Order: 3 # Descending order, to avoid conflicts with scheduled recordings
Capture device: HDHOMERUN : 10416512-1
Video source: HD Antenna
Name: HDTuner2
Starting Channel: 3_1
Input Priority: 0
Schedule Order: 3
Live TV Order: 1
Network information:
D-Link Router: 192.168.1.1
DHCP Range: 192.168.1.100 - 192.168.1.199 # Dynamic IP address range
mythpvr: 192.168.1.55 # Static IP address
hdhomerun: 192.168.1.100 # Dynamic IP address
Root Cause
My hypothesis that sometimes the mythbackend fails to connect to the HDHomeRun is:
- Either networking is not fully functioning when the broadcast name lookup is attempted.
- Or the problem might be due to delays caused by the time needed to map between an HDHomeRun broadcast name and an IP address.
Proposed Solution A: Add boot delay
NOTE: Reason Why Time Delay Might Not Work |
To address the issue, insert a delay in the start up of mythbackend. This is to allow sufficient time for networking to be fully functional before the backend tries to contact the HDHomeRun Connect tuner.
-
Edit /etc/init/mythtv-backend.conf file.
sudo leafpad /etc/init/mythtv-backend.conf
Locate the following lines:
script test -f /etc/default/locale && . /etc/default/locale || true LANG=$LANG exec /usr/bin/mythbackend --syslog local7 --user mythtv --daemon end script
Insert sleep line between test -f ... and LANG=... lines.
script test -f /etc/default/locale && . /etc/default/locale || true sleep 5 # wait for IP network to start / HDHomeRun Connect LANG=$LANG exec /usr/bin/mythbackend --syslog local7 --user mythtv --daemon end script
Save file and exit editor.
2016-11-25 Note that the above 5 second time delay was implemented on November 25, 2016.
2016-12-18 The 5 second time delay didn't work.
If this proposed solution does not work, then consider increasing the
time delay or trying the next proposed solution.
I am moving onto the next proposed solution.
Proposed Solution B: Set HDHomeRun Static IP Address
To address the issue, assign a static IP address to the HDHomeRun tuner, and configure the MythTV Backend to communicate using the HDHomeRun static IP address. This will remove any time delay involved in mapping from a broadcast name to an IP address.
In this example we will assign the HDHomeRun Connect tuner the following IP address: 192.168.1.61
Note that when choosing a static IP address, be sure that it is outside of the range that is used in the pool for dynamically assigned addresses.
-
Lookup the current IP address for the HDHomeRun tuner.
hdhomerun_config discover
For the rest of these instructions I'll assume we'll use the dynamically assigned IP address: 192.168.1.100
Example output:
hdhomerun device 10416512 found at 192.168.1.100
-
Using the above IP address, assign a static IP address.
The format of the command is:
hdhomerun_config <old ip> set /sys/ipaddr "<new ip> <subnet> <gateway>"
In this example we would have used (It didn't work):
hdhomerun_config 192.168.1.100 set /sys/ipaddr "192.168.1.61 255.255.255.0 192.168.1.1"
TIP: Steps to Revert HDHomeRun Back to Dynamic IP Address
The format of the command is:
hdhomerun_config <old ip> set /sys/ipaddr dhcp
In this example we would use:
hdhomerun_config 192.168.1.61 set /sys/ipaddr dhcp
Unfortunately the above command does not work on consumer grade devices like the HDHomeRun Connect.
See SiliconDust.com: Fixed IP-address?Instead, in order to set a non-changing IP address for the HDHomeRun Connect tuner, I had to make a DHCP reservation in my Router.
The steps for making a DHCP reservation vary from router to router. The basic steps are:
A. Use a web browser to connect to the router using it's IP address.
Note that the router is often at 192.168.1.1, but might be at 192.168.1.254.
B. Login to the router with an administrative account.
C. Locate the DHCP section in the menu and reserve an IP address for the HDHomeRun's MAC Address.
-
Configure MythTV Backend to use the HDHomeRun static IP address.
Start System -> MythTV Backend Setup.
Go through screens until you reach the menu screen (for example, 1. General).
Change to use the following settings:
2. Capture cards (Capture Card Setup) Card type: HDHomeRun networked tuner Available devices: Manually enter IP address Device ID: 192.168.1.100-0 Description: hdhomerun4_atsc, firmware: 20150826 IP Address: 192.168.1.100 Tuner: 0 Recording Options Signal timeout (ms): 1000 Tuning timeout (ms): 3000 Max simultaneous recordings: 2 (Capture Card Setup) Card type: HDHomeRun networked tuner Available devices: Manually enter IP address Device ID: 192.168.1.100-1 Description: hdhomerun4_atsc, firmware: 20150826 IP Address: 192.168.1.100 Tuner: 1 Recording Options Signal timeout (ms): 1000 Tuning timeout (ms): 3000 Max simultaneous recordings: 2 * Note that your HDHomeRun device will have a different number. The digit after the dash indicates one of the two tuners. 5. Input Connections For ATSC Over-The-Air Antenna: Capture device: HDHOMERUN : 192.168.1.100-0 Video source: HD Antenna Name: HDTuner1 Starting Channel: 3_1 Input Priority: 0 Schedule Order: 1 # Ascending order, increment by capture card max simultaneous recordings Live TV Order: 3 # Descending order, to avoid conflicts with scheduled recordings Capture device: HDHOMERUN : 192.168.1.100-1 Video source: HD Antenna Name: HDTuner2 Starting Channel: 3_1 Input Priority: 0 Schedule Order: 3 Live TV Order: 1
Be sure to choose Finish to save the settings.
Exit out of MythTV Backend Setup using Escape key.
2017-03-03 Implemented this proposed solution.
2017-03-05 The DHCP IP address reservation (essentially a static IP address) did not work.
If this proposed solution does not work, then consider a combination
of proposed solutions A and B.
I am moving onto the next proposed solution.
Proposed Solution C: Set HDHomeRun Static IP Address and Add Ping Wait Loop
Set an unchanging IP Address for the HDHomeRun Connect tuner using Proposed Solution B.
Next try delaying mythbackend startup until after we confirm that we can contact the HDHomeRun with a network ping.
In the following wait loop, we try to ping the HDHomeRun up to 60 times, one second apart, before we let mythbackend start.
-
Edit /etc/init/mythtv-backend.conf file.
sudo leafpad /etc/init/mythtv-backend.conf
Locate the following lines:
script test -f /etc/default/locale && . /etc/default/locale || true LANG=$LANG exec /usr/bin/mythbackend --syslog local7 --user mythtv --daemon end script
Insert the following wait loop between test -f ... and LANG=... lines.
script test -f /etc/default/locale && . /etc/default/locale || true Count=0 IsAwake=0 while [ "$IsAwake" == "0" ] && [ "$Count" -lt 60 ]; do echo "Waiting for HDHomeRun to appear $Count" sleep 1 let Count=$Count+1 IsAwake=`ping -q -c1 192.168.1.100 | grep received | cut -f4 -d' '` done LANG=$LANG exec /usr/bin/mythbackend --syslog local7 --user mythtv --daemon end script
Be sure to use the IP Address for your HDHomeRun in the ping line above.
Save file and exit editor.
2017-03-05 Implemented this proposed solution.
2017-03-11 Unfortunately this solution did not work either. Need to try next proposed solution.
Proposed Solution D: Configure Mythbackend with Upstart Wait Script
Create a script to test for the existence of the HDHomeRun network tuner, and configure mythbackend to use this Upstart pre-start script.
-
Create /usr/bin/mythtv-findhdhr file for Upstart pre-start script.
sudo leafpad /usr/bin/mythtv-findhdhr
Insert the following lines:
----- begin mythtv-findhdhr -----
#!/bin/bash # # Check for presence of HDHomeRun network tuner device # LOGFILE="/var/log/mythtv/mythtv-findhdhr.log" TIMELIMIT=20 echo "`date` : Search for HDHR" > $LOGFILE let "TIMEOUT = `date +%s` + $TIMELIMIT" while true ; do hdhomerun_config discover >> $LOGFILE 2>&1 if [ "$?" -eq 0 ] ; then echo "`date` : HDHR detected - exiting 0" >> $LOGFILE exit 0 fi CURTIME=`date +%s` if [ $CURTIME -gt $TIMEOUT ] ; then echo "`date` : HDHR not detected - exiting 1" >> $LOGFILE break fi sleep 1 done exit 1
----- end mythtv-findhdhr -----
Save file and exit editor.
-
Make the script executable.
sudo chmod 755 /usr/bin/mythtv-findhdhr
-
Add mythtv-findhdhr to /etc/init/mythtv-backend.conf file.
sudo leafpad /etc/init/mythtv-backend.conf
Locate the following lines:
pre-start script [ -x /usr/sbin/mytsqld ] || exit 0
Insert the line
mythtv-findhdhr || true
immediately after thepre-start script
line as shown below:pre-start script mythtv-findhdhr || true [ -x /usr/sbin/mysqld ] || exit 0 for i in `seq 1 30` ; do /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping >/dev/null && exit 0 sleep .5 done end script
Save file and exit editor.
-
The /etc/init/mythtv-backend.conf file (at least for Mythbuntu 14.04.1) should now look like the following:
----- begin /etc/init/mythtv-backend.conf -----
# MythTV Backend service description "MythTV Backend" author "Mario Limonciello <superm1@ubuntu.com>" start on (local-filesystems and net-device-up IFACE!=lo and started udev-finish) stop on runlevel [016] #should die within 5 seconds, but we don't want data loss, so set it to 30 #before we send SIGKILL kill timeout 30 #if we crash, but not quickly respawn respawn limit 2 3600 #because we're daemonizing to avoid logging to upstart log expect fork pre-start script mythtv-findhdhr || true [ -x /usr/sbin/mysqld ] || exit 0 for i in `seq 1 30` ; do /usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping >/dev/null && exit 0 sleep .5 done end script script test -f /etc/default/locale && . /etc/default/locale || true LANG=$LANG exec /usr/bin/mythbackend --syslog local7 --user mythtv --daemon end script
----- end /etc/init/mythtv-backend.conf -----
2017-05-29 Implemented this proposed solution.
2017-06-04 This proposed solution worked reasonably well, but was not foolproof in that we did encounter a situation wherein the HDHomeRun network tuner was not found. A further option which we did not try would be to slowdown MythTV boot up by switching the Operating System drive from an SSD to a HDD. For now we decided to set this PVR to stay powered on using the MythWelcome Lock Shutdown option. This minimizes the power cycles on/off and hence reduces the chance that the HDHomeRun tuner is not found.
2019-01-10 Still need to try proposed solution E.
Proposed Solution E: Add CRON on Reboot Wait Script
Create a script to test for the existence of the HDHomeRun network tuner then restart mythtv backend. Configure root cron to run this script once on each reboot of the computer.
Credit for sharing this proposed solution goes to Scott Catterton (mapsmehere at iCloud dot com). Thank you Scott. :-)
-
Create /usr/bin/mythtv-hdhr-bandaid.sh file for cron reboot script.
sudo leafpad /usr/bin/mythtv-hdhr-bandaid.sh
Insert the following lines:
----- begin mythtv-hdhr-bandaid.sh -----
#!/bin/bash # # Wait for presence of HDHomeRun network tuner device # and when found restart the mythtv backend # WAITFORHDHR=0 while [ "$WAITFORHDHR" = "0" ]; do echo "Waiting for HDHomeRun to respond" sleep 1 hdhomerun_config discover && WAITFORHDHR=1 done if [ "$WAITFORHDHR" != "0" ]; then # Restart MythTV Backend # # For Ubuntu 14.04 (with upstart) use: service mythtv-backend restart # # For GNU/Linux distro (with systemd) try something like: # systemctl restart mythtv-backend fi
----- end mythtv-hdhr-bandaid.sh -----
Save file and exit editor.
-
Make the script executable.
sudo chmod 755 /usr/bin/mythtv-hdhr-bandaid.sh
-
Schedule the script to run under the root user.
sudo crontab -e
Copy and append the following lines:
----- begin root crontab lines -----
# # Wait for HDHomeRun then restart mythbackend @reboot /usr/bin/mythtv-hdhr-bandaid.sh > /dev/null 2>&1
----- end root crontab lines -----
The @reboot syntax in the crontab will schedule the script for execution once on each reboot.
2019-01-10: Note that I have not yet had an opportunity to test this method.
If anyone has discovered a better solution for Mythbuntu 14.04, then please email me at gedakc@users.sf.net
References
While troubleshooting this problem I found the following references useful:
- MythTV: Live TV and recordings not starting [SOLVED]
- hdhomerun doesn't connect on restart when connected directly to the lan port
- SiliconDust USA, Inc. - HDHomeRun PDF
- MythTV Forum: Backend requires restart to recognize hdhomerun tuners
- Upstart mythbackend Configuration
- mythtv-users: Installation instructions for mythbuntu 16.04.1
- Mythbuntu: Bug 182746 - Always have to manually restart mythtv-backend after reboot
- Mythbuntu: Bug 182746 - Comment #16 - Sample wait script
- MythTV.org: Backend requires restart to recognize hdhomerun tuners
- MythTV.org: HDHomeRun HD channel and connect issues
- MythTV.org: Systemd mythbackend Configuration
Appendix: mythbackend.log long snippet
----- begin mythbackend.log long snippet -----
... power-up ...
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: C thread_unknown mythcommandlineparser.cpp:2595 (ConfigureLogging) mythbackend version: fixes/0.27 [v0.27.4-4-gb305eb5] www.mythtv.org
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: C thread_unknown mythcommandlineparser.cpp:2597 (ConfigureLogging) Qt version: compile: 4.8.6, runtime: 4.8.6
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N thread_unknown mythcommandlineparser.cpp:2599 (ConfigureLogging) Enabled verbose msgs: general
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N thread_unknown logging.cpp:907 (logStart) Setting Log Level to LOG_INFO
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I Logger logging.cpp:308 (run) Added logging to the console
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Interrupt handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Terminated handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Segmentation fault handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Aborted handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Bus error handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Floating point exception handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Illegal instruction handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I thread_unknown signalhandling.cpp:194 (SetHandlerPrivate) Setup Real-time signal 0 handler
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N thread_unknown mythdirs.cpp:55 (InitializeMythDirs) Using runtime prefix = /usr
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N thread_unknown mythdirs.cpp:68 (InitializeMythDirs) Using configuration directory = /home/mythtv/.mythtv
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I CoreContext mythcorecontext.cpp:257 (Init) Assumed character encoding: en_CA.UTF-8
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N CoreContext mythcontext.cpp:504 (LoadDatabaseSettings) Empty LocalHostName.
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I CoreContext mythcontext.cpp:512 (LoadDatabaseSettings) Using localhost value of mythpvr
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N CoreContext mythcorecontext.cpp:1634 (InitLocale) Setting QT default locale to EN_US
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I CoreContext mythcorecontext.cpp:1667 (SaveLocaleDefaults) Current locale EN_US
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N CoreContext mythlocale.cpp:121 (LoadDefaultsFromXML) Reading locale defaults from /usr/share/mythtv//locales/en_us.xml
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I CoreContext schemawizard.cpp:118 (Compare) Current MythTV Schema Version (DBSchemaVer): 1317
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I CoreContext mythtranslation.cpp:65 (load) Loading en_us translation for module mythfrontend
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: N CoreContext main_helpers.cpp:582 (run_backend) MythBackend: Starting up as the master server.
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I LogForward loggingserver.cpp:1373 (forwardMessage) New Client: (#1)
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: I LogForward loggingserver.cpp:295 (SyslogLogger) Added syslogging
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/hdhrstreamhandler.cpp:337 (Connect) HDHRSH(10416512-0): Unable to connect to device
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[1](10416512-0): SetChannelByString(3_1): Failed to initialize multiplex options
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:14:25 mythpvr mythbackend: mythbackend[1739]: E CoreContext recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[2](10416512-0): SetChannelByString(3_1): Failed to initialize multiplex options
... snip ...
Jan 18 20:57:59 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2139 (HandleReschedule) Reschedule requested for PLACE PrepareToRecord
Jan 18 20:57:59 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2252 (HandleReschedule) Scheduled 27 items in 0.0 = 0.00 match + 0.00 check + 0.01 place
Jan 18 20:58:30 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1567 (HandlePendingRecordings) TVRec[2]: ASK_RECORDING 2 29 0 0
Jan 18 20:58:30 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1567 (HandlePendingRecordings) TVRec[1]: ASK_RECORDING 1 29 0 0
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1050 (HandleStateChange) TVRec[1]: Changing from None to RecordingOnly
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:3603 (TuningCheckForHWChange) TVRec[1]: HW Tuner: 1->1
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[1](10416512-0): SetChannelByString(5_1): Failed to initialize multiplex options
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent tv_rec.cpp:3793 (TuningFrequency) TVRec[1]: Failed to set channel to 5_1. Reverting to kState_None
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1050 (HandleStateChange) TVRec[1]: Changing from RecordingOnly to None
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I CoreContext scheduler.cpp:704 (UpdateRecStatus) Updating status for "Jekyll and Hyde":"Mr. Hyde" on cardid 1 (Will Record => Recorder Failed)
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: N Scheduler autoexpire.cpp:264 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2689 (HandleRecordingStatusChange) Tuning recording: "Jekyll and Hyde":"Mr. Hyde": channel 2051 on cardid 1, sourceid 2
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2139 (HandleReschedule) Reschedule requested for CHECK -9 47 0 UpdateRecStatus2 | Jekyll and Hyde | Mr. Hyde | After his first transformation, Robert is determined to find the truth behind his inheritance; Garson reveals secrets to Hyde. | EP023297050002
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E Scheduler recordinginfo.cpp:928 (InsertProgram) RecordingInfo::InsertProgram(ProgramInfo(2051_20160119035900.mpg): channame(CBXT-DT) startts(Tue Jan 19 04:00:00 2016) endts(Tue Jan 19 05:00:00 2016)#012 recstartts(Tue Jan 19 03:59:00 2016) recendts(Tue Jan 19 05:01:00 2016)#012 title(Jekyll and Hyde)): recording already exists...
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1050 (HandleStateChange) TVRec[1]: Changing from None to RecordingOnly
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:3603 (TuningCheckForHWChange) TVRec[1]: HW Tuner: 1->1
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent dtvmultiplex.cpp:327 (ParseTuningParams) DTVMux: ParseTuningParams -- Unknown tuner type = 0xffffffff80000000
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent recorders/dtvchannel.cpp:319 (SetChannelByString) DTVChan[1](10416512-0): SetChannelByString(5_1): Failed to initialize multiplex options
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E TVRecEvent tv_rec.cpp:3793 (TuningFrequency) TVRec[1]: Failed to set channel to 5_1. Reverting to kState_None
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I TVRecEvent tv_rec.cpp:1050 (HandleStateChange) TVRec[1]: Changing from RecordingOnly to None
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I CoreContext scheduler.cpp:704 (UpdateRecStatus) Updating status for "Jekyll and Hyde":"Mr. Hyde" on cardid 1 (Tuning => Recorder Failed)
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: E Scheduler scheduler.cpp:766 (ChangeRecordingEnd) Failed to change end time on card 1 to 2016-01-19T05:01:00Z
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2243 (HandleReschedule) Reschedule interrupted, will retry
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2139 (HandleReschedule) Reschedule requested for CHECK -9 47 0 UpdateRecStatus2 | Jekyll and Hyde | Mr. Hyde | After his first transformation, Robert is determined to find the truth behind his inheritance; Garson reveals secrets to Hyde. | EP023297050002
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2139 (HandleReschedule) Reschedule requested for PLACE Interrupted
Jan 18 20:59:00 mythpvr mythbackend: mythbackend[1739]: I Scheduler scheduler.cpp:2252 (HandleReschedule) Scheduled 27 items in 0.0 = 0.00 match + 0.00 check + 0.01 place
Jan 18 20:59:35 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035900.mpg): GetPlaybackURL: '2051_20160119035900.mpg' should be local, but it can not be found.
Jan 18 20:59:35 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035900.mpg): GetPlaybackURL: '2051_20160119035900.mpg' should be local, but it can not be found.
Jan 18 20:59:35 mythpvr mythbackend: mythbackend[1739]: I Metadata_525 jobqueue.cpp:2156 (DoMetadataLookupThread) JobQueue: Metadata Lookup Starting for "Jekyll and Hyde":"Mr. Hyde" recorded from channel 2051 at 2016-01-19T03:59:00Z
Jan 18 20:59:37 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Playback
Jan 18 20:59:37 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 0)
Jan 18 20:59:37 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Monitor
Jan 18 20:59:37 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 1)
Jan 18 20:59:40 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035901.mpg): GetPlaybackURL: '2051_20160119035901.mpg' should be local, but it can not be found.
Jan 18 20:59:40 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035901.mpg): GetPlaybackURL: '2051_20160119035901.mpg' should be local, but it can not be found.
Jan 18 20:59:40 mythpvr mythbackend: mythbackend[1739]: I Metadata_527 jobqueue.cpp:2156 (DoMetadataLookupThread) JobQueue: Metadata Lookup Starting for "Jekyll and Hyde":"Mr. Hyde" recorded from channel 2051 at 2016-01-19T03:59:01Z
Jan 18 20:59:41 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Playback
Jan 18 20:59:41 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 0)
Jan 18 20:59:41 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Monitor
Jan 18 20:59:41 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 1)
Jan 18 21:00:19 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Playback
Jan 18 21:00:19 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 0)
Jan 18 21:00:19 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1561 (HandleAnnounce) MainServer::HandleAnnounce FileTransfer
Jan 18 21:00:19 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1563 (HandleAnnounce) adding: mythpvr as a remote file transfer
Jan 18 21:00:19 mythpvr mythbackend: mythbackend[1739]: W ProcessRequest ringbuffer.cpp:658 (Start) RingBuf(/var/lib/mythtv/coverart//ttvdb.py_297135_coverart.jpg): Not starting read ahead thread, this is a write only RingBuffer
Jan 18 21:00:21 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Playback
Jan 18 21:00:21 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 0)
Jan 18 21:00:21 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1561 (HandleAnnounce) MainServer::HandleAnnounce FileTransfer
Jan 18 21:00:21 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1563 (HandleAnnounce) adding: mythpvr as a remote file transfer
Jan 18 21:00:21 mythpvr mythbackend: mythbackend[1739]: W ProcessRequest ringbuffer.cpp:658 (Start) RingBuf(/var/lib/mythtv/fanart//ttvdb.py_297135_fanart.jpg): Not starting read ahead thread, this is a write only RingBuffer
Jan 18 21:00:23 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1443 (HandleAnnounce) MainServer::ANN Playback
Jan 18 21:00:23 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1445 (HandleAnnounce) adding: mythpvr as a client (events: 0)
Jan 18 21:00:23 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1561 (HandleAnnounce) MainServer::HandleAnnounce FileTransfer
Jan 18 21:00:23 mythpvr mythbackend: mythbackend[1739]: I ProcessRequest mainserver.cpp:1563 (HandleAnnounce) adding: mythpvr as a remote file transfer
Jan 18 21:00:23 mythpvr mythbackend: mythbackend[1739]: W ProcessRequest ringbuffer.cpp:658 (Start) RingBuf(/var/lib/mythtv/banners//ttvdb.py_297135_banner.jpg): Not starting read ahead thread, this is a write only RingBuffer
Jan 18 21:00:46 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035900.mpg): GetPlaybackURL: '2051_20160119035900.mpg' should be local, but it can not be found.
Jan 18 21:00:46 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035900.mpg): GetPlaybackURL: '2051_20160119035900.mpg' should be local, but it can not be found.
Jan 18 21:00:46 mythpvr mythbackend: mythbackend[1739]: I Commflag_526 jobqueue.cpp:2281 (DoFlagCommercialsThread) JobQueue: Commercial Detection Starting for "Jekyll and Hyde":"Mr. Hyde" recorded from channel 2051 at 2016-01-19T03:59:00Z
Jan 18 21:00:46 mythpvr mythbackend: mythbackend[1739]: E Commflag_526 programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035900.mpg): GetPlaybackURL: '2051_20160119035900.mpg' should be local, but it can not be found.
Jan 18 21:00:51 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035901.mpg): GetPlaybackURL: '2051_20160119035901.mpg' should be local, but it can not be found.
Jan 18 21:00:51 mythpvr mythbackend: mythbackend[1739]: E JobQueue programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035901.mpg): GetPlaybackURL: '2051_20160119035901.mpg' should be local, but it can not be found.
Jan 18 21:00:51 mythpvr mythbackend: mythbackend[1739]: I Commflag_528 jobqueue.cpp:2281 (DoFlagCommercialsThread) JobQueue: Commercial Detection Starting for "Jekyll and Hyde":"Mr. Hyde" recorded from channel 2051 at 2016-01-19T03:59:01Z
Jan 18 21:00:51 mythpvr mythbackend: mythbackend[1739]: E Commflag_528 programinfo.cpp:2358 (GetPlaybackURL) ProgramInfo(2051_20160119035901.mpg): GetPlaybackURL: '2051_20160119035901.mpg' should be local, but it can not be found.
Jan 18 21:01:44 mythpvr mythbackend: mythbackend[1739]: N Expire autoexpire.cpp:264 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
Jan 18 21:16:44 mythpvr mythbackend: mythbackend[1739]: N Expire autoexpire.cpp:264 (CalcParams) AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
...
----- end mythbackend.log long snippet -----
![The Medusa Deception novel - free first in series](images/medusa-deception-promo.jpg)