SOLVED: Quad HDHR single tuner freezing.

Have a MythTV related problem? Ask for help from other MythTV users here.

Moderator: Forum Moderators

User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Quad HDHR single tuner freezing.

Post by kmdewaal »

Hi Phil,

Thanks for the swamp! I will test it.
My myth setup shows 530
It is correct that it shows that, this is the value from the database which is 530000000.
Is there any point also fixing QAM settings?
No, the HDHomeRun tuning does not use it. The /dev/dvb/*/* tuners may use it, but they can also fill the value in the database sometimes (IIRC).

Can you please make a full scan again with mythtv-setup and save the results in a log file?
I would like to check if mythtv-setup can determine the correct offset or if this is a bug. This is rather difficult to test here in Holland as the signal here does not use offsets.
This command gives all the debug info that I need:

Code: Select all

mythtv-setup -v general,channel,chanscan,record,siparser --loglevel=debug 2>&1 | tee ms-20230220-crystal-palace-full-scan.log
Please check that you have "United Kingdom" selected as country in the full scan.
I could not fully retrieve the previous log file sent via Pastebin, maybe wetransfer or a gmail link would work better.

Thanks,
Klaas.
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Hi Klaas,

This site has a spreadsheet which confirms the -0.167 MHz offsets for those two multiplexes.

https://www.ofcom.org.uk/spectrum/infor ... -frequency

I have done that scan - the tee file was created but was empty, though I have grepped /var/log/mythtv/mythtv-setup.log to get the trace.
That Wetransfer site seems to require an email address for the recipient - is that right?

However, is this what you are looking for?

Code: Select all

Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 482000000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 529833000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 586000000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 714000000
Feb 20 11:52:37   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 490000000
Feb 20 11:52:37   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 514000000
Feb 20 11:52:37   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 506000000
Feb 20 11:52:38   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 490000000
Feb 20 11:52:38   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 514000000
Feb 20 11:52:38   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 506000000

Code: Select all

Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (22688) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (22656) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 482000000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       BW=8MHz C=qam_64 HP=3/4 LP=1/2 GI=1/32 TransMode=8k
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TargetRegionDescriptor (0x7f 0x09) length(5)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       country_code(GBR)  Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  09 47 42 52 f8                                    |.GBR.|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     Private Data Specifier Descriptor tag(0x5f) length(4) Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  00 00 23 3a                                       |..#:|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     UKChannelListDescriptor sid->chan_num: 22592->723, 22208->36, 24448->45, 24500->697, 22080->233, 23040->43, 22400->673,
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       23712->17, 22624->730, 23744->40, 22226->48, 22272->19, 22848->731, 22880->732, 23808->70, 22464->47, 23152->75,
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       22912->733, 23872->74, 22368->31, 22528->49, 23328->85, 22144->11, 22336->60, 24192->790, 22688->724, 22656->728
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport # 1 TSID(0x6040) original_network_id(0x233a) desc_len(261)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport descriptors length: 261
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     ServiceListDescriptor: 33 Services
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (25792) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (25920) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26368) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26560) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26240) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27904) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27584) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28160) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28288) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28096) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27680) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28000) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28256) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27424) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26176) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26304) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26624) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27040) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (26752) Type (Radio) (0x02)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28520) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28224) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27200) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27712) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27968) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27872) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27360) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27840) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27648) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27936) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (28032) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27232) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27328) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (27808) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 529833000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       BW=8MHz C=qam_64 HP=3/4 LP=1/2 GI=1/32 TransMode=8k
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TargetRegionDescriptor (0x7f 0x09) length(5)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       country_code(GBR)  Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  09 47 42 52 f8                                    |.GBR.|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     Private Data Specifier Descriptor tag(0x5f) length(4) Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  00 00 23 3a                                       |..#:|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     UKChannelListDescriptor sid->chan_num: 25792->27, 28288->37, 27584->699, 26624->715, 28096->25, 26560->711, 28000->44,
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       26176->713, 28224->82, 26304->717, 28160->725, 26752->714, 27680->39, 28520->698, 27904->674, 25920->51, 26368->718,
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       27424->206, 27040->712, 28256->38, 26240->716, 27200->72, 27712->235, 27968->84, 27872->34, 27360->236, 27840->73,
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       27648->678, 27936->65, 28032->77, 27232->79, 27328->12, 27808->92
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport # 2 TSID(0x800a) original_network_id(0x233a) desc_len(76)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport descriptors length: 76
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     ServiceListDescriptor: 6 Services
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (32842) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33472) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33664) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33984) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (34048) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (34112) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 586000000
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       BW=8MHz C=qpsk HP=3/4 LP=1/2 GI=1/32 TransMode=8k
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TargetRegionDescriptor (0x7f 0x09) length(9)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       country_code(GBR)  Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  09 47 42 52 fb 01 12 00  01                       |.GBR.....|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     Private Data Specifier Descriptor tag(0x5f) length(4) Dumping
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       000  00 00 23 3a                                       |..#:|
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     UKChannelListDescriptor sid->chan_num: 33472->207, 33664->61, 32842->8, 33984->50, 34048->52, 34112->68
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport # 3 TSID(0x801f) original_network_id(0x233a) desc_len(76)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)   Transport descriptors length: 76
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     ServiceListDescriptor: 6 Services
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (32863) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33472) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33664) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (33984) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (34048) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)       Service (34112) Type (TV) (0x01)
Feb 20 11:52:32   : D HDHRStreamHandler channelscan/channelscan_sm.cpp:375 (LogLines)     TerrestrialDeliverySystemDescriptor tag(0x5a) length(11) Frequency: 714000000
I have yet to change frequencies in backend setup. Thanks for your persistence with this!
Phil
User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Quad HDHR single tuner freezing.

Post by kmdewaal »

Hi Phil,

The "swamp" works great, also the tidying-up. Looks like a one minute recording is automatically extended to last 5 minutes, but 5 minutes is also the minimum recording length when creating a manual recording with the GUI. This is maybe not a coincidence,
As it happens, making all the swamp recordings does work OK here on my cable HDHomeRun. I do also have a DVB-T2 HDHomeRun but the available free-to-air channels are all in one multiplex. Which is in itself great but not for this kind of testing....

About the log output of mythtv-setup, it could be that you are using Ubuntu and then mythtv-setup is a script that calls the real mythtv-setup which has been renamed to mythtv-setup.real or so I have been told. This does explain why there is nothing in the output file with the command given.
So yes, please do the scan again but then with mythtv-setup.real.
I think that using pastebin will also work, I now found the "raw" button which does improve the readability. A direct email to me would also work.
I am thinking about making the channel scan find the correct frequency and for that either the information in the descriptors in the NIT table could be used but also it may be possible to figure out for which offset the reception is optimal. To figure this out the scan output is useful I think.

The link to ofcom that you posted mentions that the "700MHz clearance" has now been completed so that means that we can skip scanning channels above the 700MHz (channel 48). Is that correct?

Thanks,
Klaas.
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Hi Klaas,


Swamp
-----
I have added a list of multiplexes to swamp --listchannels and will update the wiki:

Code: Select all

  Mpx    Frequency   FreqId  Channel count
   1     482000000     22       20
   2     490000000     23       26
   3     506000000     25       21
   4     514000000     26       13
   5     530000000     28       23
   6     546000000     30       11
   7     586000000     35        5

Can you confirm that it's working with v33 - and do you have more than one source?

Backend Setup
-------------
I'm not sure how to tell a channel scan to stop after multiplex 35. Nor how to set UK.
I have the log you have requested but at 2.7MB it's too big for pastebin. I have pm'd you my email address.

Failures
--------
the channels I have tested with are:

10002 = Mpx:2 BBC TWO
10027 = Mpx:5 Yesterday
10047 = Mpx:1 Film4+1 <- the channel which fails easily during testing

Multiplex 5 is the one with the missing offset.

If I alternate recordings:

yesterday <-> Film4+1 then Film4+1 fails frequently
yesterday <-> BBC2 seems fine:
BBC2 <-> Film4+1 also seems fine

Unfortunately, yesterday <-> Film4+1 still fails intermittently even with the frequency changed:

Code: Select all

 Mpx    Frequency   FreqId  Channel count
   1     482000000     22       20
   2     490000000     23       26
   3     506000000     25       21
   4     514000000     26       13
   5     529833000     28       23   <--
   6     546000000     30       11
   7     586000000     35        5


Recording times:
----------------
The pre and post roll timing is very odd:

/Guide/GetProgramList?StartTime=2023-02-22T02:55:00Z&ChanId=10002&Details=true says this:

Code: Select all

<Title>Putin vs the West</Title>

<StartTime>2023-02-22T02:50:00Z</StartTime>
  <StartTs>2023-02-22T02:50:00Z</StartTs>

<EndTime>2023-02-22T03:50:00Z</EndTime>
  <EndTs>2023-02-22T03:50:00Z</EndTs>

/Dvr/GetRecordedList says this:

Code: Select all

<Title>Putin vs the West</Title>
<StartTime>2023-02-22T02:50:00Z</StartTime>
  <StartTs>2023-02-22T02:46:00Z</StartTs>
  
<EndTime>2023-02-22T03:50:00Z</EndTime>
  <EndTs>2023-02-22T03:55:00Z</EndTs>

The log says this:

Code: Select all

Feb 22 02:46:00 myth2 mythbackend: mythbackend[156374]: I Scheduler scheduler.cpp:2899 (HandleRecordingStatusChange) Tuning recording: "Putin vs the West": channel 10002 on cardid [11], sourceid 1
Feb 22 02:46:02 myth2 mythbackend: mythbackend[156374]: I CoreContext scheduler.cpp:717 (UpdateRecStatus) Updating status for "Putin vs the West" on cardid [11] (Tuning => Recording)
Feb 22 03:55:01 myth2 mythbackend: mythbackend[156374]: I TVRecEvent recordinginfo.cpp:1251 (FinishedRecording) Finished recording Putin vs the West: channel 10002
Feb 22 03:55:01 myth2 mythbackend: mythbackend[156374]: I CoreContext scheduler.cpp:717 (UpdateRecStatus) Updating status for "Putin vs the West" on cardid [11] (Recording => Recorded)
Feb 22 03:55:01 myth2 mythbackend: mythbackend[156374]: I Scheduler scheduler.cpp:2330 (HandleReschedule) Reschedule requested for CHECK -3 5887 0 UpdateRecStatus2 | Putin vs the West |  | When Putin first invades Crimea in 2014, the west is divided. Starting with demonstrations in Kyiv, this is the story of the fraught phone calls and summits that followed. | fp.bbc.co.uk/1p/5yz2ty
Recording rules say 2 mins pre and 2 mins post roll but it is doing 4 mins pre and 5 minutes post.
The 'upcoming recordings' screen implies pre-roll 2 minutes before starttime until it is 4 minutes before when it changes to 4.

I am not sure whether your recent work with the pre-record event will have changed this.

This means that my test recordings have all started at the same time as the previous one ends, but increasing delays to put a real
gap in do not change the situation.

Phil
User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Quad HDHR single tuner freezing.

Post by kmdewaal »

Hi Phil,

The log does show that you have used country code "gb" with scanning. This is good. This value determines the frequency range that is scanned and it also determines if only the specified frequency is scanned or that it also tries to scan with offsets of +167kHz and -167kHz. The UK uses offsets, as found for two frequencies, but e.g. the Netherlands does not. When, for a given channel, there is a lock then mythtv-setup is done with that channel. Only if there is no lock then the frequency with the plus offset is used and if that also does not lock then the frequency with the minus offset is tried. What now happens is that for channels with an offset the HDHomeRun already locks on the frequency without the offset. This happens for both the 530MHz and the 546MHz. The only difference is that for the two channels with a frequency offset the HDHomeRun locks in about 500ms; for the five channels without a frequency offset the lock takes about 300ms.
In principle, I could change mythtv-setup so that it also tries the offset frequencies and then determine which frequency is best, e.g. on locking time or on signal strength. Another way is to use the frequency value in the TerrestrialDeliverySystemDescriptor and that is present for the DVB-T channels but not for the DVB-T2 channel. This is not in the DVB standards or so, there is considerable freedom in composing a TV signal and this is apparently just how Crystal Palace does it. I have to think about this for a while.

Anyway, I understand that using the exact frequency, so including the offset, does not solve the problem.

About testing with the "swamp". I made 400 recordings, two sets of four TV channels, each on a different multiplex, on the DVB-C HDHomeRun.
The four recordings start at the same time, they last 5 minutes and then a pause of 1 minute until the next set of recordings start.
And.. all recordings are good. So the hypothesis that there is something going wrong because four recordings start at the same time is not supported by this.

About the recording times.
When I specify a recording of 1 minute then I get a recording, according to the mythtv-setup GUI, that starts 2 minutes early and stops 2 minutes late. Which gives indeed a total of 5 minutes.
I use the following set of timings:

Code: Select all

my $stagger=0;       #gap between start of recordings within a batch (in seconds)
my $preroll=0;       #in mins
my $postroll=4;      #in mins
my $reclength=1;     #length of recording in mins
my $gap=1;           #gap after postroll before next preroll in minutes
This then gives recordings of 5 minutes with a pause of 1 minute between recordings.

Why the two minutes early start and two minutes late stop are added I do not know but this is something that is relatively easy to find. To be investigated at some point but parked for now.
Additional recording time extensions can be specified globally, to be applied to all recordings when possible. This is usually referred to as preroll and postroll. It is configured with mythfrontend, page Setup / Video / General / General (Advanced) and then the settings "Time to Record Before Start of Show (secs)" and "Time to Record Past End of Show (secs)". It might be a good idea to check these values; I have set the values to 0 before doing the swamp tests.

About video sources and channel selection in "swamp".
On my desktop test system I have 8 video sources with in total 1800 channels and this makes it a bit cumbersome to get the channels to test.
It would be helpful if the "--listchannels" option also has a "--videosource" option so that only the channels of that video source are shown.

The swamp tests do uncover another bug in MythTV, this time in the frontend in the "Upcoming Recordings" page. This page can easily show 8 recordings being in progress while the "Watch Recordings" screen just shows four (which is the correct number of course).
I also found that mythfrontend can crash in the "Upcoming Recordings" page when there are that many recordings scheduled and when scrolling up and down. Crashes should never happen so this is something that needs to be fixed.

One thing that has not yet been tested is the fix in the tuning code that is now in master. This is the code that generates "t8dvbt:530000000" tuning commands instead of "auto:530000000" and there is a minor chance that might make a difference.
You can try this by installing master from the mythbuntu ppa or so I understand.

Altogether we do now have the "swamp" stress testing utility, small fixes in MythTV and a few more things to fix.
Unfortunately I do not have the feeling that we are getting closer to solving the tuning problem.....

Klaas.
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Hi Klaas,

Yes - an interesting journey!

I'll have a look at swamp to both list the sources and to filter them but testing will be limited it as I only have one source.

I am trying to load the Silicon Dust utilities to see whether I can reproduce the fault with their software but I'm having problems installing both the windows 10 and Linux versions. I've sent an email to HDHR support.

It's odd - the multiplex 5 with the -167KHz offset which we are most suspicious of ALWAYS tunes in successfully but it poisons tuning for the following recording. It ALWAYS (I think) poisons multiplex 1 but poisoning other multiplexes is rare. Is the problem at end of recording?

Code: Select all

Mpx    Frequency   FreqId  Channel count
   1     482000000     22       20
   5     529833000     28       23
   
Simultaneous recordings are not required to break it, and it seems independent of timing, even if there a few issues there.

If I load myth v33 from the MCP will it pick up your modified version? I'll try it on my laptop first - it's also i3, 4GB but no SSD.

Regards
Phil
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Klaas
I have put up a new version of swamp which lists and filters source.
Phil
User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Quad HDHR single tuner freezing.

Post by kmdewaal »

Hi Phil,

I've done a test drive with your latest but I do get a lot of error messages like this:

Code: Select all

Argument "" isn't numeric in printf at ./swamp2.pl line 260.
Argument "" isn't numeric in printf at ./swamp2.pl line 260.
Argument "" isn't numeric in printf at ./swamp2.pl line 260.
Use of uninitialized value in printf at ./swamp2.pl line 260.
Use of uninitialized value in printf at ./swamp2.pl line 260.
Use of uninitialized value in printf at ./swamp2.pl line 260.
Wide character in print at ./swamp2.pl line 253.
Wide character in print at ./swamp2.pl line 253.
Wide character in print at ./swamp2.pl line 253.
There is also correct output, like:

Code: Select all

453551 = Mpx:1241  Src:40  ARISEPlay
453555 = Mpx:1241  Src:40  53555
454103 = Mpx:1240  Src:40  High Street TV 4
454106 = Mpx:1240  Src:40  Direct Store TV
454112 = Mpx:1240  Src:40  Best Direct
454125 = Mpx:1240  Src:40  Travelxp
Scanning satellites can give lots of malformed channel entries and that is probably a reason for the error messages, but a bit of input validation would be a good idea.
If I load myth v33 from the MCP will it pick up your modified version? I'll try it on my laptop first - it's also i3, 4GB but no SSD
.
No, the fix for the tuning command is only present in master. There should be also a ppa for that.

The narrowing down of the problem is interesting. I now understand it as follows:
- First tuning one channel on mpx 5 / 530MHz (excluding offset of -167kHz); this can be any channel on that multiplex
- This goes OK
- Then tuning one channel on mpx 1 / 482MHz; this can be any channel on that multiplex
- Now tuning fails
- Now the HDHomeRun is locked and needs a power cycle to recover.
- Restarting mythbackend does not make a difference.
Is my understanding correct?

About gettting the HDHomeRun utilities. This can be done as follows.
- Go to the Silicon Dust website https://www.silicondust.com/support/linux/
- Download libhdhomerun.tgz and hdhomerun_config_gui.tgz
- Extract libhdhomerun.tgz for example in directory try
- cd try/libhdhomerun
- ./configure
- make
And now there is a hdhomerun_config generated.
Similar for hdhomerun_config_gui.
It could be that you need to install some dependencies; this is indicated by the configure script.
It could also be that you can just download the hdhomerun utilities from the repositories.

Groetjes,
Klaas.
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Hi Klaas,
sorry to hear about swamp. Will look at it tomorrow.
The narrowing down of the problem is interesting. I now understand it as follows:
- First tuning one channel on mpx 5 / 530MHz (excluding offset of -167kHz); this can be any channel on that multiplex
- This goes OK
- Then tuning one channel on mpx 1 / 482MHz; this can be any channel on that multiplex
- Now tuning fails
- Now the HDHomeRun is locked and needs a power cycle to recover.
- Restarting mythbackend does not make a difference.
No, not quite.
I originally had two problems - a) occasional failures and b) occasional failures which locked up the tuner requiring reboot or power cycling.
I have not had a tuner lockup in months now - possibly because I am doing backend restarts and I have an override file which does a HDHR reboot.

With swamp if do a run of (say) 30 recordings:

any program on mpx 5 (530)
any program on mpx1 (482)
repeat
then all the mpx5 work, Usually EVERY mpx1 fails, sometimes about one in 4.

If I do
any program on mpx 5 (530)
any program on mpx2
repeat
It seems failure free. That multiplex 2 is the main BBC one and I'll get failures every few weeks in service but it does not break readily with swamp.

It looks as if using Mpx3 (530) poisons it for mpx1 (482). Hence me trying to get the HDHR utility going.

Phil
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Hi Klaas,
Re: the swamp failure. The line numbering may have been put out by the user parameters at the start of the program but the problem may be non numeric channel or multiplex numbers.
I have emailed you a test version to check that.
Phil
User avatar
paulh
Developer
Posts: 909
Joined: Thu Feb 06, 2014 6:09 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by paulh »

Ubuntu may have a package for the HDHomerun config utility

hdhomerun-config - Configuration utility for Silicon Dust HD HomeRun
hdhomerun-config-gui - GUI Configuration utility for Silicon Dust HD HomeRun

For master you would need to add this PPA (but bear in mind if you want to go back to v33 later it can be a little tricky)
https://launchpad.net/~mythbuntu/+archive/ubuntu/34
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Thanks Paul.
I was looking for a viewing program - I have myth failing consistently if I alternate between two particular multiplexes. My next steps were:
a) see whether I could reproduce the failures with Silicon Dust viewing software. If so it's not a myth problem.
b) load master kindly modified by Klaas
My intention is to install it on a laptop which only has a frontend currently loaded. - certainly not the 'live' system in the sitting room!
Thanks for the link.
Meanwhile, I'm working with Klaas in making that 'swamp' program a little more house-trained.
Phil
User avatar
paulh
Developer
Posts: 909
Joined: Thu Feb 06, 2014 6:09 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by paulh »

On my HDHomeRun Connect Quatro I can use it's web interface to find the URL of a particular channel and then use any player like vlc or ffplay to test it.

For example my HDHR is on 192.168.1.112 so this will show the channel list
http://192.168.1.112/lineup.html

The channel numbers point to links to the URL you need to play the channel so for BBC1 HD I use
vlc http://192.168.1.112:5004/auto/v101

EDIT You can also get the same info in json, xml or m3u format which may be more useful
http://192.168.1.112/lineup.json
PhilB
Senior
Posts: 403
Joined: Sun May 11, 2014 6:23 pm
Great Britain

Re: Quad HDHR single tuner freezing.

Post by PhilB »

Thanks Paul. Useful information.
Phil
User avatar
kmdewaal
Developer
Posts: 644
Joined: Wed Dec 07, 2016 8:01 pm
Netherlands

Re: Quad HDHR single tuner freezing.

Post by kmdewaal »

A few more thoughts....

(1) If the HDHomeRun does fail because of something in the Crystal Palace multiplex 1 and/or multiplex 5 then it could just fail also when using the channel list provided by the HDHomeRun and vlc for the actual recording.

(2) There is still a chance that EIT on tuner 1 may be of influence
The test can be moved to tuner 2 as follows:
- Create a single long manual recording; this will then run on tuner 1. This must then be on a multiplex other than 1 or 5.
- Then create the swamp with short recordings on the failing multiplexes (multiplex 1 and multiplex 5 as written here).
If it now works OK then EIT, especially switching from EIT active scan to an actual recording and vice versa, is suspect.

(3) Of course EIT can also be disabled completely.

(4) Try another HDHomeRun
Possibilities are borrowing one from another enthusiast living nearby or actually buying another one just for testing....
Additional advantage of getting an extra tuner and keeping the old one is that you have never a tuning conflict anymore as you then have more tuners than mulitplexes....

Klaas.
Post Reply