Opened 14 years ago

Closed 11 years ago

Last modified 4 years ago

#7486 closed Patch - Bug Fix (fixed)

DVB-C: add support for network_id override (was: Channelscanner misses some transponder)

Reported by: buehlmann@… Owned by: Stuart Auchterlonie
Priority: major Milestone: 0.27
Component: MythTV - Channel Scanner Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I'm using the 0.22-fixes branche in a dvb-c system.

If I do a tuned full-scan, the scanner misses all channels of some transponders. If I explicity scan one of the missed transponders, all channels are found but some other transponders get missed. I don't think it's a signal problem as it always misses the same transponders.

There is another issue with the channel scanner. Not sure if this belongs into a separate ticket: If I start the channel scan a second time without restarting mythtv-setup, it gets lots of conflicting channels and asks me to asign numbers to them. This does not happen if I restart mythtv-setup after every scan.

Tell me if you need additional information for this?

Attachments (5)

output.log.gz (240.2 KB) - added by Christian Güdel <cg@…> 14 years ago.
mythtv_fix_broken_providers_with_gui.diff (7.9 KB) - added by Christian Güdel <cg@…> 14 years ago.
Updated patch that will not destroy your database schema
mythtv_fix_broken_providers_with_gui1.diff (6.3 KB) - added by Dibblah 14 years ago.
Just the above patch with the now-committed to trunk schema change removed.
mythtv_fix_broken_providers_with_gui.2.diff (6.9 KB) - added by cg@… 13 years ago.
Updated patch for current fixes/0.24
mythtv_fix_broken_providers_with_gui.3.diff (6.9 KB) - added by klaas.de.waal@… 13 years ago.
Updated patch for master/0.25 by changing VERBOSE to LOG in channelscan_sm.cpp line 205

Download all attachments as: .zip

Change History (52)

Changed 14 years ago by Christian Güdel <cg@…>

Attachment: output.log.gz added

comment:1 Changed 14 years ago by Christian Güdel <cg@…>

I have the same problem and attached a log from 'mythtv-setup -v channelscan'. MythTV does find all transports but it seems to search for channels only on the first twelve that were found in the first part of the NIT.

comment:2 Changed 14 years ago by Christian Güdel <cg@…>

The following patch fixes this issue for me. The patch allows the setting of the NIT-ID from the GUI. The setting is available from the videosource settings page.

Changed 14 years ago by Christian Güdel <cg@…>

Updated patch that will not destroy your database schema

comment:3 Changed 14 years ago by Stuart Auchterlonie

Cc: Stuart Auchterlonie added

comment:4 Changed 14 years ago by Stuart Auchterlonie

Milestone: unknown0.23
Owner: changed from danielk to Stuart Auchterlonie
Status: newassigned
Version: unknownhead

We should be able to get something like this in for 0.23

Stuart

comment:5 Changed 14 years ago by Stuart Auchterlonie

(In [23364]) Refs #7486. Schema change to allow us to better support broken providers.

Changed 14 years ago by Dibblah

Just the above patch with the now-committed to trunk schema change removed.

comment:6 Changed 14 years ago by Dibblah

Added a version of the above patch without the schema change. This is integrated into the GUI and still seems to function. I'm not however sure if this should be done in different classes.

comment:7 Changed 14 years ago by Stuart Auchterlonie

Milestone: 0.230.24
Status: assignedstarted

Bumping this one to 0.24 as we have frozen 0.23 for new strings for translations. As this patch adds a new translatable string it needs bumping.

comment:8 Changed 14 years ago by anonymous

For reference, this is a duplicate of bug: #3640

comment:9 Changed 14 years ago by stuartm

Owner: changed from Stuart Auchterlonie to stuartm
Status: startedaccepted

comment:10 Changed 14 years ago by stuartm

Cc: Stuart Auchterlonie removed
Owner: changed from stuartm to Stuart Auchterlonie
Status: acceptedassigned

The attached patch does not seem to work. Scanning here I get two multiplexes inserted for every freq, one with the correct networkid and one without any networkid, none with the networkid I specified.

comment:11 in reply to:  10 Changed 14 years ago by p-we

Replying to stuartm:

The attached patch does not seem to work. Scanning here I get two multiplexes inserted for every freq, one with the correct networkid and one without any networkid, none with the networkid I specified.

For whats it's worth. I applied the 2nd patch to my 0.23 branches and it works perfect voor DVB-C from Ziggo The Netherlands

comment:12 Changed 13 years ago by anonymous

I've applied the patch to mythbuntu 10.10. Besides one single line in dvbstreamdata.h the patch does still apply without other problems. This line could easy be added manually. The patched mythbuntu backend does find all channels without any problems in the Cablecom network in Switzerland. There have been some channels that where reported as duplicate, but all other channels are working. Let me know if you'd like to have further infos.

comment:13 Changed 13 years ago by robertm

Milestone: 0.240.25

comment:14 Changed 13 years ago by klaas.de.waal@…

The patch can be applied on trunk svn 26882 with manual editing of dvbstreamdata.h. It works OK on cable network Ziggo in the Netherlands.

comment:15 in reply to:  14 Changed 13 years ago by anonymous

Replying to klaas.de.waal@…:

The patch can be applied on trunk svn 26882 with manual editing of dvbstreamdata.h. It works OK on cable network Ziggo in the Netherlands.

Too bad this got bumped to 0.25

Klaas, which of the 2 patches did you apply to 0.24 trunk? With or without the DB schema change? Could you post your amended patch here, or elaborate on your manual edit. I, and probably many others, will be using the patch on the 0.24 fixes until 0.25 arrives.

Thanks Guys, it works great.

comment:16 Changed 13 years ago by robertm

Ticket locked: set

Please read the ticket howto.

comment:17 Changed 13 years ago by beirdo

Ticket locked: unset

Unlocking to allow for a new patch upload.

Changed 13 years ago by cg@…

Updated patch for current fixes/0.24

Changed 13 years ago by klaas.de.waal@…

Updated patch for master/0.25 by changing VERBOSE to LOG in channelscan_sm.cpp line 205

comment:18 Changed 12 years ago by musicaze@…

This issue is over 4 years old (it replaced an older issue for some reason). It prevents me from using MythTV, since it cannot tune all my programs in Denmark. I really hope to see this in 0.25

comment:19 Changed 12 years ago by Raymond Wagner

Ticket locked: set

... and locked again

comment:20 Changed 12 years ago by stuartm

Owner: changed from Stuart Auchterlonie to danielk
Priority: minormajor
Ticket locked: unset
Type: defectPatch - Bug Fix
Version: headMaster Head

comment:21 Changed 12 years ago by danielk

Status: assignedinfoneeded

Thanks for the patch.

Am I correct in understanding that the stream has the correct channels on an "Other Network" NIT table?

Is the modification required only at the time of scanning or is it required for regular use?

I don't really like having this hack in DVBStreamData. But we could handle this in the channel scanner itself without much difficulty.

comment:22 Changed 12 years ago by danielk

Milestone: 0.250.26
Owner: changed from danielk to Stuart Auchterlonie

I believe we may also need to add NIT id filtering if we allow setting a NIT id. I'm giving this one back to stuarta, since it really needs someone in a DVB country to look at it.

comment:23 Changed 12 years ago by klaas.de.waal@…

This patch allows you to do a "Full Scan (Tuned)" and find all channels in all multiplexes in mythtv-setup when the network ID is set correct in the "Video sources" page. The patch is only effective at the moment at the time of scanning in mythtv-setup. MythTV never rescans the services automatically. On my DVB-C capable TV I also need to enter the network ID, there is absolutely no way around it.

comment:24 Changed 12 years ago by bas-t <tycholursen@…>

I used mythtv_fix_broken_providers_with_gui.3.diff​ today with fixes/0.25 Works like a charm, thanks a lot!

comment:25 Changed 12 years ago by beirdo

https://github.com/MythTV/mythtv/pull/25

This claims to fix the problem. I have not yet looked at it.

comment:26 in reply to:  25 Changed 12 years ago by tycholursen@…

Replying to beirdo:

https://github.com/MythTV/mythtv/pull/25

This claims to fix the problem. I have not yet looked at it.

This one is for fixes/0.25

https://github.com/MythTV/mythtv/pull/24

comment:27 Changed 11 years ago by Kenni Lund [kenni a kelu dot dk]

Milestone: 0.260.26.1

comment:28 Changed 11 years ago by tycholursen@…

Why is the status of this ticket 'info needed'? What info is needed?

comment:29 in reply to:  28 Changed 11 years ago by Raymond Wagner

Status: infoneededassigned

Replying to tycholursen@…:

Why is the status of this ticket 'info needed'? What info is needed?

Klass never marked that he provided the requested info when he responded with the info eight months ago.

comment:30 Changed 11 years ago by angela.schmid@…

I am on cable from UPC Cablecom Switzerland and used to have my own fix coded patches to only scan for services for a specific networkid. I examined this patch which works correct for me too. Important is, that also NIT Others has to be scanned, as my networkid only can be found in NIT Others. All televisions with DVB-C have I have seen have the possibility to specify a networkid. I hope this patch will be added for the next release.

comment:31 Changed 11 years ago by paulh

Milestone: 0.26.10.27

There is a pull request that is reported to fix this.

comment:32 Changed 11 years ago by Karl Egly

Summary: Channelscanner misses some transponderDVB-C: add support for network_id override (was: Channelscanner misses some transponder)

comment:33 Changed 11 years ago by Stuart Auchterlonie

Dunno what is going on, but this has supposedly been committed in https://github.com/MythTV/mythtv/commit/4d3ff242d9cef878362bd5a9cc38519ee14d91cf but I can't see it anywhere in master at this time.

wtf??

comment:34 Changed 11 years ago by stuartm

It was committed to the wrong repo, I'm not sure how to sort that out, without breaking the github mirror but it may just be as simple as cherry-picking from there.

comment:35 Changed 11 years ago by bas-t <tycholursen@…>

It was a pull request, it was never committed.

comment:36 Changed 11 years ago by bas-t <tycholursen@…>

comment:37 Changed 11 years ago by bas-t <tycholursen@…>

This patch seems to suffer from a flaw. Some months ago I was discussing it on IRC with one of the dev's (I'm not sure who it was, I think dekarl) and he said it cocked up his channelscan.

It seemed to be a patch that would never make it into master, so I closed the pull request and moved things around a bit in my own repo

The idea is that it is disfunctional unless you give in a Nit Other. It is supposed to display '-1' out of the box and thus do nothing. In fact it displays '0' and seems to do something (according to the dev I discussed it with). I cannot test this since I'm stuck with Ziggo for provider, the one this patch was written for in the first place. So I allways give in my Nit Other.

I have had comments from Germany, Switzerland and others, stating that it solved their issues too. Of course those guys had to use a Nit Other, just like me.

comment:38 in reply to:  37 Changed 11 years ago by Karl Egly

Replying to bas-t <tycholursen@…>:

Some months ago I was discussing it on IRC with one of the dev's (I'm not sure who it was, I think dekarl) and he said it cocked up his channelscan.

yes, I brought the veto from this ticket (see comment:10) up again. But I was just the messenger :) Basically the request was to get some testing from people that do not need the patch to confirm there is no regression.

comment:39 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In 4fdc25e88c5a0b47c18ab5993799d596af060cc7/mythtv:

Refs #7486. Adds the videosource part of this, but disabled.

This allows the string requiring translation to be picked up
and translated by the translation team before release, and
free's us up to perform the technical parts independently.

Thanks to knightr for pointing out a method to make this
possible.

comment:40 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In 691a3669ff4a97322d3150bdc32f50ef9e289624/mythtv:

Refs #7486. Enable gui component that was previously disabled

comment:41 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In a696c38d47af02fd8e5359ff112d76d22e8bce8a/mythtv:

Refs #7486. Allow NITo's to be handled as NITa's.

Allows the channel scanner to work correctly in those
countries where you must specify the NetID.

comment:42 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

Resolution: fixed
Status: assignedclosed

In eaf54c92530e578d9615472f3b75a419fc2693fa/mythtv:

Closes #7486. Fix the new NetID spinbox so it actually works correctly.

comment:43 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In 5ff9357d05d90c4218ad2ee83bd969ad548a23a2/mythtv:

Refs #7486. Enable gui component that was previously disabled

comment:44 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In d4ed08bf79698f9e11388f2fbf0b226862a47f2e/mythtv:

Refs #7486. Allow NITo's to be handled as NITa's.

Allows the channel scanner to work correctly in those
countries where you must specify the NetID.

comment:45 Changed 11 years ago by Stuart Auchterlonie <stuarta@…>

In 977bc741a366c708784984348cc846d067a708a3/mythtv:

Closes #7486. Fix the new NetID spinbox so it actually works correctly.

comment:46 Changed 11 years ago by Karl Dietz <dekarl@…>

In c7e7813ca2132d748c50eb2b71b204a4f20990d1/mythtv:

limit network_id to unsigned 16bit maximum

Refs #7486

comment:47 Changed 4 years ago by Klaas de Waal <kdewaal@…>

In 46d0944581/mythtv:

Fix "section seen" filtering for NIT and NITo in mythtv-setup

For some DVB-C networks the NIT table to use in a specific region
is one of the "other NIT" tables, as described in ticket #7486.
This is solved by converting the NITo for the specified network ID
to a NIT and converting the original NIT to NITo.
This works OK but there is filtering done on which table sections
have been seen already so they are not processed twice.

This filtering went wrong, as indicated by timeouts during
channel scanning, and this resulted in NIT sections not being
processed and hence missing logical channel numbers.

This filtering went wrong in two places.
In DVBStreamData::HandleTables? the check on redundancy was sometimes
done before the NIT/NITo conversion was done. This causes the filtering
to be done on the wrong table type.
This is solved by moving the NIT/NITo conversion to the beginning of
the function so that is is done before the redundancy check.
In MPEGStreamData::HandleTables? the calls to IsRedundant? did not
call the function in mpegstreamdata.cpp but, due to the
object-orientedness of the code, the function in dvbstreamdata.cpp.
This is wrong because the MPEG code should check only the MPEG
tables; the DVB tables are checked in dvbstreamdata.cpp.
Also, because the IsRedundant? is called before the NIT/NITo
conversion is done this also gives the wrong results.
This is solved by explicitly calling MPEGStreamData::IsRedundant?
instead of calling IsRedundant?.

Refs #7486

Note: See TracTickets for help on using tickets.