NetworkWizard: follow network.py to improve wireless interface/module detection....
[enigma2.git] / lib / python / Plugins / SystemPlugins / NetworkWizard / NetworkWizard.py
index 150dba9debc1ffd419a716ff5ee11afb770bc7bf..a31b2d4990b63a65967043656825824cda647ab0 100755 (executable)
@@ -82,6 +82,7 @@ class NetworkWizard(WizardLanguage, Rc):
                self.originalAth0State = None
                self.originalEth0State = None
                self.originalWlan0State = None
+               self.originalRa0State = None
                self.originalInterfaceStateChanged = False
                self.Text = None
                self.rescanTimer = eTimer()
@@ -104,9 +105,13 @@ class NetworkWizard(WizardLanguage, Rc):
                self.rescanTimer.stop()
                self.Adapterlist = iNetwork.getAdapterList()
                self.InstalledInterfaceCount = len(self.Adapterlist)
+               if self.Adapterlist is not None:
+                       if self.InstalledInterfaceCount == 1 and self.selectedInterface is None:
+                                       self.selectedInterface = self.Adapterlist[0]
                self.originalAth0State = iNetwork.getAdapterAttribute('ath0', 'up')
                self.originalEth0State = iNetwork.getAdapterAttribute('eth0', 'up')
                self.originalWlan0State = iNetwork.getAdapterAttribute('wlan0', 'up')
+               self.originalRa0State = iNetwork.getAdapterAttribute('ra0', 'up')
 
        def selectInterface(self):
                self.InterfaceState = None
@@ -148,7 +153,9 @@ class NetworkWizard(WizardLanguage, Rc):
                if self.originalWlan0State is False and self.originalInterfaceStateChanged is False:
                        if iNetwork.checkforInterface('wlan0') is True:
                                iNetwork.deactivateInterface('wlan0')
-
+               if self.originalRa0State is False and self.originalInterfaceStateChanged is False:
+                       if iNetwork.checkforInterface('ra0') is True:
+                               iNetwork.deactivateInterface('ra0')
        def listInterfaces(self):
                self.rescanTimer.stop()
                self.checkOldInterfaceState()
@@ -180,7 +187,7 @@ class NetworkWizard(WizardLanguage, Rc):
                                #Reset Network to defaults if network broken
                                iNetwork.resetNetworkConfig('lan', self.resetNetworkConfigCB)
                                self.resetRef = self.session.openWithCallback(self.resetNetworkConfigFinished, MessageBox, _("Please wait while we prepare your network interfaces..."), type = MessageBox.TYPE_INFO, enable_input = False)
-                       if iface in ('eth0', 'wlan0', 'ath0'):
+                       if iface in ('eth0', 'wlan0', 'ath0', 'ra0'):
                                if iface in iNetwork.configuredNetworkAdapters and len(iNetwork.configuredNetworkAdapters) == 1:
                                        if iNetwork.getAdapterAttribute(iface, 'up') is True:
                                                self.isInterfaceUp = True
@@ -229,7 +236,7 @@ class NetworkWizard(WizardLanguage, Rc):
 
        def AdapterSetupEndCB(self,data):
                if data is True:
-                       if self.selectedInterface in ('wlan0', 'ath0'):
+                       if iNetwork.isWirelessInterface(self.selectedInterface):
                                if self.WlanPluginInstalled == True:
                                        from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                                        iStatus.getDataForInterface(self.selectedInterface,self.checkWlanStateCB)
@@ -254,7 +261,7 @@ class NetworkWizard(WizardLanguage, Rc):
                                        text1 = _("Your Dreambox is now ready to use.\n\nYour internet connection is working now.\n\n")
                                        text2 = _('Accesspoint:') + "\t" + str(status[self.selectedInterface]["acesspoint"]) + "\n"
                                        text3 = _('SSID:') + "\t" + str(status[self.selectedInterface]["essid"]) + "\n"
-                                       text4 = _('Link Quality:') + "\t" + str(status[self.selectedInterface]["quality"])+"%" + "\n"
+                                       text4 = _('Link Quality:') + "\t" + str(status[self.selectedInterface]["quality"])+ "\n"
                                        text5 = _('Signal Strength:') + "\t" + str(status[self.selectedInterface]["signal"]) + "\n"
                                        text6 = _('Bitrate:') + "\t" + str(status[self.selectedInterface]["bitrate"]) + "\n"
                                        text7 = _('Encryption:') + " " + str(status[self.selectedInterface]["encryption"]) + "\n"
@@ -272,7 +279,7 @@ class NetworkWizard(WizardLanguage, Rc):
 
        def checkNetworkCB(self,data):
                if data is True:
-                       if self.selectedInterface in ('wlan0', 'ath0'):
+                       if iNetwork.isWirelessInterface(self.selectedInterface):
                                if self.WlanPluginInstalled == True:
                                        from Plugins.SystemPlugins.WirelessLan.Wlan import iStatus
                                        iStatus.getDataForInterface(self.selectedInterface,self.checkWlanStateCB)