←  [EN] Enduser support

Forums

»

Bug found in DVB-T2

's foto kurben 20 aug 2015

Hello.
 

I found a bug in the DVB-T2 section that is very important to fix.

 

The bug is missing values when scanning DVB-T2 networks.

 
I can scan all the Swedish muxes except for this one:
MUX 7 UHF 730 MHz channel 53 32KE, 256 QAM, PP4, 3/5, Guard 19/256, 32,49 Mbit/s, DVB-T2
 
This mux works fine: MUX 6 UHF 618 MHz channel 39 32KE, 256 QAM, PP4, 2/3, Guard 1/16, 36,55 Mbit/s, DVB-T2
 
If you look at the code : https://github.com/o...terrestrial.xml
 
You can see this part:
 
code_rate_{lp,hp}:
0 = 1/2,
1 = 2/3,
2 = 3/4,
3 = 5/6,
4 = 7/8,
5 = Auto (default),
6 = None
 
And the code_rate option 3/5 is missing and also 4/5, The missing code rate 3/5 is probably why I can not scan this mux.
 
 
DVB-T has (1/2, 2/3, 3/4, 5/6, 7/8) DVB-T2 has (1/2, 3/5, 2/3, 3/4, 4/5)
 

 

 

This have been found on openpli before but not fixed: http://forums.openpl...ication-needed/
 
Here is also the source for openpli and on line 975 in ScanSetup.py the "Terrestial" section is missing the Code rate 3/5 and also 4/5.
 
    # terrestial
        self.scan_ter.frequency = ConfigInteger(default = defaultTer["frequency"], limits = (50000, 999000))
        self.scan_ter.channel = ConfigInteger(default = 21, limits = (1, 99))
        self.scan_ter.inversion = ConfigSelection(default = defaultTer["inversion"], choices = [
            (eDVBFrontendParametersTerrestrial.Inversion_Off, _("Off")),
            (eDVBFrontendParametersTerrestrial.Inversion_On, _("On")),
            (eDVBFrontendParametersTerrestrial.Inversion_Unknown, _("Auto"))])
        # WORKAROUND: we can't use BW-auto
        self.scan_ter.bandwidth = ConfigSelection(default = defaultTer["bandwidth"], choices = [
            (1712000, "1.712MHz"),
            (5000000, "5MHz"),
            (6000000, "6MHz"),
            (7000000, "7MHz"),
            (8000000, "8MHz"),
            (10000000,"10MHz")
            ])
        #, (eDVBFrontendParametersTerrestrial.Bandwidth_Auto, _("Auto"))))
        self.scan_ter.fechigh = ConfigSelection(default = defaultTer["fechigh"], choices = [
            (eDVBFrontendParametersTerrestrial.FEC_1_2, "1/2"),
            (eDVBFrontendParametersTerrestrial.FEC_2_3, "2/3"),
            (eDVBFrontendParametersTerrestrial.FEC_3_4, "3/4"),
            (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"),
            (eDVBFrontendParametersTerrestrial.FEC_6_7, "6/7"),
            (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"),
            (eDVBFrontendParametersTerrestrial.FEC_8_9, "8/9"),
            (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))])
        self.scan_ter.feclow = ConfigSelection(default = defaultTer["feclow"], choices = [
            (eDVBFrontendParametersTerrestrial.FEC_1_2, "1/2"),
            (eDVBFrontendParametersTerrestrial.FEC_2_3, "2/3"),
            (eDVBFrontendParametersTerrestrial.FEC_3_4, "3/4"),
            (eDVBFrontendParametersTerrestrial.FEC_5_6, "5/6"),
            (eDVBFrontendParametersTerrestrial.FEC_6_7, "6/7"),
            (eDVBFrontendParametersTerrestrial.FEC_7_8, "7/8"),
            (eDVBFrontendParametersTerrestrial.FEC_8_9, "8/9"),
            (eDVBFrontendParametersTerrestrial.FEC_Auto, _("Auto"))])
 
The same is found in the transponder.py  : http://sourceforge.n.../Transponder.py
 
    elif type == "DVB-T":
        ret["tuner_type"] = _("Terrestrial")
        ret["bandwidth"] = {
            0 : _("Auto"),
            10000000 : "10 MHz",
            8000000 : "8 MHz",
            7000000 : "7 MHz",
            6000000 : "6 MHz",
            5000000 : "5 MHz",
            1712000 : "1.712 MHz"}.get(tp.get("bandwidth"))
        ret["code_rate_lp"] = {
            eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
            eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
            eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
            eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
            eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
            eDVBFrontendParametersTerrestrial.FEC_6_7 : "6/7",
            eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8",
            eDVBFrontendParametersTerrestrial.FEC_8_9 : "8/9"}.get(tp.get("code_rate_lp"))
        ret["code_rate_hp"] = {
            eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
            eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
            eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
            eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
            eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
            eDVBFrontendParametersTerrestrial.FEC_6_7 : "6/7",
            eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8",
            eDVBFrontendParametersTerrestrial.FEC_8_9 : "8/9"}.get(tp.get("code_rate_hp"))
        
        
If you look at the "Sat" and "Cable" part of the code they have the correct FEC 3/5 and 4/5.
I am not a coder so I need help regarding to solve this issue. As long as this is not fixed, the DVB-T2 part of Enigma2 is not working 100% 

 

Citeren

's foto WanWizard 20 aug 2015

Our source is on Github now, which makes it easier to propose the changes using a pull request. Also easier and quicker for us to validate and merge the changes.

Citeren

's foto kurben 20 aug 2015

I have no idea on how to do that? And I do not know how to fix the code? Is a pull request the same as a bug report? 

I am in no way capable of making changes in the code... That is way out of my league.. 

Citeren

's foto kurben 20 aug 2015

I have also made a bug report to Vu+ regarding this.

 

Are the OpenPli code taken from Vu+ open repository and then modified? What I mean is that if VU+ make changes in their code, all other images will get the same changes?, i.e Openpli, open black hole, open atv etc..

Citeren

's foto Erik Slagter 20 aug 2015

The problem with DVB-T2 is that it's not available around here. Makes it harder to fix, test and debug. It would be nice if someone with the possibility to test would supply a patch.

Citeren

's foto kurben 20 aug 2015

I am willing to test and verify a patch and supply logs. But I am not capable of compiling my own images from github...

Citeren

's foto Dimitrij 20 aug 2015

	enum {
		FEC_1_2=0, FEC_2_3=1, FEC_3_4=2, FEC_5_6=3, FEC_7_8=4, FEC_Auto=5, FEC_6_7=6, FEC_8_9=7
	};

FEC_3_5=what number?

FEC_4_5=what number?

Citeren

's foto kurben 20 aug 2015

	enum {
		FEC_1_2=0, FEC_2_3=1, FEC_3_4=2, FEC_5_6=3, FEC_7_8=4, FEC_Auto=5, FEC_6_7=6, FEC_8_9=7
	};

FEC_3_5=what number?

FEC_4_5=what number?

_

I think you could see what the numbers are for the DVB-S and DVB-C, they have the FEC_3_5 and FEC_4_5. It is just missing in the DVB-T parts.

Citeren

's foto Dimitrij 20 aug 2015

DVB-S and DVB-C --> FEC_Auto=0

DVB-T --> FEC_Auto=5

why?

Citeren

's foto WTE 21 aug 2015

	enum {
		FEC_1_2=0, FEC_2_3=1, FEC_3_4=2, FEC_5_6=3, FEC_7_8=4, FEC_Auto=5, FEC_6_7=6, FEC_8_9=7
	};

FEC_3_5=what number?

FEC_4_5=what number?

 

 

Were did you find the line?

 

Openpli use follow:

FEC_Auto=0, FEC_1_2=1, FEC_2_3=2, FEC_3_4=3, FEC_5_6=4, FEC_7_8=5, FEC_8_9=6, FEC_3_5=7, FEC_4_5=8, FEC_9_10=9

 

With a bit luck by add the missing fec's in transponder.py and add the fec list for dvb-t2 in scansetup it can work. (you can see for fec list how it's done for dvb-s2)


Veranderd door WTE, 21 augustus 2015 - 19:09
Citeren

's foto Huevos 21 aug 2015

DVB-S and DVB-C --> FEC_Auto=0

DVB-T --> FEC_Auto=5

why?

These numbers should correspond with those used in the network table of the official DVB standard.

Citeren

's foto WTE 21 aug 2015

Maybe you can try out the patch if you make your own image. I cannot check it by myself if it works.

You can when you select dvb-t2 in the scan menu the option 3/5 and 4/5.

Bijgevoegde Bestanden


Veranderd door WTE, 21 augustus 2015 - 22:37
Citeren

's foto Dimitrij 21 aug 2015

WTE

super :)

Citeren

's foto Huevos 21 aug 2015

DVB-S and DVB-C --> FEC_Auto=0

DVB-T --> FEC_Auto=5

why?

Just checked.

 

The DVB-S numbers are "FEC inner" from the DVB standard.

fecinnertype = {0:"Not defined", 1:"1/2", 2:"2/3", 3:"3/4", 4:"5/6", 5:"7/8", 6:"8/9", 7:"3/5", 8:"4/5", 9:"9/10", 15:"no conv."}

 

The DVB-T numbers are "code rate type" from the DVB standard.

coderatetype = {0:"1/2", 1:"2/3", 2:"3/4", 3:"5/6", 4:"7/8", 5:"FU", 6:"FU", 7:"FU"}

Citeren

's foto WTE 21 aug 2015

Do you maybe know the "official" code rate type for DVB-T2.

Citeren

's foto Huevos 21 aug 2015

Here is the standard explained.

Bijgevoegde Bestanden


Veranderd door Huevos, 21 augustus 2015 - 23:05
Citeren

's foto WTE 21 aug 2015

Tnx for the document.

 

T2 use an own order, so I think there must been made a decision what to use.

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: 4/5

5: 5/6

 

T2 Lite

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: reserved

5: reserved

6: 1/3

7: 2/5

Citeren

's foto Huevos 21 aug 2015

You should be able to auto tune anyway. Should not need code rate. Just use predefined transponder and select the channel/frequency. That comes from terrestrial.xml and doesn't contain code rate at all. The tuner should work it out.


Veranderd door Huevos, 21 augustus 2015 - 23:55
Citeren

's foto Huevos 22 aug 2015

Tnx for the document.

 

T2 use an own order, so I think there must been made a decision what to use.

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: 4/5

5: 5/6

 

T2 Lite

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: reserved

5: reserved

6: 1/3

7: 2/5

But not only that. From the document you can see values differ depending on transmission type (S/T/C).

Citeren

's foto WTE 22 aug 2015

 

Tnx for the document.

 

T2 use an own order, so I think there must been made a decision what to use.

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: 4/5

5: 5/6

 

T2 Lite

0: 1/2

1: 3/5

2: 2/3

3: 3/4

4: reserved

5: reserved

6: 1/3

7: 2/5

But not only that. From the document you can see values differ depending on transmission type (S/T/C).

 

 

S/T/C is already divide.

To held the standards, T2 should have own list as well.

Citeren