View Full Version : [VU+ Ultimo4K] ABM scans after running DVB-T frequency finder.
You really should start another thread as this is not a Py3 problem.
DVB standard says all sections of "SDT actual" must be transmitted at least once every 2 seconds, and, all sections of "SDT other" must be transmitted at least once every 15 seconds, so a 20 second timeout is good for any mux that complies with the standard, but obviously yours doesn't, or is broken.
Please get a debug log of the scan with extra debug activated.
End of original thread - https://www.world-of-satellite.com/showthread.php?64435-Testers-required-for-OpenViX-Python-3-images&p=514976&viewfull=1#post514976
Running DVB-T frequency finder (UK freeview) on Python P2 and P3 images produces different terrestrial_finder.xml files - the same expected data, but in a different order.
This means that the mux chosen by ABM to run a "scan" is different from P2 and doesn't (for some unknown reason) find the correct number of channels in P3.
(If the same mux is forced onto P2, it fails in the same way.)
So the mux chosen is critical, increasing the SDT_TIMEOUT in dvbscanner.py fixes it, but breaks the rules.
Here are 3 sets of logs, a working mux, a non working mux, and a non working mux which works when the timeout is increased....
DVBsnoops for working and non working mux's...
Using a "problem" mux in terrestrial_finder.xml, with an SDT timeout of 20 seconds in dvbscanner.py, 6 out of 8 mux's are missing.
[ABM-DvbScanner] Timed out reading SDT
[ABM-DvbScanner] Cannot fetch SDT for the following TSID_ONID list: ['104f:233a', '201b:233a', '3006:233a', '4089:233a', '5040:233a', '6040:233a']
With an SDT timeout of 40 seconds, 4 out of 8 mux's are missing.
[ABM-DvbScanner] Timed out reading SDT
[ABM-DvbScanner] Cannot fetch SDT for the following TSID_ONID list: ['5040:233a', '6040:233a', '3006:233a', '4089:233a'
With an SDT timeout of 60 seconds, 3 out of 8 mux's are missing.
[ABM-DvbScanner] Timed out reading SDT
[ABM-DvbScanner] Cannot fetch SDT for the following TSID_ONID list: ['3006:233a', '4089:233a', '5040:233a']
With an SDT timeout of 120 seconds, all 8 mux's are found.
Looks to me like "SDT Other" come through every 15 seconds or so, containing details for just one mux.
So in your "long" timeout log, 11:36:16.5068 to 11:36:18.7158 is your SDT read time.
So in your "long" timeout log, 11:36:16.5068 to 11:36:18.7158 is your SDT read time.
I've not looked at the debug logs, all I noticed was that with an increased timeout of 120, an abm scan on a "suspect" mux took much longer to finish, probably about 80 seconds, compared with 30 seconds with a "good" mux running with a 20 second default timeout.
A "good" mux scan with a 120 second timeout still ran for about 30 seconds, the same as with the default of 20.
Well for sure in you your log the SDT read took 2 seconds.
Well for sure in you your log the SDT read took 2 seconds.
The abm scan started at 11:35:04, and finished at 11:36:19, a bit longer than 2 seconds.
It "normally" takes around 30 seconds, what it does during that time, I haven't a clue.
This is where it slows down.....
11:35:14.6136 [ABM-DvbScanner] Reading services (LCN)...
11:35:16.4187 [ABM-DvbScanner] SDT raw section header {'table_id': 66, 'transport_stream_id': 32769, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:16.4190 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 32833, 'service_type': 1, 'free_ca': 0, 'service_name': "That's TV", 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33472, 'service_type': 1, 'free_ca': 0, 'service_name': 'Tiny Pop', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33664, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies +1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33984, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! tv', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34048, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies classic', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34112, 'service_type': 1, 'free_ca': 0, 'service_name': 'Ideal Extra', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
11:35:17.3219 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
Chopped a big chunk out.
11:36:16.5068 [ABM-DvbScanner] SDT raw section header {'table_id': 66, 'transport_stream_id': 32769, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:16.5071 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 32833, 'service_type': 1, 'free_ca': 0, 'service_name': "That's TV", 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33472, 'service_type': 1, 'free_ca': 0, 'service_name': 'Tiny Pop', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33664, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies +1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33984, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! tv', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34048, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies classic', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34112, 'service_type': 1, 'free_ca': 0, 'service_name': 'Ideal Extra', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
11:36:18.5128 [ABM-DvbScanner] SDT raw section header {'table_id': 66, 'transport_stream_id': 32769, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:18.5131 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 32833, 'service_type': 1, 'free_ca': 0, 'service_name': "That's TV", 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33472, 'service_type': 1, 'free_ca': 0, 'service_name': 'Tiny Pop', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33664, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies +1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 33984, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! tv', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34048, 'service_type': 1, 'free_ca': 0, 'service_name': 'GREAT! movies classic', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 32769, 'original_network_id': 9018, 'service_id': 34112, 'service_type': 1, 'free_ca': 0, 'service_name': 'Ideal Extra', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
11:36:18.7140 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 16521, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
nknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 20544, 'original_network_id': 9018, 'service_id': 24128, 'service_type': 1, 'free_ca': 0, 'service_name': 'ADULT Xpanded TV', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 20544, 'original_network_id': 9018, 'service_id': 24192, 'service_type': 1, 'free_ca': 0, 'service_name': 'Together TV', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 20544, 'original_network_id': 9018, 'service_id': 24448, 'service_type': 1, 'free_ca': 0, 'service_name': 'Gems TV', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 20544, 'original_network_id': 9018, 'service_id': 24500, 'service_type': 1, 'free_ca': 0, 'service_name': '697', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
SDT raw section much quicker in the working mux...
11:26:32.2600 [ABM-DvbScanner] Reading services (LCN)...
11:26:33.7647 [ABM-DvbScanner] SDT raw section header {'table_id': 66, 'transport_stream_id': 8219, 'version_number': 14, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:33.7652 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8283, 'service_type': 1, 'free_ca': 0, 'service_name': 'ITV', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8294, 'service_type': 1, 'free_ca': 0, 'service_name': 'ITV3', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8325, 'service_type': 1, 'free_ca': 0, 'service_name': 'ITV2', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8330, 'service_type': 1, 'free_ca': 0, 'service_name': 'ITV4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8381, 'service_type': 1, 'free_ca': 0, 'service_name': 'ITV +1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8384, 'service_type': 1, 'free_ca': 0, 'service_name': 'Channel 4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8385, 'service_type': 1, 'free_ca': 0, 'service_name': 'Film4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8442, 'service_type': 1, 'free_ca': 0, 'service_name': 'More 4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 8219, 'original_network_id': 9018, 'service_id': 8448, 'service_type': 1, 'free_ca': 0, 'service_name': 'E4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id':
Chopped out
ogical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 5824, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Radio 4 Ex', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 5888, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC R1X', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 5952, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Asian Net.', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6016, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC World Sv.', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6153, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Newcastle', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6217, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Cumbria', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6281, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Tees', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6282, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC York', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6720, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Radio 1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6784, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Radio 2', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6848, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Radio 3', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 6912, 'service_type': 2, 'free_ca': 0, 'service_name': 'BBC Radio 4', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 4169, 'original_network_id': 9018, 'service_id': 7168, 'service_type': 1, 'free_ca': 0, 'service_name': 'BBC RB 1', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
11:26:41.9073 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:26:41.9077 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 24640, 'original_network_id': 9018, 'service_id': 28224, 'service_type': 1, 'free_ca': 0, 'service_name': 'TalkingPictures TV', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 24640, 'original_network_id': 9018, 'service_id': 28256, 'service_type': 1, 'free_ca': 0, 'service_name': 'QVC Style', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 24640, 'original_network_id': 9018, 'service_id': 28288, 'service_type': 1, 'free_ca': 0, 'service_name': 'QVC Beauty', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 24640, 'original_network_id': 9018, 'service_id': 28520, 'service_type': 1, 'free_ca': 0, 'service_name': '698', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
11:26:42.1084 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 16521, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:42.1088 [ABM-DvbScanner] SDT raw section content [{'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 17472, 'service_type': 25, 'free_ca': 0, 'service_name': 'BBC TWO HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 17540, 'service_type': 25, 'free_ca': 0, 'service_name': 'BBC ONE HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 17609, 'service_type': 25, 'free_ca': 0, 'service_name': 'ITV HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 17664, 'service_type': 25, 'free_ca': 0, 'service_name': 'Channel 4 HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 17728, 'service_type': 25, 'free_ca': 0, 'service_name': 'Channel 5 HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 18112, 'service_type': 25, 'free_ca': 0, 'service_name': 'CBBC HD', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}, {'transport_stream_id': 16521, 'original_network_id': 9018, 'service_id': 20160, 'service_type': 22, 'free_ca': 0, 'service_name': 'TBN UK', 'provider_name': 'Unknown', 'logical_channel_number': 0, 'bouquets_id': 0, 'service_group_id': 0, 'category_id': 0, 'region_code': 0, 'city_code': 0}]
Debug log entries with SDT raw section header only appear for slightly less than 20 seconds in the "failing" mux, timeout=20.
Debug log entries with SDT raw section header appear for 62 seconds in the "failing" mux, timeout=120, all channels found.
FWIW, SDT raw section header entries appear for 9 seconds with the "working" mux.
Debug log entries with SDT raw section header only appear for slightly less than 20 seconds in the "failing" mux, timeout=20.
Debug log entries with SDT raw section header appear for 62 seconds in the "failing" mux, timeout=120, all channels found.
Yes, 1 minute and 2 seconds, not 2 seconds.
11:35:17.3219 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:35:21.1339 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8210, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:25.1463 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4175, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:27.5546 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4167, 'version_number': 2, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:30.5639 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:35:34.7770 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8193, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:37.3853 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 40960, 'version_number': 28, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:44.1057 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4169, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:50.9263 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8219, 'version_number': 14, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:52.7325 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4166, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:54.1371 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:35:55.7425 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8217, 'version_number': 2, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:00.5572 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8200, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:07.7786 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:36:13.1964 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4170, 'version_number': 6, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:18.7140 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 16521, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:18.7149 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 20544, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
What are all those muxes?
Can you post your Py3 finder xml again.
Here is the "good" transponder:
11:26:34.0665 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4166, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:34.5691 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 20544, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:35.0717 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 40960, 'version_number': 28, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:35.9764 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:26:36.2790 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4175, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:36.8820 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:26:37.2844 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8200, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:37.9882 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4167, 'version_number': 2, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:37.9897 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4170, 'version_number': 6, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:38.7929 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 32769, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:40.9997 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:26:41.2011 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8193, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:41.3024 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8210, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:41.8058 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4169, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:26:41.9073 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:26:42.1084 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 16521, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
Only takes 8 seconds, and one mux less?
Doesn't look like ABM is doing anything wrong. The repeat interval of the table is broken.
11:35:17.3219 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:35:21.1339 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8210, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:25.1463 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4175, 'version_number': 0, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:27.5546 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4167, 'version_number': 2, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:30.5639 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:35:34.7770 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8193, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:37.3853 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 40960, 'version_number': 28, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:44.1057 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4169, 'version_number': 10, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:50.9263 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8219, 'version_number': 14, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:52.7325 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4166, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:35:54.1371 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 24640, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 1, 'last_section_number': 1, 'original_network_id': 9018}
11:35:55.7425 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8217, 'version_number': 2, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:00.5572 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 8200, 'version_number': 1, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:07.7786 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 12294, 'version_number': 19, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 1, 'original_network_id': 9018}
11:36:13.1964 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 4170, 'version_number': 6, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:18.7140 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 16521, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
11:36:18.7149 [ABM-DvbScanner] SDT raw section header {'table_id': 70, 'transport_stream_id': 20544, 'version_number': 24, 'current_next_indicator': 1, 'section_number': 0, 'last_section_number': 0, 'original_network_id': 9018}
What are all those muxes?
Can you post your Py3 finder xml again.
https://www.world-of-satellite.com/showthread.php?64435-Testers-required-for-OpenViX-Python-3-images&p=514826&viewfull=1#post514826
Ignore the last post, I'm rerunning frequency finder again on P3......
DVBsnoop with (SDT) - other transport stream and (SDT) - actual transport stream packets on the "problem" mux.
You've already found the problem. The repeat interval of the table is non-standard.
Where do you want to go from here?
You've already found the problem. The repeat interval of the table is non-standard.
Where do you want to go from here?
It's entirely up to you, it's easy for me to use a "working" mux, maybe not so simple for others who hit the problem.
Increasing the timeout works, doesn't slow down a "working" mux, but is probably a hack.
I still don't understand why P2 and P3 produce different xml files, maybe choosing the lowest frequency rather than the highest might reduce the chances of a broken mux?
So the problem is the SDT other is incomplete on some providers... so we use 20 seconds because that complies with the standard plus some spare time. If we change the timeout those providers would take a lot longer for no benefit.
So the problem is how you can get an increased timeout with out affecting the performance for other users/providers.
So the problem is the SDT other is incomplete on some providers... so we use 20 seconds because that complies with the standard plus some spare time. If we change the timeout those providers would take a lot longer for no benefit.
So the problem is how you can get an increased timeout with out affecting the performance for other users/providers.
I'm losing the plot again, increasing the timeout has one benefit for "faulty" mux's - they scan ok.
"Working" mux's don't take any longer than they ever did.
I think the best solution is to do nothing.
Some muxes are incomplete, so they will always run to the timeout.
That is not the case with either of your examples, but is with some other providers.
Some muxes are incomplete, so they will always run to the timeout.
That is not the case with either of your examples, but is with some other providers.
Do you mean providers other than freeview?
The other possible solution which I've mentioned a few times now, is for DVB-T frequency finder to select the lowest frequency mux, rather than the highest.
bbc1 sd tends to broadcast on the low frequencies.
Yes, the SDT timeout is used by all providers.
.... edited my previous post.
The other possible solution which I've mentioned a few times now, is for DVB-T frequency finder to select the lowest frequency mux, rather than the highest.That is a hack, because...
We don't know for sure BBC mux will always be on a lower frequency (now or at any point in the future).
We don't know if BBC mux might have faulty tables at some point in the future.
We are no longer choosing the strongest mux so may choose a mux that belongs to another region.
That is a hack, because...
We don't know for sure BBC mux will always be on a lower frequency (now or at any point in the future).
We don't know if BBC mux might have faulty tables at some point in the future.
We are no longer choosing the strongest mux so may choose a mux that belongs to another region.
It's no more of a hack than choosing the highest frequency.
I wish I'd included "with the highest signal quality" in that last post, I have every time before.
So, the highest frequency doesn't work for me, the lowest frequency does, but can't possibly be selected because ...
1) it might not be the bbc mux in the future
2) it might have faulty tables in the future
3) I never suggested using a weaker mux in the first place.
Let's forget I ever started this thread.
It's no more of a hack than choosing the highest frequency. The sort is by SNR, not frequency. There is no logic in the code to force to the highest frequency.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L621
As the SNR is the same for all members of the dict the output will remain the same as the input. Please remember Python dicts are not ordered, so any order is possible for the input.
You could see the order of the input like this...
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order ascending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=self.sortitem]
def sortitem(self, x):
print(self.transponders_unique[x[0]])
return x[1]
I'd seen this line which I assumed was called at some point to put the list in frequency order, low to high, so the mux eventually chosen would always be the highest frequency.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L614
def iterateUniqueTranspondersByFrequency(self):
# returns an iterator list for self.transponders_unique in frequency order ascending
sort_list = [(x[0], x[1]["frequency"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1])]
The sort is by SNR, not frequency.
SNR wouldn't be an issue, as the "problem" mux SNR is lower than the others, but doesn't it use signal quality, which is the same for all mux's (which becomes a subtle issue when sorting).
You could see the order of the input like this...
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order ascending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=self.sortitem)]
def sortitem(self, x):
print(self.transponders_unique[x[0]])
return x[1]
Thanks, I managed to get that working, handy as it happens.:)
This is what frequency finder comes up with, transponders in signal quality order, low to high, so the last system 0 one is selected.
12:31:21.7597 {'frequency': 482000000, 'tsid': 4175, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7598 {'frequency': 490000000, 'tsid': 20544, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7599 {'frequency': 506000000, 'tsid': 8219, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7600 {'frequency': 514000000, 'tsid': 24640, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7600 {'frequency': 530000000, 'tsid': 16521, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': True}
12:31:21.7602 {'frequency': 545833000, 'tsid': 12294, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7602 {'frequency': 562000000, 'tsid': 32769, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7603 {'frequency': 746000000, 'tsid': 40960, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'Com7 National', 'custom_transponder_needed': True}
If I reverse the signal quality sort order, so highest to lowest, I get this (because P3 maintains sort stability, good old google :p)
13:04:32.1077 {'frequency': 482000000, 'tsid': 4175, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1078 {'frequency': 490000000, 'tsid': 20544, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1078 {'frequency': 506000000, 'tsid': 8219, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1079 {'frequency': 514000000, 'tsid': 24640, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1080 {'frequency': 530000000, 'tsid': 16521, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': True}
13:04:32.1081 {'frequency': 545833000, 'tsid': 12294, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1081 {'frequency': 562000000, 'tsid': 32769, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1082 {'frequency': 746000000, 'tsid': 40960, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'Com7 National', 'custom_transponder_needed': True}
I can then select the first system 0 transponder, and everything works. Two simple changes to frequencyfinder.py.
So the highest signal quality and lowest frequency.
I'm sure you'll be able to pick holes in it.
for tsidOnidKey in self.iterateUniqueTranspondersBySignalQuality()[::-1]: # iterate in reverse order and select the first system 0 transponder
for tsidOnidKey in self.iterateUniqueTranspondersBySignalQuality(): # iterate in order and select the first system 0 transponder
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order ascending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1])]
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order descending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1], reverse=True)]
Snr and signal quality same thing.
Snr and signal quality same thing.
OK, but I see a lower snr on one of the mux's (the "wrong" mux as it happens), but frequency finder comes up with the same value for all of them.
Ok. I don't get it. And in your xml file shows 65335, I.e. a 16 bit integer maxed out. But the infobar shows 50%?
Ok. I don't get it. And in your xml file shows 65335, I.e. a 16 bit integer maxed out. But the infobar shows 50%?
Yes, the same on my ET10K/P2, all 65335, but snr's vary.
I have noticed one value lower than 65335, just once in about 100 creations of the file.
I'll look at this later. Probably something to do with Vu not having snrdb available.
<e2frontendstatus>
<e2snrdb>15.06 dB</e2snrdb>
<e2snr>51 %</e2snr>
<e2ber>0</e2ber>
<e2acg>99 %</e2acg>
</e2frontendstatus>
I'd seen this line which I assumed was called at some point to put the list in frequency order, low to high, so the mux eventually chosen would always be the highest frequency.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L614
def iterateUniqueTranspondersByFrequency(self):
# returns an iterator list for self.transponders_unique in frequency order ascending
sort_list = [(x[0], x[1]["frequency"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1])]
That just sets the order of the custom transponders in the xml file.
<customtransponders>
<!-- customtransponder key="custom" frequency="482000000" transport_stream_id="104f" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="22" -->
<!-- customtransponder key="custom" frequency="490000000" transport_stream_id="5040" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="23" -->
<!-- customtransponder key="custom" frequency="506000000" transport_stream_id="201b" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="25" -->
<!-- customtransponder key="custom" frequency="514000000" transport_stream_id="6040" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="26" -->
<customtransponder key="custom" frequency="530000000" transport_stream_id="4089" system="1"/><!-- original_network_id="233a" signalQuality="65535" channel="28" -->
<!-- customtransponder key="custom" frequency="545833000" transport_stream_id="3006" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="30" -->
<!-- customtransponder key="custom" frequency="562000000" transport_stream_id="8001" system="0"/ --><!-- original_network_id="233a" signalQuality="65535" channel="32" -->
<customtransponder key="custom" frequency="746000000" transport_stream_id="a000" system="1"/><!-- original_network_id="233a" signalQuality="65535" channel="55" -->
</customtransponders>
<e2frontendstatus>
<e2snrdb>15.06 dB</e2snrdb>
<e2snr>51 %</e2snr>
<e2ber>0</e2ber>
<e2acg>99 %</e2acg>
</e2frontendstatus>
Where is that from?
Where is that from?
http://vuultimo4k/web/signal?AGC=
https://dream.reichholf.net/e2web/
Thanks, I managed to get that working, handy as it happens.:)
This is what frequency finder comes up with, transponders in signal quality order, low to high, so the last system 0 one is selected.
12:31:21.7597 {'frequency': 482000000, 'tsid': 4175, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7598 {'frequency': 490000000, 'tsid': 20544, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7599 {'frequency': 506000000, 'tsid': 8219, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7600 {'frequency': 514000000, 'tsid': 24640, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7600 {'frequency': 530000000, 'tsid': 16521, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': True}
12:31:21.7602 {'frequency': 545833000, 'tsid': 12294, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7602 {'frequency': 562000000, 'tsid': 32769, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
12:31:21.7603 {'frequency': 746000000, 'tsid': 40960, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'Com7 National', 'custom_transponder_needed': True}
If I reverse the signal quality sort order, so highest to lowest, I get this (because P3 maintains sort stability, good old google :p)
13:04:32.1077 {'frequency': 482000000, 'tsid': 4175, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1078 {'frequency': 490000000, 'tsid': 20544, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1078 {'frequency': 506000000, 'tsid': 8219, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1079 {'frequency': 514000000, 'tsid': 24640, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1080 {'frequency': 530000000, 'tsid': 16521, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': True}
13:04:32.1081 {'frequency': 545833000, 'tsid': 12294, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1081 {'frequency': 562000000, 'tsid': 32769, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:04:32.1082 {'frequency': 746000000, 'tsid': 40960, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'Com7 National', 'custom_transponder_needed': True}
I can then select the first system 0 transponder, and everything works. Two simple changes to frequencyfinder.py.
So the highest signal quality and lowest frequency.
I'm sure you'll be able to pick holes in it.
for tsidOnidKey in self.iterateUniqueTranspondersBySignalQuality()[::-1]: # iterate in reverse order and select the first system 0 transponder
for tsidOnidKey in self.iterateUniqueTranspondersBySignalQuality(): # iterate in order and select the first system 0 transponder
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order ascending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1])]
def iterateUniqueTranspondersBySignalQuality(self):
# returns an iterator list for self.transponders_unique in SignalQuality order descending
sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
return [x[0] for x in sorted(sort_list, key=lambda listItem: listItem[1], reverse=True)]
So this looks like a complicated way to do this, (not tested):
-sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
+sort_list = [(x[0], (x[1]["signalQuality"], x[1]["frequency"])) for x in list(self.transponders_unique.items())]
But it is a hack, because:
We don't know the BBC mux will always be at a lower frequency.
We don't know the repeat interval of the BBC mux complies with the timeout.
If you want to use logic, you could check the timeout of each SDT.
But it is a hack, because:
We don't know the BBC mux will always be at a lower frequency.
We don't know the repeat interval of the BBC mux complies with the timeout.
But we do know that the highest frequency doesn't work (for me), and the chances of bbc mux's moving I would say are nil.
And if the bbc muxes become non-compliant, nothing will probably work without "hacks".
deleted (site keeps freezing on me).
If you want to use logic, you could check the timeout of each SDT.
Maybe the timeout could be added to the "list", and the sort you posted earlier could include that as well.
So this looks like a complicated way to do this, (not tested):
-sort_list = [(x[0], x[1]["signalQuality"]) for x in list(self.transponders_unique.items())]
+sort_list = [(x[0], (x[1]["signalQuality"], x[1]["frequency"])) for x in list(self.transponders_unique.items())]
I've given it a go, it appears to work as far as it goes, the problem being that all the signalqualities are the same so the list doesn't change.
The last system=0 entry in the list is still selected.
Is the signalquality now high to low in the list?
How does 'Com7 National' get included, it should be there, but has a different network name ??
13:02:01.7877 {'frequency': 482000000, 'tsid': 4175, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7878 {'frequency': 490000000, 'tsid': 20544, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7879 {'frequency': 506000000, 'tsid': 8219, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7880 {'frequency': 514000000, 'tsid': 24640, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7880 {'frequency': 530000000, 'tsid': 16521, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': True}
13:02:01.7881 {'frequency': 545833000, 'tsid': 12294, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7882 {'frequency': 562000000, 'tsid': 32769, 'onid': 9018, 'system': 0, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'East Yorks & Lincs', 'custom_transponder_needed': False}
13:02:01.7883 {'frequency': 746000000, 'tsid': 40960, 'onid': 9018, 'system': 1, 'bandwidth': 8, 'signalQuality': 65535, 'network_name': 'Com7 National', 'custom_transponder_needed': True}
So you want the signal quality low to high and the frequency high to low?
sort_list = [(x[0], (x[1]["signalQuality"], -x[1]["frequency"])) for x in list(self.transponders_unique.items())]
So you want the signal quality low to high and the frequency high to low?
sort_list = [(x[0], (x[1]["signalQuality"], -x[1]["frequency"])) for x in list(self.transponders_unique.items())]
Yes, if you still pick the last system=0 entry in the list.
It's difficult for me to confirm it's working when all the signal qualities are the same, but that looks ok .
I'll have a go tomorrow,
But looking at the details of the muxes there are lots of examples where the BBC mux is not the lowest frequency.
But looking at the details of the muxes there are lots of examples where the BBC mux is not the lowest frequency.
It always gave may the itv sd mux before, and that works ok, so it's pot luck again.
Try this...
-signalQuality = self.frontend.readFrontendData(iFrontendInformatio n.signalQuality)
+signalQuality = self.frontend.readFrontendData(iFrontendInformatio n.snrValue)
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L395
Try this...
-signalQuality = self.frontend.readFrontendData(iFrontendInformatio n.signalQuality)
+signalQuality = self.frontend.readFrontendData(iFrontendInformatio n.snrValue)
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L395
Can't see what I've done wrong, but I'm seeing the same signal quality of 65535 in the xml file.
Maybe something to do with this .....
https://github.com/OpenViX/enigma2/blob/f0a0eb0709c0357849702e4451d6fdff28c928a5/lib/dvb/frontend.cpp#L1377
I tried signalQualitydB, but they all ended up with 305419896
I tried signalQualitydB, but they all ended up with 305419896
.... which is 0x12345678.
I managed to work out what's happening after a day+ getting nowhere fast.
It looks like Frequency finder uses the last tuner available (in my case tuner E, a TT3L10 ). This tuner always gives 100% SNR, unlike the BCM3466 which varies +- 50%.
So disabling tuner E forces a BCM3466 to be used, which creates this terrestrial_finder.xml...
<provider>
<name>East Yorks & Lincs terrestrial</name>
<streamtype>dvbt</streamtype>
<protocol>lcn</protocol>
<dvbtconfigs>
<configuration key="custom" frequency="482000000" system="0">East Yorks & Lincs terrestrial</configuration>
</dvbtconfigs>
<customtransponders>
<!-- customtransponder key="custom" frequency="482000000" transport_stream_id="104f" system="0"/ --><!-- original_network_id="233a" signalQuality="33694" channel="22" -->
<!-- customtransponder key="custom" frequency="490000000" transport_stream_id="5040" system="0"/ --><!-- original_network_id="233a" signalQuality="32338" channel="23" -->
<!-- customtransponder key="custom" frequency="506000000" transport_stream_id="201b" system="0"/ --><!-- original_network_id="233a" signalQuality="33355" channel="25" -->
<!-- customtransponder key="custom" frequency="514000000" transport_stream_id="6040" system="0"/ --><!-- original_network_id="233a" signalQuality="32338" channel="26" -->
<customtransponder key="custom" frequency="530000000" transport_stream_id="4089" system="1"/><!-- original_network_id="233a" signalQuality="32677" channel="28" -->
<!-- customtransponder key="custom" frequency="545833000" transport_stream_id="3006" system="0"/ --><!-- original_network_id="233a" signalQuality="30959" channel="30" -->
<!-- customtransponder key="custom" frequency="562000000" transport_stream_id="8001" system="0"/ --><!-- original_network_id="233a" signalQuality="30959" channel="32" -->
<customtransponder key="custom" frequency="746000000" transport_stream_id="a000" system="1"/><!-- original_network_id="233a" signalQuality="26552" channel="55" -->
</customtransponders>
<sections>
<section number="1">Entertainment</section>
<section number="100">High Definition</section>
<section number="201">Children</section>
<section number="230">News</section>
<section number="260">BBC Interactive</section>
<section number="670">Adult</section>
<section number="700">Radio</section>
</sections>
<swapchannels>
<channel number="1" with="101"/> <!-- BBC One HD -->
<channel number="2" with="102"/> <!-- BBC TWO HD -->
<channel number="3" with="103"/> <!-- ITV HD -->
<channel number="4" with="104"/> <!-- Channel 4 HD -->
<channel number="5" with="105"/> <!-- Channel 5 HD -->
<channel number="9" with="106"/> <!-- BBC FOUR HD -->
<channel number="201" with="204"/> <!-- CBBC HD -->
<channel number="202" with="205"/> <!-- CBeebies HD -->
<channel number="231" with="107"/> <!-- BBC NEWS HD -->
</swapchannels>
<servicehacks>
<![CDATA[
tsidonidlist= [
"104f:233a",
"5040:233a",
"201b:233a",
"6040:233a",
"4089:233a",
"3006:233a",
"8001:233a",
"a000:233a",
]
tsidonidkey = "%x:%x" % (service["transport_stream_id"], service["original_network_id"])
if tsidonidkey not in tsidonidlist:
add_audio_channels_to_video_bouquet=True
skip = True
]]>
</servicehacks>
</provider>
The same thing happens on my ET10K, the last is tuner D a SundTek USB DVB-T2 tuner, which again give 100% SNR's.
(No python changes, just made sure the "right" tuner was used.)
abu baniaz
30-06-21, 21:27
Which mast is your aerial pointing to? Would be an idea to update the custom transponders in the ABM file while you investigate this issue?
Which mast is your aerial pointing to? Would be an idea to update the custom transponders in the ABM file while you investigate this issue?
Belmont transmitter, I'm pretty sure the custom transponder does actually work. :)
abu baniaz
30-06-21, 21:40
OK. Let us know if any changes are required.
Main scanning frequency:
<configuration key="belmont____________" frequency="506000000">Belmont</configuration>
Custom transponders:
<customtransponder key="belmont____________" frequency="482000000" transport_stream_id="104f" system="0"/>
<customtransponder key="belmont____________" frequency="490000000" transport_stream_id="5040" system="0"/>
<customtransponder key="belmont____________" frequency="506000000" transport_stream_id="201b" system="0"/>
<customtransponder key="belmont____________" frequency="514000000" transport_stream_id="6040" system="0"/>
<customtransponder key="belmont____________" frequency="530000000" transport_stream_id="4089" system="1"/>
<customtransponder key="belmont____________" frequency="546000000" transport_stream_id="3006" system="0"/>
<customtransponder key="belmont____________" frequency="562000000" transport_stream_id="8001" system="0"/>
<customtransponder key="belmont____________" frequency="746000000" transport_stream_id="a000" system="1"/>
So remove the reverse. It doesn't serve any really useful purpose these days now the tuner selection logic works 100%.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L292
... that looks fine, the only subtle difference is C30, which shows as C30- on ukfree.tv, with a frequency of 545833000, but I think 3 significant digits is all that's needed.
Which mast is your aerial pointing to? Would be an idea to update the custom transponders in the ABM file while you investigate this issue?
It was established some time ago that the frequency finder gave incorrect results with the terrestrial tuners fitted to the Xtrend 10K. The problem manifested itself as values of 65535 being seen and some signals from the "wrong" transmitter being identified (in my case I can see 3 transmitters) At the time is was put down to a problem with the supplied drivers and as a result no changes were made to the Enigma/OpenVix code. If this is still happening be very wary about coming to conclusions about problems with the py3 code which is actually a problem/bug in the tuner drivers.
The (heated) discussion about the problem with the tuners is in this thread posted in 2018 (page 3 ish)
https://www.world-of-satellite.com/showthread.php?59943-ABM-(UK-Terrestrail-)-Add-HD-channels-regions-REVISTED-Bluebell-Hill
So remove the reverse. It doesn't serve any really useful purpose these days now the tuner selection logic works 100%.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L292
That now works fine on the Ultimo4k, tuner A was in use recording, and also on live tv, so might it have used tuner B ?
Also work fine on my ET10K, using tuner A (and seemed to run a lot faster), and picks the highest signal quality....
<configuration key="custom" frequency="506000000" system="0">East Yorks & Lincs terrestrial</configuration>
</dvbtconfigs>
<customtransponders>
<!-- customtransponder key="custom" frequency="482000000" transport_stream_id="104f" system="0"/ --><!-- original_network_id="233a" signalQuality="47237" channel="22" -->
<!-- customtransponder key="custom" frequency="490000000" transport_stream_id="5040" system="0"/ --><!-- original_network_id="233a" signalQuality="43803" channel="23" -->
<!-- customtransponder key="custom" frequency="506000000" transport_stream_id="201b" system="0"/ --><!-- original_network_id="233a" signalQuality="48102" channel="25" -->
<!-- customtransponder key="custom" frequency="514000000" transport_stream_id="6040" system="0"/ --><!-- original_network_id="233a" signalQuality="45520" channel="26" -->
<customtransponder key="custom" frequency="530000000" transport_stream_id="4089" system="1"/><!-- original_network_id="233a" signalQuality="48102" channel="28" -->
<!-- customtransponder key="custom" frequency="545833000" transport_stream_id="3006" system="0"/ --><!-- original_network_id="233a" signalQuality="45520" channel="30" -->
<!-- customtransponder key="custom" frequency="562000000" transport_stream_id="8001" system="0"/ --><!-- original_network_id="233a" signalQuality="28337" channel="32" -->
<customtransponder key="custom" frequency="746000000" transport_stream_id="a000" system="1"/><!-- original_network_id="233a" signalQuality="40369" channel="55" -->
</customtransponders>
... that looks fine, the only subtle difference is C30, which shows as C30- on ukfree.tv, with a frequency of 545833000, but I think 3 significant digits is all that's needed.
Frequency is in MHz.
((474 + (bandwidth * (channel - 21))) * 1000000)
Where bandwidth is 8, and channel is between 21 and 69... which is probably outside the current range of the British terrestrial TV band.
So remove the reverse. It doesn't serve any really useful purpose these days now the tuner selection logic works 100%.
https://github.com/oe-alliance/AutoBouquetsMaker/blob/master/AutoBouquetsMaker/src/scanner/frequencyfinder.py#L292
Any chance of making this a permanent change (or configurable option) ?
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.