don't offer scanning on nims where nothing is connected
[enigma2.git] / lib / python / Screens / ScanSetup.py
index 7089074ad0026cf42f379630c8fce5fb1f9cc062..d0af8f7ecadf90ac05a19a20f304c02c453432b3 100644 (file)
@@ -520,8 +520,13 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport):
                        nim_list = []
                        # collect all nims which are *not* set to "nothing"
                        for n in nimmanager.nim_slots:
-                               if not n.config_mode in ("loopthrough", "satposdepends", "nothing"):
-                                       nim_list.append((str(n.slot), n.friendly_full_description))
+                               if n.config_mode == "nothing":
+                                       continue
+                               if n.config_mode in ("loopthrough", "satposdepends"):
+                                       root_id = nimmanager.sec.getRoot(n.slot_id, int(n.config.connectedTo.value))
+                                       if n.type == nimmanager.nim_slots[root_id].type: # check if connected from a DVB-S to DVB-S2 Nim or vice versa
+                                               continue
+                               nim_list.append((str(n.slot), n.friendly_full_description))
 
                        self.scan_nims = ConfigSelection(choices = nim_list)
 
@@ -878,6 +883,10 @@ class ScanSimple(ConfigListScreen, Screen, CableTransponderSearchSupport):
                                        need_scan = True
                                        print x, "not in ", known_networks
                                        known_networks.append(x)
+                                       
+                       # don't offer to scan nims if nothing is connected
+                       if not nimmanager.somethingConnected(nim.slot):
+                               need_scan = False                               
 
                        if need_scan:
                                nims_to_scan.append(nim)