- dynamic interface handling
authorMladen Horvat <acid-burn@opendreambox.org>
Tue, 15 Jul 2008 21:03:56 +0000 (21:03 +0000)
committerMladen Horvat <acid-burn@opendreambox.org>
Tue, 15 Jul 2008 21:03:56 +0000 (21:03 +0000)
- update some translations
- add new box depending rc visualisations

networkwizard/CONTROL/control
networkwizard/po/de.po
networkwizard/po/en.po
networkwizard/src/NetworkWizard.py
networkwizard/src/networkwizard.xml

index a04fbe0..316df8b 100755 (executable)
@@ -6,5 +6,5 @@ Section: extra
 Priority: optional
 Maintainer: Mladen Horvat <mladen.horvat@multimedia-labs.de>
 Homepage: http://enigma2-plugins.schwerkraft.elitedvb.net
-Depends: enigma2(>2.5cvs20080529), wpa-supplicant, wireless-tools
+Depends: enigma2(>1.0cvs20070321), wpa-supplicant, wireless-tools
 Source: http://enigma2-plugins.schwerkraft.elitedvb.net/
index 4d47f76..6e1f0b8 100755 (executable)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-06-17 17:08+0200\n"
+"POT-Creation-Date: 2008-07-15 22:49+0200\n"
 "PO-Revision-Date: 2008-05-16 17:15+0100\n"
 "Last-Translator: Stefan Pluecken <stefan.pluecken@multimedia-labs.de>\n"
 "Language-Team: none\n"
@@ -19,14 +19,11 @@ msgstr ""
 "X-Poedit-Country: GERMANY\n"
 "X-Poedit-SourceCharset: iso-8859-15\n"
 
-msgid "Configure your LAN again"
-msgstr "Netzwerk erneut konfigurieren"
-
 msgid "Configure your internal LAN"
 msgstr "Internes Netzwerk konfigurieren"
 
-msgid "Configure your wireless LAN"
-msgstr "Funknetzwerk konfigurieren"
+msgid "Configure your network again"
+msgstr "Netzwerk erneut konfigurieren"
 
 msgid "Configure your wireless LAN again"
 msgstr "Funknetzwerk erneut konfigurieren"
@@ -41,22 +38,34 @@ msgid "No Networks found"
 msgstr "Keine Netzwerke gefunden"
 
 msgid ""
-"Please configure your LAN internet connection by filling out the required "
+"Please configure or verify your Nameservers by filling out the required "
 "values.\n"
 "When you are ready press OK to continue."
 msgstr ""
-"Konfigurieren Sie Ihr Netzwerk durch ausfüllen der entsprechenden "
+"Konfigurieren Sie Ihre DNS-Server durch ausfüllen der entsprechenden "
 "Werte.\n"
 "Drücken Sie OK zum fortfahren"
 
 msgid ""
-"Please configure your wireless LAN internet connection by filling out the "
-"required values.\n"
-"When you are done, press OK to continue."
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
 msgstr ""
-"Konfigurieren Sie Ihr Funketzwerk durch ausfüllen der entsprechenden "
+"Konfigurieren Sie Ihr Netzwerk durch ausfüllen der entsprechenden "
 "Werte.\n"
-"Drücken Sie OK zum fortfahren."
+"Drücken Sie OK zum fortfahren"
+
+
+msgid ""
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
+"\n"
+"Please press OK to continue."
+msgstr ""
+"Bitte wählen Sie die Netzwerkschnitstelle welche Sie für Ihren Internetzugang"
+"nutzen möchten.\n"
+"\n"
+"Drücken Sie OK zum fortfahren"
 
 msgid ""
 "Please select the wireless LAN network that you want to connect to.\n"
@@ -67,14 +76,12 @@ msgstr ""
 "\n"
 "Drücken Sie OK zum fortfahren."
 
-msgid "Restart your wireless interface"
-msgstr "Funk-Netzwerkadapter neu starten"
-
 msgid ""
-"Thank you for using the wizard. Your Dreambox is now ready to use.\n"
+"Thank you for using the wizard. Your Network is now ready to use.\n"
 "Please press OK to continue."
 msgstr ""
-"Vielen Dank das Sie den Assisten benutzt haben. Ihr Netzwerk ist nun fertig konfiguriert.\n"
+"Vielen Dank das Sie den Assisten benutzt haben. Ihr Netzwerk ist nun "
+"fertig konfiguriert.\n"
 "Drücken Sie OK zum fortfahren."
 
 msgid ""
@@ -84,21 +91,6 @@ msgstr ""
 "Das WirelessLan Plugin ist nicht instaliert!\n"
 "Bitte installieren Sie es und wählen Sie dann eine Option zum fortfahren."
 
-msgid ""
-"Use the up/down keys on your remote control to select an option. After that, "
-"press OK.\n"
-"\n"
-"\n"
-"\n"
-"Connect to the internet..."
-msgstr ""
-"Benutzen Sie die hoch/runter Tasten ihrer Fernbedienung um eine Option auszuwählen. Danach drücken Sie "
-"bitte OK.\n"
-"\n"
-"\n"
-"\n"
-"Mit dem Internet verbinden..."
-
 msgid "WEP"
 msgstr "WEP"
 
@@ -118,15 +110,15 @@ msgid ""
 msgstr ""
 "Wilkommen.\n"
 "\n"
-"Wenn Sie Ihre Dreambox mit dem Internet verbinden möchten, wird sie dieser Assistent "
-"durch die grundlegenden Netzwerkeinstellungen führen.\n"
+"Wenn Sie Ihre Dreambox mit dem Internet verbinden möchten, wird sie dieser "
+"Assistent durch die grundlegenden Netzwerkeinstellungen führen.\n"
 "\n"
 "Drücken Sie OK um Ihr Netzwerk zu konfigurieren"
 
 msgid ""
 "Your Dreambox is now ready to use.\n"
 "\n"
-"Your LAN internet connection is working now.\n"
+"Your internet connection is working now.\n"
 "\n"
 "Please press OK to continue."
 msgstr ""
@@ -137,35 +129,13 @@ msgstr ""
 "Drücken Sie OK zum fortfahren."
 
 msgid ""
-"Your Dreambox is now ready to use.\n"
-"\n"
-"Your wireless LAN internet connection is working now.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-"Ihre Dreambox ist nun konfiguriert.\n"
-"\n"
-"Ihre Funk-Internetverbindung funktioniert nun.\n"
-"\n"
-"Drücken Sie OK zum fortfahren."
-
-msgid ""
-"Your LAN internet connection is not working!\n"
+"Your internet connection is not working!\n"
 "Please choose what you want to do next."
 msgstr ""
 "Ihre Internetverbindung funktioniert nicht!\n"
 "Bite wählen Sie eine Option zum fortfahren."
 
 msgid ""
-"Your network is restarting.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-"Ihr Netzwerk wird neu gestartet.\n"
-"\n"
-"Bitte drücken Sie OK zum fortfahren."
-
-msgid ""
 "Your wireless LAN internet connection could not be started!\n"
 "Have you attached your USB WLAN Stick?\n"
 "\n"
@@ -176,18 +146,6 @@ msgstr ""
 "\n"
 "Bite wählen Sie eine Option zum fortfahren."
 
-msgid ""
-"Your wireless LAN internet connection is not working!\n"
-"Please choose what you want to do next."
-msgstr ""
-"Ihre Funk-Internetverbindung funktioniert nicht!\n"
-"Bite wählen Sie eine Option zum fortfahren."
-
 msgid "unavailable"
 msgstr "nicht verfügbar"
 
-msgid "via LAN."
-msgstr "über LAN"
-
-msgid "via wireless LAN."
-msgstr "über WLAN"
index 4bad68f..1c16f0a 100755 (executable)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-06-17 17:08+0200\n"
+"POT-Creation-Date: 2008-07-15 22:49+0200\n"
 "PO-Revision-Date: 2005-11-17 20:53+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -16,13 +16,10 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-msgid "Configure your LAN again"
-msgstr ""
-
 msgid "Configure your internal LAN"
 msgstr ""
 
-msgid "Configure your wireless LAN"
+msgid "Configure your network again"
 msgstr ""
 
 msgid "Configure your wireless LAN again"
@@ -38,28 +35,32 @@ msgid "No Networks found"
 msgstr ""
 
 msgid ""
-"Please configure your LAN internet connection by filling out the required "
+"Please configure or verify your Nameservers by filling out the required "
 "values.\n"
 "When you are ready press OK to continue."
 msgstr ""
 
 msgid ""
-"Please configure your wireless LAN internet connection by filling out the "
-"required values.\n"
-"When you are done, press OK to continue."
+"Please configure your internet connection by filling out the required "
+"values.\n"
+"When you are ready press OK to continue."
 msgstr ""
 
 msgid ""
-"Please select the wireless LAN network that you want to connect to.\n"
+"Please select the network interface that you want to use for your internet "
+"connection.\n"
 "\n"
 "Please press OK to continue."
 msgstr ""
 
-msgid "Restart your wireless interface"
+msgid ""
+"Please select the wireless LAN network that you want to connect to.\n"
+"\n"
+"Please press OK to continue."
 msgstr ""
 
 msgid ""
-"Thank you for using the wizard. Your Dreambox is now ready to use.\n"
+"Thank you for using the wizard. Your Network is now ready to use.\n"
 "Please press OK to continue."
 msgstr ""
 
@@ -68,15 +69,6 @@ msgid ""
 "Please install it and choose what you want to do next."
 msgstr ""
 
-msgid ""
-"Use the up/down keys on your remote control to select an option. After that, "
-"press OK.\n"
-"\n"
-"\n"
-"\n"
-"Connect to the internet..."
-msgstr ""
-
 msgid "WEP"
 msgstr ""
 
@@ -98,47 +90,22 @@ msgstr ""
 msgid ""
 "Your Dreambox is now ready to use.\n"
 "\n"
-"Your LAN internet connection is working now.\n"
+"Your internet connection is working now.\n"
 "\n"
 "Please press OK to continue."
 msgstr ""
 
 msgid ""
-"Your Dreambox is now ready to use.\n"
-"\n"
-"Your wireless LAN internet connection is working now.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-
-msgid ""
-"Your LAN internet connection is not working!\n"
+"Your internet connection is not working!\n"
 "Please choose what you want to do next."
 msgstr ""
 
 msgid ""
-"Your network is restarting.\n"
-"\n"
-"Please press OK to continue."
-msgstr ""
-
-msgid ""
 "Your wireless LAN internet connection could not be started!\n"
 "Have you attached your USB WLAN Stick?\n"
 "\n"
 "Please choose what you want to do next."
 msgstr ""
 
-msgid ""
-"Your wireless LAN internet connection is not working!\n"
-"Please choose what you want to do next."
-msgstr ""
-
 msgid "unavailable"
 msgstr ""
-
-msgid "via LAN."
-msgstr ""
-
-msgid "via wireless LAN."
-msgstr ""
index 6d77cf3..e205cd5 100755 (executable)
@@ -2,7 +2,7 @@
 from __init__ import _
 
 from Screens.Wizard import wizardManager, WizardSummary
-from Components.Pixmap import Pixmap, MovingPixmap
+from Components.Pixmap import Pixmap, MovingPixmap, MultiPixmap
 from Components.config import config, ConfigBoolean, configfile, ConfigYesNo, NoSave, ConfigSubsection, ConfigText, getConfigListEntry, ConfigSelection
 from Components.Network import iNetwork
 from Components.Label import Label
@@ -12,6 +12,7 @@ from Plugins.Plugin import PluginDescriptor
 from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
 import time, os, re
 from WizardPluginLanguage import WizardPluginLanguage
+from Screens.Rc import Rc
 
 config.misc.firstrun = ConfigBoolean(default = True)
 list = []
@@ -21,13 +22,12 @@ list.append(_("WPA2"))
 
 config.plugins.wlan = ConfigSubsection()
 config.plugins.wlan.essid = NoSave(ConfigText(default = "home", fixed_size = False))
-
 config.plugins.wlan.encryption = ConfigSubsection()
 config.plugins.wlan.encryption.enabled = NoSave(ConfigYesNo(default = False))
 config.plugins.wlan.encryption.type = NoSave(ConfigSelection(list, default = _("WPA")))
 config.plugins.wlan.encryption.psk = NoSave(ConfigText(default = "mysecurewlan", fixed_size = False))
 
-class NetworkWizard(WizardPluginLanguage):
+class NetworkWizard(WizardPluginLanguage, Rc):
        skin = """
                <screen position="0,0" size="720,576" title="Welcome..." flags="wfNoBorder" >
                        <widget name="text" position="153,50" size="340,300" font="Regular;22" />
@@ -35,36 +35,51 @@ class NetworkWizard(WizardPluginLanguage):
                                <convert type="StringList" />
                        </widget>
                        <widget name="config" position="53,310" zPosition="1" size="440,220" transparent="1" scrollbarMode="showOnDemand" />
-                       <widget name="wizard" pixmap="skin_default/wizard.png" position="40,50" zPosition="10" size="110,174" transparent="1" alphatest="on"/>
                        <ePixmap pixmap="skin_default/buttons/button_red.png" position="40,225" zPosition="0" size="15,16" transparent="1" alphatest="on" />
                        <widget name="languagetext" position="55,225" size="95,30" font="Regular;18" />
-                       <widget name="rc" pixmap="skin_default/rc.png" position="500,600" zPosition="10" size="154,475" transparent="1" alphatest="on"/>
-                       <widget name="arrowdown" pixmap="skin_default/arrowdown.png" position="0,0" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
-                       <widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
-                       <widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
-                       <widget name="arrowup3" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" transparent="1" alphatest="on"/>
+                       <widget name="wizard" pixmap="skin_default/wizard.png" position="40,50" zPosition="10" size="110,174" alphatest="on" />
+                       <widget name="rc" pixmaps="skin_default/rc.png,skin_default/rcold.png" position="500,50" zPosition="10" size="154,500" alphatest="on" />
+                       <widget name="arrowdown" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowdown2" pixmap="skin_default/arrowdown.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowup" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
+                       <widget name="arrowup2" pixmap="skin_default/arrowup.png" position="-100,-100" zPosition="11" size="37,70" alphatest="on" />
                </screen>"""
        def __init__(self, session):
                self.xmlfile = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/NetworkWizard/networkwizard.xml")
-               
                WizardPluginLanguage.__init__(self, session, showSteps = False, showStepSlider = False)
+               Rc.__init__(self)
                self.session = session
                self["wizard"] = Pixmap()
-               self["rc"] = MovingPixmap()
-               self["arrowdown"] = MovingPixmap()
-               self["arrowup"] = MovingPixmap()
-               self["arrowup2"] = MovingPixmap()
-               self["arrowup3"] = MovingPixmap()
                
                self.InterfaceState = None
                self.isInterfaceUp = None
-               self.InterfaceAvailable = None
                self.WlanPluginInstalled = None
                self.ap = None
+               self.selectedInterface = None
+               self.NextStep = None
                
-               self.isInterfaceAvailable()
                self.isWlanPluginInstalled()
 
+       def listInterfaces(self):
+               list = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
+               list.append((_("Exit wizard and configure later manually"), "end"))
+               return list
+
+       def InterfaceSelectionMade(self, index):
+               self.selectedInterface = index
+               self.InterfaceSelect(index)
+
+       def InterfaceSelect(self, index):
+               if index == 'end':
+                       self.NextStep = 'end'
+               elif index == 'eth0':
+                       self.NextStep = 'nwconfig'
+               else:
+                       self.NextStep = 'scanwlan'
+
+       def InterfaceSelectionMoved(self):
+               self.InterfaceSelect(self.selection)
+               
        def checkInterface(self,iface):
                self.Adapterlist = iNetwork.getAdapterList()
                if len(self.Adapterlist) == 0:
@@ -76,7 +91,9 @@ class NetworkWizard(WizardPluginLanguage):
                if iface == 'wlan0':
                        iNetwork.resetNetworkConfig('wlan')
                        self.InterfaceUp('wlan0')
-
+               if iface == 'ath0':
+                       iNetwork.resetNetworkConfig('wlan-mpci')
+                       self.InterfaceUp('ath0')
        def InterfaceUp(self,iface):
                iNetwork.getInterfaces()
                if iNetwork.getAdapterAttribute(iface, 'up') is True:
@@ -95,7 +112,7 @@ class NetworkWizard(WizardPluginLanguage):
                        list.append( ( _("No Networks found"),_("unavailable") ) )
                        return list
                else:   
-                       self.w = Wlan('wlan0')
+                       self.w = Wlan(self.selectedInterface)
                        aps = self.w.getNetworkList()
                        if aps is not None:
                                print "[Wlan.py] got Accespoints!"
@@ -108,24 +125,23 @@ class NetworkWizard(WizardPluginLanguage):
                        list.sort(key = lambda x: x[0])
                        return list
 
-
        def modeSelectionMade(self, index):
-               print "modeSelectionMade:", index
                self.ap = index
                self.modeSelect(index)
                
        def modeSelectionMoved(self):
-               print "mode selection moved:", self.selection
                self.modeSelect(self.selection)
                
        def modeSelect(self, mode):
                print "ModeSelected:", mode
 
        def saveAccessPoint(self, mode):
+               from Plugins.SystemPlugins.WirelessLan.Wlan import wpaSupplicant,Wlan
+               self.ws = wpaSupplicant()
+               wsconfig = self.ws.loadConfig()
                config.plugins.wlan.essid.value = str(mode)
                config.plugins.wlan.essid.save()
-               config.plugins.wlan.encryption.enabled.value = False
-               config.plugins.wlan.encryption.enabled.save()           
+               self.ws.writeConfig()
 
        def checkNetwork(self):
                ret = iNetwork.checkNetworkState()
@@ -138,13 +154,7 @@ class NetworkWizard(WizardPluginLanguage):
                iNetwork.restartNetwork()
                self.checkNetwork()
        
-       def isInterfaceAvailable(self):
-               ret = iNetwork.checkforInterface('wlan0')
-               if ret == True:
-                       self.InterfaceAvailable = True
-               else:
-                       self.InterfaceAvailable = False
-                       
+
        def isWlanPluginInstalled(self):                
                try:
                        from Plugins.SystemPlugins.WirelessLan.Wlan import Wlan
index 43c1ad6..9b1f009 100755 (executable)
@@ -1,97 +1,47 @@
 <wizard>
-               <step id="welcome" nextstep="introduction">
+               <step id="welcome" nextstep="selectinterface">
                        <text value="Welcome.\n\nIf you want to connect your Dreambox to the Internet, this wizard will guide you through the basic network setup of your Dreambox.\n\nPress OK to start configuring your network" />
                        <code>
-self["arrowdown"].moveTo(557, 232, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].moveTo(800, 232, 1)
-self["arrowup"].startMoving()
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(800, 320, 1)
-self["arrowup3"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
                        </code>
                </step>
 
-               <step id="introduction" >
-               <condition>
-self.condition = (self.InterfaceAvailable == True )
-               </condition>
-                       <text value="Use the up/down keys on your remote control to select an option. After that, press OK.\n\n\n\nConnect to the internet..." />
-                       <list>
-                               <listentry caption="via LAN." step="conflan" />
-                               <listentry caption="via wireless LAN." step="scanwlan" />
-                               <listentry caption="Exit wizard and configure later manually" step="end" />
-                       </list>
-                       <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
-                       </code>
-               </step>
+               <step id="selectinterface">
 
-               <step id="introduction" >
-               <condition>
-self.condition = (self.InterfaceAvailable == False )
-               </condition>
-                       <text value="Use the up/down keys on your remote control to select an option. After that, press OK.\n\n\n\nConnect to the internet..." />
-                       <list>
-                               <listentry caption="via LAN." step="conflan" />
-                               <listentry caption="Exit wizard and configure later manually" step="end" />
-                       </list>
+                       <text value="Please select the network interface that you want to use for your internet connection.\n\nPlease press OK to continue." />
+                       <list type="dynamic" source="listInterfaces" evaluation="InterfaceSelectionMade" onselect="InterfaceSelectionMoved" />
                        <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
                        </code>
+                       <code pos="after">
+self.checkInterface(self.selectedInterface)                        
+self.currStep = self.getStepWithID(self.NextStep)
+                       </code> 
                </step>
 
-               <step id="conflan" nextstep="conflandns">
-                       <text value="Please configure your LAN internet connection by filling out the required values.\nWhen you are ready press OK to continue." />
-                       <config screen="AdapterSetup" module="NetworkSetup" args="'eth0'" type="ConfigList" />
-                       <code>
-self.checkInterface('eth0')
-                       </code> 
+               <step id="nwconfig" nextstep="confdns">
+                       <text value="Please configure your internet connection by filling out the required values.\nWhen you are ready press OK to continue." />
+                       <config screen="AdapterSetup" module="NetworkSetup" args="self.selectedInterface" type="ConfigList" />
                        <code>
-self["arrowup2"].moveTo(525, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(590, 320, 1)
-self["arrowup3"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+self.selectKey("LEFT")
+self.selectKey("RIGHT")
                        </code>
                </step>
 
-               <step id="conflandns" nextstep="checklanstatusend">
+               <step id="confdns" nextstep="checklanstatusend">
                        <text value="Please configure or verify your Nameservers by filling out the required values.\nWhen you are ready press OK to continue." />
                        <config screen="NameserverSetup" module="NetworkSetup" type="ConfigList" />
                        <code>
-self["arrowup2"].moveTo(525, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(590, 320, 1)
-self["arrowup3"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
                        </code>
                        <code pos="after">
 self.checkNetwork()
@@ -102,18 +52,10 @@ self.checkNetwork()
                <condition>
 self.condition = (self.InterfaceState == True )
                </condition>
-                       <text value="Your Dreambox is now ready to use.\n\nYour LAN internet connection is working now.\n\nPlease press OK to continue." />
+                       <text value="Your Dreambox is now ready to use.\n\nYour internet connection is working now.\n\nPlease press OK to continue." />
                        <code>
-self["arrowdown"].moveTo(557, 232, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].moveTo(800, 232, 1)
-self["arrowup"].startMoving()
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(800, 320, 1)
-self["arrowup3"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
                        </code>
                </step>
 
@@ -121,43 +63,33 @@ self["rc"].startMoving()
                <condition>
 self.condition = (self.InterfaceState == False )
                </condition>
-                       <text value="Your LAN internet connection is not working!\nPlease choose what you want to do next." />
+                       <text value="Your internet connection is not working!\nPlease choose what you want to do next." />
                        <code>
-self["arrowdown"].moveTo(557, 232, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].moveTo(800, 232, 1)
-self["arrowup"].startMoving()
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(800, 320, 1)
-self["arrowup3"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
                        </code>
                        <list>
-                               <listentry caption="Configure your LAN again" step="conflan" />
-                               <listentry caption="Configure your wireless LAN" step="scanwlan" />
+                               <listentry caption="Configure your network again" step="selectinterface" />
                                <listentry caption="Exit wizard and configure later manually" step="end" />
                        </list>
                </step>
 
-
-               <step id="scanwlan" nextstep="wlanconfig">
+               <step id="scanwlan" nextstep="nwconfig">
                <condition>
-self.checkInterface('wlan0')                   
+self.checkInterface(self.selectedInterface)                    
 self.condition = (self.isInterfaceUp == True and self.WlanPluginInstalled == True)
                </condition>
                        <text value="Please select the wireless LAN network that you want to connect to.\n\nPlease press OK to continue." />
                        <list type="dynamic" source="listModes" evaluation="modeSelectionMade" onselect="modeSelectionMoved" />
                        <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
+self.selectKey("LEFT")
+self.selectKey("RIGHT")
                        </code>
                        <code pos="after">
 self.saveAccessPoint(self.ap)
@@ -166,139 +98,47 @@ self.saveAccessPoint(self.ap)
 
                <step id="scanwlan">
                <condition>
-self.checkInterface('wlan0')                           
+self.checkInterface(self.selectedInterface)                            
 self.condition = (self.isInterfaceUp == False and self.WlanPluginInstalled == True)
                </condition>
                        <text value="Your wireless LAN internet connection could not be started!\nHave you attached your USB WLAN Stick?\n\nPlease choose what you want to do next." />
                        <list>
                                <listentry caption="Configure your wireless LAN again" step="scanwlan" />
-                               <listentry caption="Configure your internal LAN" step="conflan" />
+                               <listentry caption="Configure your internal LAN" step="selectinterface" />
                                <listentry caption="Exit wizard and configure later manually" step="end" />
                        </list>
                        <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
                        </code>
                </step>
 
                <step id="scanwlan">
                <condition>
-self.checkInterface('wlan0')                           
+self.checkInterface(self.selectedInterface)                            
 self.condition = (self.isInterfaceUp == True and self.WlanPluginInstalled == False)
                </condition>
                        <text value="The wireless LAN plugin is not installed!\nPlease install it and choose what you want to do next." />
                        <list>
-                               <listentry caption="Configure your internal LAN" step="conflan" />
+                               <listentry caption="Configure your internal LAN" step="selectinterface" />
                                <listentry caption="Exit wizard and configure later manually" step="end" />
                        </list>
                        <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
-                       </code>
-               </step>
-
-
-               <step id="wlanconfig" nextstep="confwlandns" timeout="60" timeoutaction="selectnext">
-                       <text value="Please configure your wireless LAN internet connection by filling out the required values.\nWhen you are done, press OK to continue." />
-                       <config screen="AdapterSetup" module="NetworkSetup" args="'wlan0'" type="ConfigList" />
-                       <code>
-self["arrowup2"].moveTo(525, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(590, 320, 1)
-self["arrowup3"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
+self.selectKey("UP")
+self.selectKey("DOWN")
                        </code>
                </step>
 
-               <step id="confwlandns" nextstep="checkwlanstatusend">
-                       <text value="Please configure or verify your Nameservers by filling out the required values.\nWhen you are ready press OK to continue." />
-                       <config screen="NameserverSetup" module="NetworkSetup" type="ConfigList" />
-                       <code>
-self["arrowup2"].moveTo(525, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(590, 320, 1)
-self["arrowup3"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
-                       </code>
-                       <code pos="after">
-self.checkNetwork()
-                       </code> 
-               </step>
-
-               <step id="checkwlanstatusend" nextstep="end">
-               <condition>
-self.condition = (self.InterfaceState == True )
-               </condition>
-                       <text value="Your Dreambox is now ready to use.\n\nYour wireless LAN internet connection is working now.\n\nPlease press OK to continue." />
-                       <code>
-self["arrowdown"].moveTo(557, 232, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].moveTo(800, 232, 1)
-self["arrowup"].startMoving()
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowup3"].moveTo(800, 320, 1)
-self["arrowup3"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
-                       </code>
-               </step>
-
-               <step id="checkwlanstatusend">
-               <condition>
-self.condition = (self.InterfaceState == False )
-               </condition>
-                       <text value="Your wireless LAN internet connection is not working!\nPlease choose what you want to do next." />
+               <step id="end">
+                       <text value="Thank you for using the wizard. Your Network is now ready to use.\nPlease press OK to continue." />
                        <code>
-self["arrowup2"].moveTo(800, 320, 1)
-self["arrowup2"].startMoving()
-self["arrowdown"].moveTo(557, 200, 1)
-self["arrowup"].moveTo(557, 355, 1)
-self["arrowdown"].startMoving()
-self["arrowup"].startMoving()
-self["rc"].moveTo(500, 50, 1)
-self["rc"].startMoving()
+self.clearSelectedKeys()
+self.selectKey("OK")
                        </code>
-                       <list>
-                               <listentry caption="Configure your wireless LAN again" step="scanwlan" />
-                               <listentry caption="Restart your wireless interface" step="wlanrestart" />
-                               <listentry caption="Configure your internal LAN" step="conflan" />
-                               <listentry caption="Exit wizard and configure later manually" step="end" />
-                       </list>
-               </step>
-
-               <step id="wlanrestart" nextstep="checkwlanstatusend" timeout="3" timeoutaction="selectnext">
-                       <text value="Your network is restarting.\n\nPlease press OK to continue." />
-                       <code pos="after">
-self.restartNetwork()
-                       </code> 
-               </step>
-
-               <step id="end">
-                       <text value="Thank you for using the wizard. Your Dreambox is now ready to use.\nPlease press OK to continue." />
-
                </step>
 </wizard>