mv dir : WlanSetup -> WirelessLanSetup
authorChang.H.S <jhs@dev3>
Mon, 20 Dec 2010 04:19:32 +0000 (13:19 +0900)
committerChang.H.S <jhs@dev3>
Mon, 20 Dec 2010 04:21:22 +0000 (13:21 +0900)
lib/python/Plugins/SystemPlugins/WirelessLanSetup/Makefile.am [new file with mode: 0644]
lib/python/Plugins/SystemPlugins/WirelessLanSetup/__init__.py [new file with mode: 0644]
lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/Makefile.am [new file with mode: 0644]
lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/plugin_wlansetup.xml [new file with mode: 0644]
lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py [new file with mode: 0755]
lib/python/Plugins/SystemPlugins/WlanSetup/Makefile.am [deleted file]
lib/python/Plugins/SystemPlugins/WlanSetup/__init__.py [deleted file]
lib/python/Plugins/SystemPlugins/WlanSetup/meta/Makefile.am [deleted file]
lib/python/Plugins/SystemPlugins/WlanSetup/meta/plugin_wlansetup.xml [deleted file]
lib/python/Plugins/SystemPlugins/WlanSetup/plugin.py [deleted file]

diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/Makefile.am b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/Makefile.am
new file mode 100644 (file)
index 0000000..7ed097b
--- /dev/null
@@ -0,0 +1,7 @@
+installdir = $(LIBDIR)/enigma2/python/Plugins/SystemPlugins/WlanSetup
+
+SUBDIRS = meta
+
+install_PYTHON =       \
+       __init__.py \
+       plugin.py 
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/__init__.py b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/__init__.py
new file mode 100644 (file)
index 0000000..8d1c8b6
--- /dev/null
@@ -0,0 +1 @@
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/Makefile.am b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/Makefile.am
new file mode 100644 (file)
index 0000000..d642705
--- /dev/null
@@ -0,0 +1,3 @@
+installdir = $(datadir)/meta
+
+dist_install_DATA = plugin_wlansetup.xml
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/plugin_wlansetup.xml b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/meta/plugin_wlansetup.xml
new file mode 100644 (file)
index 0000000..0fc21e7
--- /dev/null
@@ -0,0 +1,17 @@
+<default>
+         <prerequisites>
+                    <tag type="System" />
+         </prerequisites>
+          <info language="en">
+                    <author>ikseong</author>
+                    <name>WlanSetup</name>
+                    <packagename>enigma2-plugin-systemplugins-wlansetup</packagename>
+                    <shortdescription>Wireless LAN Setup plugin</shortdescription>
+                    <description>Wireless LAN setting and search AP and show status.
+                    </description>
+          </info>
+         <files type="package"> <!-- without version, without .ipk -->
+               <file type="package" name="enigma2-plugin-systemplugins-wlansetup" />
+       </files>
+
+</default>
diff --git a/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py b/lib/python/Plugins/SystemPlugins/WirelessLanSetup/plugin.py
new file mode 100755 (executable)
index 0000000..1788de5
--- /dev/null
@@ -0,0 +1,1276 @@
+from Screens.Screen import Screen
+from Screens.MessageBox import MessageBox
+from Screens.InputBox import InputBox
+from Screens.Standby import *
+from Screens.VirtualKeyBoard import VirtualKeyBoard
+from Screens.HelpMenu import HelpableScreen
+from Components.Network import iNetwork
+#from Screens.NetworkSetup import NameserverSetup, NetworkAdapterTest
+from Screens.NetworkSetup import NameserverSetup
+from Components.Sources.StaticText import StaticText
+from Components.Sources.Boolean import Boolean
+from Components.Sources.List import List
+from Components.Label import Label,MultiColorLabel
+from Components.Pixmap import Pixmap,MultiPixmap
+from Components.MenuList import MenuList
+from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigText, ConfigPassword, ConfigSelection, getConfigListEntry, ConfigNothing
+from Components.config import ConfigInteger, ConfigSubsection
+from Components.ConfigList import ConfigListScreen
+from Components.PluginComponent import plugins
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
+from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
+from Components.Console import Console
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN
+from Tools.LoadPixmap import LoadPixmap
+from Plugins.Plugin import PluginDescriptor
+from enigma import eTimer, ePoint, eSize, RT_HALIGN_LEFT, eListboxPythonMultiContent, gFont
+from os import path as os_path, system as os_system, unlink
+from re import compile as re_compile, search as re_search
+from Tools.Directories import fileExists
+import time
+
+class WlanSelection(Screen):
+       skin = """
+       <screen name="WlanSelection" position="209,48" size="865,623" title="Wireless Network Selection..." flags="wfNoBorder" backgroundColor="transparent">   
+               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
+               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
+               <eLabel text="Wireless Network Selection..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
+               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
+               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
+                       <convert type="ClockToText">Format:%H:%M</convert>
+               </widget>
+               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
+               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
+               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
+               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
+       </screen>"""
+       
+       def __init__(self, session):
+               Screen.__init__(self,session)
+               self.mainmenu = self.getWlandevice()
+               self["menulist"] = MenuList(self.mainmenu)
+               self["key_red"] = StaticText(_("Close"))                
+               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
+               {
+                       "ok": self.ok,
+                       "cancel": self.close,
+                       "red": self.close,
+               }, -2)
+
+       def ok(self):
+               ifaces=self["menulist"].getCurrent()[1]
+               if ifaces == None:
+                       pass
+               else:
+                       self.session.open(WlanSetup,ifaces)
+
+
+       def getWlandevice(self):
+               list = []
+               for x in iNetwork.getAdapterList():
+                       if x.startswith('eth'):
+                               continue
+                       list.append((iNetwork.getFriendlyAdapterName(x),x))
+               return list
+#              self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
+#              print self.adapters
+#              return self.adapters
+               
+
+
+class WlanSetup(Screen,HelpableScreen):
+       skin = """
+       <screen name="WlanSetup" position="209,48" size="865,623" title="Wireless Network Configuration..." flags="wfNoBorder" backgroundColor="transparent">   
+               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
+               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
+               <eLabel text="Wireless Network Configuration..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
+               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
+               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
+                       <convert type="ClockToText">Format:%H:%M</convert>
+               </widget>
+               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
+               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
+               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
+               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
+       </screen>"""
+       def __init__(self, session, ifaces):
+               Screen.__init__(self, session)
+               HelpableScreen.__init__(self)
+               self.session = session
+               self.iface = ifaces
+               self.restartLanRef = None
+               self.LinkState = None
+               self.mainmenu = self.MakeMenu()
+               self["menulist"] = MenuList(self.mainmenu)
+               self["key_red"] = StaticText(_("Close"))
+               self["description"] = StaticText()
+               self["IFtext"] = StaticText()
+               self["IF"] = StaticText()
+               self["Statustext"] = StaticText()
+               self["statuspic"] = MultiPixmap()
+               self["statuspic"].hide()
+               
+               self.oktext = _("Press OK on your remote control to continue.")
+               self.reboottext = _("Your STB will restart after pressing OK on your remote control.")
+               self.errortext = _("No working wireless network interface found.\n Please verify that you have attached a compatible WLAN device or enable your local network interface.")      
+               
+               self["WizardActions"] = HelpableActionMap(self, "WizardActions",
+                       {
+                       "up": (self.up, _("move up to previous entry")),
+                       "down": (self.down, _("move down to next entry")),
+                       "left": (self.left, _("move up to first entry")),
+                       "right": (self.right, _("move down to last entry")),
+                       })
+               
+               self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
+                       {
+                       "cancel": (self.close, _("exit networkadapter setup menu")),
+                       "ok": (self.ok, _("select menu entry")),
+                       })
+
+               self["ColorActions"] = HelpableActionMap(self, "ColorActions",
+                       {
+                       "red": (self.close, _("exit networkadapter setup menu")),       
+                       })
+
+               self["actions"] = NumberActionMap(["WizardActions","ShortcutActions"],
+               {
+                       "ok": self.ok,
+                       "back": self.close,
+                       "up": self.up,
+                       "down": self.down,
+                       "red": self.close,
+                       "left": self.left,
+                       "right": self.right,
+               }, -2)
+       def up(self):
+               self["menulist"].up()
+       def down(self):
+               self["menulist"].down()
+       def left(self):
+               self["menulist"].pageUp()
+       def right(self):
+               self["menulist"].pageDown()
+       def ok(self):
+               if self["menulist"].getCurrent()[1] == 'setting':
+                       self.session.openWithCallback(self.checklist, WlanConfig, self.iface)
+               elif self["menulist"].getCurrent()[1] == 'scanap':
+                       self.session.open(WlanScanAp, self.iface)
+               elif self["menulist"].getCurrent()[1] == 'dns':
+                       self.session.open(NameserverSetup)
+               elif self["menulist"].getCurrent()[1] == 'status':
+                       self.session.open(Wlanstatus, self.iface)
+               elif self["menulist"].getCurrent()[1] == 'test':
+                       self.session.openWithCallback(self.checklist,NetworkAdapterTest,self.iface)
+               elif self["menulist"].getCurrent()[1] == 'restart':
+                       self.session.openWithCallback(self.restartNet, MessageBox, (_("Are you sure you want to restart your network interfaces?\n\n") + self.oktext ) )
+
+       def checklist(self):
+               self["menulist"].setList(self.MakeMenu())
+
+       def MakeMenu(self):
+               menu = []
+               menu.append((_("Adapter settings"), "setting"))
+               menu.append((_("Scan Wireless AP"), "scanap"))
+               menu.append((_("Nameserver settings"), "dns"))
+               if iNetwork.getAdapterAttribute(self.iface, "up"):
+                       menu.append((_("Show WLAN Status"), "status"))
+               menu.append((_("Network test"), "test"))
+               menu.append((_("Restart network"), "restart"))
+
+               return menu
+               
+       def restartNet(self,ret = False):
+               if ret == True:
+                       os_system('/etc/init.d/networking restart')
+#              self.updateStatusbar()
+#              self.onLayoutFinish.append(self.layoutFinished)
+#              self.onClose.append(self.cleanup)
+
+wlanconfig = ConfigSubsection()
+wlanconfig.usedevice = ConfigSelection(default = "off", choices = [
+       ("off", _("off")), ("on", _("on"))])
+wlanconfig.usedhcp = ConfigSelection(default = "off", choices = [
+       ("off", _("no")), ("on", _("yes"))])
+wlanconfig.essid = ConfigSelection(default = "none", choices = ["none"])
+wlanconfig.encrypt = ConfigSelection(default = "off", choices = [
+       ("off", _("no")), ("on", _("yes"))])
+wlanconfig.method = ConfigSelection(default = "wep", choices = [
+       ("wep", _("WEP")), ("wpa", _("WPA")), ("wpa2", _("WPA2")),("wpa/wpa2", _("WPA/WPA2"))])
+wlanconfig.keytype = ConfigSelection(default = "ascii", choices = [
+       ("ascii", _("ASCII")), ("hex", _("HEX"))])
+wlanconfig.key = ConfigText(default = "XXXXXXXX", visible_width = 50, fixed_size = False)
+wlanconfig.usegateway = ConfigSelection(default = "off", choices = [
+       ("off", _("no")), ("on", _("yes"))])
+wlanconfig.ip   = ConfigIP([0,0,0,0])
+wlanconfig.netmask = ConfigIP([0,0,0,0])
+wlanconfig.gateway = ConfigIP([0,0,0,0])
+
+selectap = None        
+class WlanConfig(Screen, ConfigListScreen, HelpableScreen):
+       skin = """
+       <screen name="WlanConfig" position="209,48" size="865,623" title="Wireless Network Configuration..." flags="wfNoBorder" backgroundColor="transparent">  
+               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
+               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
+               <eLabel text="Wireless Network Configuration..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
+               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
+               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
+                       <convert type="ClockToText">Format:%H:%M</convert>
+               </widget>
+               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
+               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
+               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
+               <widget name="config" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
+               <eLabel text="IP Address : " position="500,160" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />             
+               <widget source="ipaddress" render="Label" position="530,190" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />             
+               <eLabel text="NetMask : " position="500,220" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />                
+               <widget source="netmask" render="Label" position="530,250" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />               
+               <eLabel text="Gateway : " position="500,280" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />                
+               <widget source="gateway" render="Label" position="530,310" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />               
+       </screen>"""
+       def __init__(self, session, iface):
+               Screen.__init__(self,session)
+               self.session = session
+               self.mainmenu = []
+               self["key_red"] = StaticText(_("Close"))                
+               self["ipaddress"] = StaticText(_("[ N/A ]"))
+               self["netmask"] = StaticText(_("[ N/A ]"))              
+               self["gateway"] = StaticText(_("[ N/A ]"))
+               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
+               {
+                       "ok": self.ok,
+                       "cancel": self.close,
+                       "red": self.close,
+               }, -2)
+               self.iface = iface
+               self.ssid = None
+               self.scan_ssid = None
+               self.key_mgmt = None
+               self.proto = None
+               self.key_type = None
+               self.wep_key = None
+               
+               self.list = []
+               self.wlanscanap = None
+               ConfigListScreen.__init__(self, self.list,session = self.session)
+               self.readifSetting()
+
+
+       def keyLeft(self):
+               ConfigListScreen.keyLeft(self)
+               self.newConfig()
+
+       def keyRight(self):
+               ConfigListScreen.keyRight(self)
+               self.newConfig()
+
+
+       def ok(self):
+               if self["config"].isChanged():
+                       self.session.openWithCallback(self.confirmactive, MessageBox, (_("Are you sure you want to restart your network interfaces?\n") ) )
+
+       def confirmactive(self, ret = False):
+               if ret == False:
+                       return
+               else:
+                       num_configured_if = len(iNetwork.getConfiguredAdapters())
+                       if num_configured_if >= 1:
+                               if num_configured_if == 1 and self.iface in iNetwork.getConfiguredAdapters():
+                                       self.saveif(False)
+                               else:
+                                       self.session.openWithCallback(self.saveif, MessageBox, (_("Are you sure you want to deactive another network interfaces?\n") ) )
+                       else:
+                               self.saveif(False)
+                               
+       def saveif(self,ret = False):
+               self["OkCancelActions"].setEnabled(False)
+               self["config_actions"].setEnabled(False)
+               if ret == True:
+                       configuredInterfaces = iNetwork.getConfiguredAdapters()
+                       for interface in configuredInterfaces:
+                               if interface == self.iface:
+                                       continue
+                               iNetwork.setAdapterAttribute(interface, "up", False)
+                               iNetwork.deactivateInterface(interface)
+               wpafd = open("/etc/wpa_supplicant.conf","w")
+               if wpafd > 0:
+                       contents = "#WPA Supplicant Configuration by enigma2\n"
+                       contents += "ctrl_interface=/var/run/wpa_supplicant\n"
+                       contents += "eapol_version=1\n"
+                       contents += "fast_reauth=1\n"
+                       contents += "ap_scan=1\n"
+                       contents += "network={\n"
+                       contents += "\tssid=\""+wlanconfig.essid.value+"\"\n"
+                       contents += "\tscan_ssid=0\n"
+                       if wlanconfig.encrypt.value == "on":
+                               if wlanconfig.method.value =="wep":
+                                       contents += "\tkey_mgmt=NONE\n"
+                                       contents += "\twep_key0="
+                               elif wlanconfig.method.value == "wpa":
+                                       contents += "\tkey_mgmt=WPA-PSK\n"
+                                       contents += "\tproto=WPA\n"
+                                       contents += "\tpairwise=CCMP TKIP\n"
+                                       contents += "\tgroup=CCMP TKIP\n"
+                                       contents += "\tpsk="                                    
+                               elif wlanconfig.method.value == "wpa2":
+                                       contents += "\tkey_mgmt=WPA-PSK\n"
+                                       contents += "\tproto=WPA RSN\n"
+                                       contents += "\tpairwise=CCMP TKIP\n"
+                                       contents += "\tgroup=CCMP TKIP\n"
+                                       contents += "\tpsk="
+                               elif wlanconfig.method.value == "wpa/wpa2":
+                                       contents += "\tkey_mgmt=WPA-PSK\n"
+                                       contents += "\tproto=WPA WPA2\n"
+                                       contents += "\tpairwise=CCMP TKIP\n"
+                                       contents += "\tgroup=CCMP TKIP\n"
+                                       contents += "\tpsk="
+                               if wlanconfig.keytype.value == "ascii":
+                                       contents += "\""+wlanconfig.key.value+"\"\n"            
+                               else:
+                                       contents += wlanconfig.key.value+"\n"
+                       else:
+                               contents += "\tkey_mgmt=NONE\n"                 
+                       contents += "}\n"
+                       print "content = \n"+contents
+                       wpafd.write(contents)
+                       wpafd.close()
+               iffd = open("/etc/network/interfaces","r")
+               if iffd > 0:
+                       prev_content = ""
+                       next_content = ""
+                       data = iffd.readline()
+                       status = 0
+                       while len(data) >0 :
+                               if data.startswith('iface '+self.iface) or data.startswith('auto '+self.iface):
+                                       status = 1
+                                       data = iffd.readline()
+                                       continue
+                               elif not data.startswith('auto lo') and data.startswith('auto '):
+                                       if ret == True or data[5:] not in iNetwork.getConfiguredAdapters():
+                                               data = iffd.readline()
+                                               continue
+                               if status == 1 and data.startswith('iface ') or data.startswith('auto '):
+                                       status = 2
+                               if status == 0:
+                                       prev_content += data
+                               elif status == 2:
+                                       next_content += data
+                               data = iffd.readline()
+                       iffd.close()
+                       iffd = open("/etc/network/interfaces","w")
+                       if iffd > 0 :
+                               if prev_content == "":
+                                       prev_content = "# automatically generated by enigma2\n"
+                                       prev_content += "# do Not change manually!\n\n"
+                                       prev_content += "auto lo\n"
+                                       prev_content += "iface lo inet loopback\n\n"
+                               iffd.write(prev_content)
+                               if wlanconfig.usedevice.value=="on":
+                                       iNetwork.setAdapterAttribute(self.iface, "up", True)
+                                       contents = "auto "+self.iface+"\n"
+                                       contents += "iface "+self.iface+" inet "
+                                       if wlanconfig.usedhcp.value =="on":
+                                               iNetwork.setAdapterAttribute(self.iface, "dhcp", True)                                  
+                                               contents +="dhcp\n"
+                                       else:
+                                               iNetwork.setAdapterAttribute(self.iface, "dhcp", False)
+                                               contents +="static\n"
+                                               print wlanconfig.ip.value
+                                               iNetwork.setAdapterAttribute(self.iface, "ip", wlanconfig.ip.value)
+                                               iNetwork.setAdapterAttribute(self.iface, "netmask", wlanconfig.netmask.value)                                           
+                                               contents +="\taddress "+ self.formatip(wlanconfig.ip.value)+"\n"
+                                               contents +="\tnetmask "+ self.formatip(wlanconfig.netmask.value)+"\n"
+                                               if wlanconfig.usegateway.value == "on":
+                                                       iNetwork.setAdapterAttribute(self.iface, "gateway", wlanconfig.gateway.value)                   
+                                                       contents +="\tgateway "+ self.formatip(wlanconfig.gateway.value)+"\n"
+                                       contents += "\n\tpre-up /usr/sbin/wpa_supplicant -i"+self.iface+" -c/etc/wpa_supplicant.conf -B -D"+iNetwork.detectWlanModule(self.iface)+"\n"
+                                       contents += "\tpost-down wpa_cli terminate\n\n"
+                                       iffd.write(contents)
+                               else:
+                                       iNetwork.setAdapterAttribute(self.iface, "up", False)
+                                       iNetwork.deactivateInterface(self.iface)
+                               iffd.write(next_content)
+                               iffd.close()
+               self.restartNetwork(self.ConfigDataApply)
+               self.configurationmsg = self.session.openWithCallback(self.WlanConfigClose, MessageBox, _("Please wait for activation of your network configuration..."), type = MessageBox.TYPE_INFO, enable_input = False)
+
+       def restartNetwork(self,callback=None):
+               self.restartConsole = Console()
+               cmd="/etc/init.d/networking restart"
+               self.restartConsole.ePopen(cmd, self.restartNetworkFinished, callback)
+
+       def restartNetworkFinished(self, result, retval,extra_args):
+               ( callback ) = extra_args
+               if callback is not None:
+                       callback(True)
+
+       def ConfigDataApply(self,ret):
+               if ret is True:
+                       iNetwork.getInterfaces(self.configurationmsgClose)
+
+       def configurationmsgClose(self,ret):
+               if ret is True:
+                       self.configurationmsg.close(True)
+                       
+       def WlanConfigClose(self,ret):
+               if ret is True:
+                       self.close()
+       
+       def formatip(self, iplist):
+               list = []
+               list = iplist
+               if len(iplist) == 4:
+                       result = str(iplist[0])+"."+str(iplist[1])+"."+str(iplist[2])+"."+str(iplist[3])
+               else:
+                       result ="0.0.0.0"
+               return result
+                       
+       def createConfig(self):
+#              wlanconfig.essid = ConfigSelection(default = "none", choices = ["maruap3","maruap2","none"])
+                       
+               self.tlist=[]
+               self.usedeviceEntry = getConfigListEntry(_("Use Device"), wlanconfig.usedevice)
+               self.usedhcpEntry = getConfigListEntry(_("Use DHCP"), wlanconfig.usedhcp)
+               self.essidEntry = getConfigListEntry(_("ESSID"), wlanconfig.essid)
+               self.encryptEntry = getConfigListEntry(_("Encrypt"), wlanconfig.encrypt)
+               self.methodEntry = getConfigListEntry(_("Method"), wlanconfig.method)
+               self.keytypeEntry = getConfigListEntry(_("Key Type"), wlanconfig.keytype)               
+               self.keyEntry = getConfigListEntry(_("KEY"), wlanconfig.key)
+
+               self.ipEntry = getConfigListEntry(_("IP"), wlanconfig.ip)
+               self.netmaskEntry = getConfigListEntry(_("NetMask"), wlanconfig.netmask)
+
+               self.usegatewayEntry = getConfigListEntry(_("Use Gateway"), wlanconfig.usegateway)
+               self.gatewayEntry = getConfigListEntry(_("Gateway"), wlanconfig.gateway)
+               
+               self.tlist.append( self.usedeviceEntry )
+               if wlanconfig.usedevice.value is "on":
+                       self.tlist.append( self.usedhcpEntry )
+                       if wlanconfig.usedhcp.value is "off":
+                               self.tlist.append(self.ipEntry)
+                               self.tlist.append(self.netmaskEntry)
+                               self.tlist.append(self.usegatewayEntry)
+                               if wlanconfig.usegateway.value is "on":
+                                       self.tlist.append(self.gatewayEntry)
+                       self.tlist.append( self.essidEntry )
+                       self.tlist.append( self.encryptEntry )
+                       if wlanconfig.encrypt.value is "on" :
+                               self.tlist.append( self.methodEntry )
+                               self.tlist.append( self.keytypeEntry )
+                               self.tlist.append( self.keyEntry )
+               
+               self["config"].list = self.tlist
+               self["config"].l.setList(self.tlist)
+               if not self.selectionChanged in self["config"].onSelectionChanged:
+                       self["config"].onSelectionChanged.append(self.selectionChanged)
+
+       def readifSetting(self):
+               try:
+                       if fileExists("/etc/wpa_supplicant.conf"):
+                               wpafd = open("/etc/wpa_supplicant.conf","r")
+                               if wpafd >0:
+                                       data = wpafd.readline()
+                                       while len(data) > 0:
+                                               data = data.lstrip()
+                                               if len(data) == 0:
+                                                       data = wpafd.readline()
+                                                       continue
+                                               if data.startswith('ssid=') and len(data) > 6:
+                                                       self.ssid = data[6:-2]
+                                               elif data.startswith('scan_ssid=') and len(data) > 10:
+                                                       self.scan_ssid = data[10:-1]
+                                               elif data.startswith('key_mgmt=') and len(data) > 9:
+                                                       self.key_mgmt = data[9:-1]
+                                               elif data.startswith('proto=') and len(data) > 6:
+                                                       self.proto = data[6:-1]
+                                               elif data.startswith('wep_key0="') and len(data) > 11:
+                                                       self.key_type = 1
+                                                       self.wep_key = data[10:-2]
+                                               elif data.startswith('wep_key0=') and len(data) > 9:
+                                                       self.key_type = 0
+                                                       self.wep_key = data[9:-1]
+                                               elif data.startswith('psk="') and len(data) > 6:
+                                                       self.key_type = 1
+                                                       self.wep_key = data[5:-2]
+                                               elif data.startswith('psk=') and len(data) > 4:
+                                                       self.key_type = 0
+                                                       self.wep_key = data[4:-1]
+                                                       
+                                               data = wpafd.readline()
+                                       print self.ssid,self.scan_ssid,self.key_mgmt,self.proto,self.key_type,self.wep_key
+                                       wpafd.close()
+                                       self.setfromread()
+                               else:
+                                       print 'read error'
+                       else:
+                               self.setfromread()
+               except:
+                       print 'open error'
+
+       def setfromread(self):
+               iNetwork.getInterfaces()
+               
+               if iNetwork.getAdapterAttribute(self.iface, "up") == True:
+                       default_tmp = "on"
+               else:
+                       default_tmp = "off"
+               wlanconfig.usedevice = ConfigSelection(default=default_tmp, choices = [
+                       ("off", _("off")), ("on", _("on"))])
+               if iNetwork.getAdapterAttribute(self.iface, "dhcp"):
+                       default_tmp = "on"
+               else:
+                       default_tmp = "off"
+               wlanconfig.usedhcp = ConfigSelection(default=default_tmp, choices = [
+                       ("off", _("no")), ("on", _("yes"))])
+               wlanconfig      .ip = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "ip")) or [0,0,0,0]
+               wlanconfig.netmask = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "netmask") or [255,0,0,0])
+               if iNetwork.getAdapterAttribute(self.iface, "gateway"):
+                       default_tmp = "on"
+               else:
+                       default_tmp = "off"
+               wlanconfig.usegateway = ConfigSelection(default = default_tmp, choices = [
+                       ("off", _("no")), ("on", _("yes"))])
+               wlanconfig.gateway = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "gateway") or [0,0,0,0])
+
+               self["ipaddress"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "ip"))))
+               self["netmask"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "netmask"))))
+               self["gateway"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "gateway"))))
+
+               if self.wep_key is not None:
+                       default_tmp = "on"
+               else:
+                       default_tmp = "off"
+               wlanconfig.encrypt = ConfigSelection(default = default_tmp, choices = [
+                       ("off", _("no")), ("on", _("yes"))])
+
+               if self.key_mgmt=="NONE":
+                       default_tmp = "wep"
+               elif self.key_mgmt == "WPA-PSK":
+                       if self.proto == "WPA":
+                               default_tmp = "wpa"
+                       elif self.proto == "WPA RSN":
+                               default_tmp = "wpa2"
+                       elif self.proto == "WPA WPA2":
+                               default_tmp = "wpa/wpa2"
+                       else:
+                               default_tmp = "wpa"
+               else:
+                       default_tmp = "wep"
+                       
+               wlanconfig.method = ConfigSelection(default = default_tmp, choices = [
+                       ("wep", _("WEP")), ("wpa", _("WPA")), ("wpa2", _("WPA2")),("wpa/wpa2", _("WPA/WPA2"))])
+                       
+               if self.key_type == 0:
+                       default_tmp = "hex"
+               else:
+                       default_tmp = "ascii"
+               wlanconfig.keytype = ConfigSelection(default = default_tmp, choices = [
+                       ("ascii", _("ASCII")), ("hex", _("HEX"))])                      
+               default_tmp = self.wep_key or "XXXXXXXX"
+               wlanconfig.key = ConfigText(default = default_tmp, visible_width = 50, fixed_size = False)
+               
+               if wlanconfig.usedevice.value is "on":
+                       self.getAplist()
+               else:
+                       self.createConfig()
+               
+
+       def newConfig(self):
+               if self["config"].getCurrent() == self.usedeviceEntry :
+                       if wlanconfig.usedevice.value is "on":
+                               self.getAplist()
+                       else:
+                               if iNetwork.getAdapterAttribute(self.iface, "up"):
+                                       iNetwork.setAdapterAttribute(self.iface, "up",False)
+                                       iNetwork.deactivateInterface(self.iface)
+                               self.createConfig()
+               elif self["config"].getCurrent() == self.encryptEntry or self["config"].getCurrent() == self.usedhcpEntry \
+               or self["config"].getCurrent() == self.usegatewayEntry :
+                       self.createConfig()
+
+       def selectionChanged(self):
+               current = self["config"].getCurrent()
+               print current
+
+       def getAplist(self):
+               self["OkCancelActions"].setEnabled(False) #chang
+               self["config_actions"].setEnabled(False) #chang
+               if iNetwork.getAdapterAttribute(self.iface, "up") is not True:
+                       os_system('ifconfig '+self.iface+" up")
+                       iNetwork.setAdapterAttribute(self.iface, "up",True)
+                       time.sleep(1.5)
+               self.wlanscanap = Console()
+               cmd1 = "iwlist "+self.iface+" scan"
+               print 'cmd',cmd1
+               self.wlanscanap.ePopen(cmd1, self.iwlistfinnished,self.aplistparse)
+
+       def iwlistfinnished(self, result, retval,extra_args):
+               (statecallback) = extra_args
+               try:
+                       if self.wlanscanap is not None:
+                               if retval == 0:
+                                       self.wlanscanap = None
+                                       content = result.splitlines()
+                                       first = content[0].split()
+                                       completed = False
+                                       for x in first:
+                                               if x == 'completed':
+                                                       completed = True
+                                       if completed == True:
+                                               statecallback(result)
+                                       else:
+                                               statecallback(0)                                        
+                               else:
+                                       statecallback(0)
+               except:
+                       self.close()
+
+
+       def aplistparse(self,data):
+               global selectap
+               if data == 0:
+#                      self.session.openWithCallback(self.createConfig ,MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)               
+                       self.session.open(MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)      
+               else:
+                       self.aplist = []
+                       list = data.splitlines()
+#                      print 'aplistparse',list
+                       for x in list:
+                               xx = x.lstrip()
+                               if xx.startswith('ESSID:') and len(xx)>8:
+                                       self.aplist.append(xx[7:-1])
+#                      print 'rlist\n',rlist
+                       if len(self.aplist) ==0:
+                               self.aplist.append('none')
+#                      print 'aplist', self.aplist
+                       defaultap = None
+                       for x in self.aplist:
+                               if x == selectap:
+                                       defaultap = x
+                       print 'defaultap',defaultap,self.aplist,selectap
+                       if selectap is None and self.ssid is not None and self.ssid in self.aplist:
+                               wlanconfig.essid = ConfigSelection(default=self.ssid,choices = self.aplist)
+                       elif defaultap == selectap and selectap is not None:
+                               wlanconfig.essid = ConfigSelection(default=selectap,choices = self.aplist)
+                       else:
+                               wlanconfig.essid = ConfigSelection(choices = self.aplist)
+                       
+               self.createConfig()
+               self["OkCancelActions"].setEnabled(True)
+               self["config_actions"].setEnabled(True)
+               if iNetwork.getAdapterAttribute(self.iface, "up"):
+                       pass
+               else:
+                       os_system('ifconfig '+self.iface+" down")
+
+class WlanScanAp(Screen):
+       skin = """
+       <screen name="WlanScanAp" position="209,48" size="865,623" title="Wireless Network Scan..." flags="wfNoBorder" backgroundColor="transparent">   
+               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
+               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
+               <eLabel text="Wireless Network Scan..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
+               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
+               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
+                       <convert type="ClockToText">Format:%H:%M</convert>
+               </widget>
+               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
+               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
+               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
+               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
+               <widget source="ap_strength" render="Label" position="490,250" zPosition="1" size="300,30" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />           
+               <widget source="ap_quality" render="Label" position="490,280" zPosition="1" size="300,30" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />            
+       </screen>"""
+       def __init__(self, session, iface):
+               Screen.__init__(self,session)
+               self.session = session
+#              self.aplist = []
+               self.iface = iface
+               self.mainmenu = []
+               self.ap_extra = []
+               self.ap_quality = []
+               self.wlanscanap = None
+               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions","WizardActions" ],
+               {
+                       "ok": self.ok,
+                       "cancel": self.close,
+                       "red": self.close,
+                       "up": self.up,
+                       "down": self.down,
+                       "left": self.left,
+                       "right": self.right,
+               }, -2)
+               self.getAplist()
+               print 'getAplist',self.mainmenu
+               self["menulist"] = MenuList(self.mainmenu)
+               self["key_red"] = StaticText(_("Close"))
+               self["ap_strength"] = StaticText(_("Scanning AP List..")) 
+               self["ap_quality"] = StaticText(_("Wait a moment")) 
+               
+
+       def left(self):
+               self["menulist"].pageUp()
+               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
+                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
+                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
+       
+       def right(self):
+               self["menulist"].pageDown()
+               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
+                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
+                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
+
+       def up(self):
+               self["menulist"].up()
+               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
+                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
+                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
+               
+       def down(self):
+               self["menulist"].down()
+               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
+                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%")
+                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()])               
+
+       def ok(self):
+               global selectap
+               ifaces=self["menulist"].getCurrent()
+               print 'select', ifaces
+               selectap = ifaces
+               self.close()
+
+       def getAplist(self):
+               self["OkCancelActions"].setEnabled(False)
+               if iNetwork.getAdapterAttribute(self.iface, "up"):
+                       pass
+               else:
+                       os_system('ifconfig '+self.iface+" up")
+                       time.sleep(1.5)
+               self.wlanscanap = Console()
+               cmd1 = "iwlist "+self.iface+" scan"
+               self.wlanscanap.ePopen(cmd1, self.iwlistfinnished,self.aplistparse)
+
+       def iwlistfinnished(self, result, retval,extra_args):
+               (statecallback) = extra_args
+               try:
+                       if self.wlanscanap is not None:
+                               if retval == 0:
+                                       self.wlanscanap = None
+                                       content = result.splitlines()
+                                       first = content[0].split()
+                                       completed = False
+                                       for x in first:
+                                               if x == 'completed':
+                                                       completed = True
+                                       if completed == True:
+                                               statecallback(result)
+                                       else:
+                                               statecallback(0)                                        
+                               else:
+                                       statecallback(0)
+               except:
+                       self.close()
+
+
+       def aplistparse(self,data):
+               rlist = []
+               essid_on = 0
+               if data == 0:
+                       self.session.open(MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)
+                       self["menulist"].setList(rlist)
+               else:
+                       list = data.splitlines()
+                       for x in list:
+                               for xx in x.split():
+                                       if xx.startswith('ESSID:') and len(xx)>8:
+                                               rlist.append(xx[7:-1])
+                                               essid_on = 1
+                                       if essid_on == 1 and xx.startswith('Extra:SignalStrength=') and len(xx)>21:
+                                               self.ap_extra.append(xx[6:])
+                                       if essid_on == 1 and xx.startswith('%,LinkQuality:') and len(xx)>14:
+                                               self.ap_quality.append(xx[2:])
+                                               essid_pm = 0
+                       if len(rlist) >0:
+                               self["menulist"].setList(rlist)
+                               if len(self.ap_extra) > 0 and len(self.ap_quality) > 0:
+                                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%")
+                                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
+                               else:
+                                       self["ap_strength"].setText("Select AP")
+                                       self["ap_quality"].setText(" ")
+               if iNetwork.getAdapterAttribute(self.iface, "up"):
+                       pass
+               else:
+                       os_system('ifconfig '+self.iface+" down")
+               self["OkCancelActions"].setEnabled(True)
+
+class NetworkAdapterTest(Screen):      
+       def __init__(self, session,iface):
+               Screen.__init__(self, session)
+               self.iface = iface
+               self.oldInterfaceState = iNetwork.getAdapterAttribute(self.iface, "up")
+               self.setLabels()
+               self.onClose.append(self.cleanup)
+               self.onHide.append(self.cleanup)
+               
+               self["updown_actions"] = NumberActionMap(["WizardActions","ShortcutActions"],
+               {
+                       "ok": self.KeyOK,
+                       "blue": self.KeyOK,
+                       "up": lambda: self.updownhandler('up'),
+                       "down": lambda: self.updownhandler('down'),
+               
+               }, -2)
+               
+               self["shortcuts"] = ActionMap(["ShortcutActions","WizardActions"],
+               {
+                       "red": self.cancel,
+                       "back": self.cancel,
+               }, -2)
+               self["infoshortcuts"] = ActionMap(["ShortcutActions","WizardActions"],
+               {
+                       "red": self.closeInfo,
+                       "back": self.closeInfo,
+               }, -2)
+               self["shortcutsgreen"] = ActionMap(["ShortcutActions"],
+               {
+                       "green": self.KeyGreen,
+               }, -2)
+               self["shortcutsgreen_restart"] = ActionMap(["ShortcutActions"],
+               {
+                       "green": self.KeyGreenRestart,
+               }, -2)
+               self["shortcutsyellow"] = ActionMap(["ShortcutActions"],
+               {
+                       "yellow": self.KeyYellow,
+               }, -2)
+               
+               self["shortcutsgreen_restart"].setEnabled(False)
+               self["updown_actions"].setEnabled(False)
+               self["infoshortcuts"].setEnabled(False)
+               self.onClose.append(self.delTimer)      
+               self.onLayoutFinish.append(self.layoutFinished)
+               self.steptimer = False
+               self.nextstep = 0
+               self.activebutton = 0
+               self.nextStepTimer = eTimer()
+               self.nextStepTimer.callback.append(self.nextStepTimerFire)
+
+       def cancel(self):
+               if self.oldInterfaceState is False:
+                       iNetwork.setAdapterAttribute(self.iface, "up", self.oldInterfaceState)
+                       iNetwork.deactivateInterface(self.iface)
+               self.close()
+
+       def closeInfo(self):
+               self["shortcuts"].setEnabled(True)              
+               self["infoshortcuts"].setEnabled(False)
+               self["InfoText"].hide()
+               self["InfoTextBorder"].hide()
+               self["key_red"].setText(_("Close"))
+
+       def delTimer(self):
+               del self.steptimer
+               del self.nextStepTimer
+
+       def nextStepTimerFire(self):
+               self.nextStepTimer.stop()
+               self.steptimer = False
+               self.runTest()
+
+       def updownhandler(self,direction):
+               if direction == 'up':
+                       if self.activebutton >=2:
+                               self.activebutton -= 1
+                       else:
+                               self.activebutton = 6
+                       self.setActiveButton(self.activebutton)
+               if direction == 'down':
+                       if self.activebutton <=5:
+                               self.activebutton += 1
+                       else:
+                               self.activebutton = 1
+                       self.setActiveButton(self.activebutton)
+
+       def setActiveButton(self,button):
+               if button == 1:
+                       self["EditSettingsButton"].setPixmapNum(0)
+                       self["EditSettings_Text"].setForegroundColorNum(0)
+                       self["NetworkInfo"].setPixmapNum(0)
+                       self["NetworkInfo_Text"].setForegroundColorNum(1)
+                       self["AdapterInfo"].setPixmapNum(1)               # active
+                       self["AdapterInfo_Text"].setForegroundColorNum(2) # active
+               if button == 2:
+                       self["AdapterInfo_Text"].setForegroundColorNum(1)
+                       self["AdapterInfo"].setPixmapNum(0)
+                       self["DhcpInfo"].setPixmapNum(0)
+                       self["DhcpInfo_Text"].setForegroundColorNum(1)
+                       self["NetworkInfo"].setPixmapNum(1)               # active
+                       self["NetworkInfo_Text"].setForegroundColorNum(2) # active
+               if button == 3:
+                       self["NetworkInfo"].setPixmapNum(0)
+                       self["NetworkInfo_Text"].setForegroundColorNum(1)
+                       self["IPInfo"].setPixmapNum(0)
+                       self["IPInfo_Text"].setForegroundColorNum(1)
+                       self["DhcpInfo"].setPixmapNum(1)                  # active
+                       self["DhcpInfo_Text"].setForegroundColorNum(2)    # active
+               if button == 4:
+                       self["DhcpInfo"].setPixmapNum(0)
+                       self["DhcpInfo_Text"].setForegroundColorNum(1)
+                       self["DNSInfo"].setPixmapNum(0)
+                       self["DNSInfo_Text"].setForegroundColorNum(1)
+                       self["IPInfo"].setPixmapNum(1)                  # active
+                       self["IPInfo_Text"].setForegroundColorNum(2)    # active                
+               if button == 5:
+                       self["IPInfo"].setPixmapNum(0)
+                       self["IPInfo_Text"].setForegroundColorNum(1)
+                       self["EditSettingsButton"].setPixmapNum(0)
+                       self["EditSettings_Text"].setForegroundColorNum(0)
+                       self["DNSInfo"].setPixmapNum(1)                 # active
+                       self["DNSInfo_Text"].setForegroundColorNum(2)   # active
+               if button == 6:
+                       self["DNSInfo"].setPixmapNum(0)
+                       self["DNSInfo_Text"].setForegroundColorNum(1)
+                       self["EditSettingsButton"].setPixmapNum(1)         # active
+                       self["EditSettings_Text"].setForegroundColorNum(2) # active
+                       self["AdapterInfo"].setPixmapNum(0)
+                       self["AdapterInfo_Text"].setForegroundColorNum(1)
+                       
+       def runTest(self):
+               next = self.nextstep
+               if next == 0:
+                       self.doStep1()
+               elif next == 1:
+                       self.doStep2()
+               elif next == 2:
+                       self.doStep3()
+               elif next == 3:
+                       self.doStep4()
+               elif next == 4:
+                       self.doStep5()
+               elif next == 5:
+                       self.doStep6()
+               self.nextstep += 1
+
+       def doStep1(self):
+               self.steptimer = True
+               self.nextStepTimer.start(3000)
+               self["key_yellow"].setText(_("Stop test"))
+
+       def doStep2(self):
+               self["Adapter"].setText(iNetwork.getFriendlyAdapterName(self.iface))
+               self["Adapter"].setForegroundColorNum(2)
+               self["Adaptertext"].setForegroundColorNum(1)
+               self["AdapterInfo_Text"].setForegroundColorNum(1)
+               self["AdapterInfo_OK"].show()
+               self.steptimer = True
+               self.nextStepTimer.start(3000)
+
+       def doStep3(self):
+               self["Networktext"].setForegroundColorNum(1)
+               self["Network"].setText(_("Please wait..."))
+               self.AccessPointInfo(self.iface)
+               self["NetworkInfo_Text"].setForegroundColorNum(1)
+               self.steptimer = True
+               self.nextStepTimer.start(3000)
+
+       def doStep4(self):
+               self["Dhcptext"].setForegroundColorNum(1)
+               if iNetwork.getAdapterAttribute(self.iface, 'dhcp') is True:
+                       self["Dhcp"].setForegroundColorNum(2)
+                       self["Dhcp"].setText(_("enabled"))
+                       self["DhcpInfo_Check"].setPixmapNum(0)
+               else:
+                       self["Dhcp"].setForegroundColorNum(1)
+                       self["Dhcp"].setText(_("disabled"))
+                       self["DhcpInfo_Check"].setPixmapNum(1)
+               self["DhcpInfo_Check"].show()
+               self["DhcpInfo_Text"].setForegroundColorNum(1)
+               self.steptimer = True
+               self.nextStepTimer.start(3000)
+
+       def doStep5(self):
+               self["IPtext"].setForegroundColorNum(1)
+               self["IP"].setText(_("Please wait..."))
+               iNetwork.checkNetworkState(self.NetworkStatedataAvail)
+
+       def doStep6(self):
+               self.steptimer = False
+               self.nextStepTimer.stop()
+               self["DNStext"].setForegroundColorNum(1)
+               self["DNS"].setText(_("Please wait..."))
+               iNetwork.checkDNSLookup(self.DNSLookupdataAvail)
+
+       def KeyGreen(self):
+               self["shortcutsgreen"].setEnabled(False)
+               self["shortcutsyellow"].setEnabled(True)
+               self["updown_actions"].setEnabled(False)
+               self["key_yellow"].setText("")
+               self["key_green"].setText("")
+               self.steptimer = True
+               self.nextStepTimer.start(1000)
+
+       def KeyGreenRestart(self):
+               self.nextstep = 0
+               self.layoutFinished()
+               self["Adapter"].setText((""))
+               self["Network"].setText((""))
+               self["Dhcp"].setText((""))
+               self["IP"].setText((""))
+               self["DNS"].setText((""))
+               self["AdapterInfo_Text"].setForegroundColorNum(0)
+               self["NetworkInfo_Text"].setForegroundColorNum(0)
+               self["DhcpInfo_Text"].setForegroundColorNum(0)
+               self["IPInfo_Text"].setForegroundColorNum(0)
+               self["DNSInfo_Text"].setForegroundColorNum(0)
+               self["shortcutsgreen_restart"].setEnabled(False)
+               self["shortcutsgreen"].setEnabled(False)
+               self["shortcutsyellow"].setEnabled(True)
+               self["updown_actions"].setEnabled(False)
+               self["key_yellow"].setText("")
+               self["key_green"].setText("")
+               self.steptimer = True
+               self.nextStepTimer.start(1000)
+
+       def KeyOK(self):
+               self["infoshortcuts"].setEnabled(True)
+               self["shortcuts"].setEnabled(False)
+               if self.activebutton == 1: # Adapter Check
+                       self["InfoText"].setText(_("This test detects your configured LAN-Adapter."))
+                       self["InfoTextBorder"].show()
+                       self["InfoText"].show()
+                       self["key_red"].setText(_("Back"))
+               if self.activebutton == 2: #LAN Check
+                       self["InfoText"].setText(_("This test checks whether a network cable is connected to your LAN-Adapter.\nIf you get a \"disconnected\" message:\n- verify that a network cable is attached\n- verify that the cable is not broken"))
+                       self["InfoTextBorder"].show()
+                       self["InfoText"].show()
+                       self["key_red"].setText(_("Back"))
+               if self.activebutton == 3: #DHCP Check
+                       self["InfoText"].setText(_("This test checks whether your LAN Adapter is set up for automatic IP Address configuration with DHCP.\nIf you get a \"disabled\" message:\n - then your LAN Adapter is configured for manual IP Setup\n- verify thay you have entered correct IP informations in the AdapterSetup dialog.\nIf you get an \"enabeld\" message:\n-verify that you have a configured and working DHCP Server in your network."))
+                       self["InfoTextBorder"].show()
+                       self["InfoText"].show()
+                       self["key_red"].setText(_("Back"))
+               if self.activebutton == 4: # IP Check
+                       self["InfoText"].setText(_("This test checks whether a valid IP Address is found for your LAN Adapter.\nIf you get a \"unconfirmed\" message:\n- no valid IP Address was found\n- please check your DHCP, cabling and adapter setup"))
+                       self["InfoTextBorder"].show()
+                       self["InfoText"].show()
+                       self["key_red"].setText(_("Back"))
+               if self.activebutton == 5: # DNS Check
+                       self["InfoText"].setText(_("This test checks for configured Nameservers.\nIf you get a \"unconfirmed\" message:\n- please check your DHCP, cabling and Adapter setup\n- if you configured your Nameservers manually please verify your entries in the \"Nameserver\" Configuration"))
+                       self["InfoTextBorder"].show()
+                       self["InfoText"].show()
+                       self["key_red"].setText(_("Back"))
+               if self.activebutton == 6: # Edit Settings
+                       self.session.open(WlanConfig,self.iface)
+                       self["shortcuts"].setEnabled(True)              
+                       self["infoshortcuts"].setEnabled(False)
+
+       def KeyYellow(self):
+               self.nextstep = 0
+               self["shortcutsgreen_restart"].setEnabled(True)
+               self["shortcutsgreen"].setEnabled(False)
+               self["shortcutsyellow"].setEnabled(False)
+               self["key_green"].setText(_("Restart test"))
+               self["key_yellow"].setText("")
+               self.steptimer = False
+               self.nextStepTimer.stop()
+
+       def layoutFinished(self):
+               self.setTitle(_("Network test: ") + iNetwork.getFriendlyAdapterName(self.iface) )
+               self["shortcutsyellow"].setEnabled(False)
+               self["AdapterInfo_OK"].hide()
+               self["NetworkInfo_Check"].hide()
+               self["DhcpInfo_Check"].hide()
+               self["IPInfo_Check"].hide()
+               self["DNSInfo_Check"].hide()
+               self["EditSettings_Text"].hide()
+               self["EditSettingsButton"].hide()
+               self["InfoText"].hide()
+               self["InfoTextBorder"].hide()
+               self["key_yellow"].setText("")
+
+       def setLabels(self):
+               self["Adaptertext"] = MultiColorLabel(_("LAN Adapter"))
+               self["Adapter"] = MultiColorLabel()
+               self["AdapterInfo"] = MultiPixmap()
+               self["AdapterInfo_Text"] = MultiColorLabel(_("Show Info"))
+               self["AdapterInfo_OK"] = Pixmap()
+               
+               if self.iface in iNetwork.wlan_interfaces:
+                       self["Networktext"] = MultiColorLabel(_("Wireless Network"))
+               else:
+                       self["Networktext"] = MultiColorLabel(_("Local Network"))
+               
+               self["Network"] = MultiColorLabel()
+               self["NetworkInfo"] = MultiPixmap()
+               self["NetworkInfo_Text"] = MultiColorLabel(_("Show Info"))
+               self["NetworkInfo_Check"] = MultiPixmap()
+               
+               self["Dhcptext"] = MultiColorLabel(_("DHCP"))
+               self["Dhcp"] = MultiColorLabel()
+               self["DhcpInfo"] = MultiPixmap()
+               self["DhcpInfo_Text"] = MultiColorLabel(_("Show Info"))
+               self["DhcpInfo_Check"] = MultiPixmap()
+               
+               self["IPtext"] = MultiColorLabel(_("IP Address"))
+               self["IP"] = MultiColorLabel()
+               self["IPInfo"] = MultiPixmap()
+               self["IPInfo_Text"] = MultiColorLabel(_("Show Info"))
+               self["IPInfo_Check"] = MultiPixmap()
+               
+               self["DNStext"] = MultiColorLabel(_("Nameserver"))
+               self["DNS"] = MultiColorLabel()
+               self["DNSInfo"] = MultiPixmap()
+               self["DNSInfo_Text"] = MultiColorLabel(_("Show Info"))
+               self["DNSInfo_Check"] = MultiPixmap()
+               
+               self["EditSettings_Text"] = MultiColorLabel(_("Edit settings"))
+               self["EditSettingsButton"] = MultiPixmap()
+               
+               self["key_red"] = StaticText(_("Close"))
+               self["key_green"] = StaticText(_("Start test"))
+               self["key_yellow"] = StaticText(_("Stop test"))
+               
+               self["InfoTextBorder"] = Pixmap()
+               self["InfoText"] = Label()
+
+       def NetworkStatedataAvail(self,data):
+               if data <= 2:
+                       self["IP"].setForegroundColorNum(2)
+                       self["IP"].setText(_("confirmed"))
+                       self["IPInfo_Check"].setPixmapNum(0)
+               else:
+                       self["IP"].setForegroundColorNum(1)
+                       self["IP"].setText(_("unconfirmed"))
+                       self["IPInfo_Check"].setPixmapNum(1)
+               self["IPInfo_Check"].show()
+               self["IPInfo_Text"].setForegroundColorNum(1)            
+               self.steptimer = True
+               self.nextStepTimer.start(3000)          
+               
+       def DNSLookupdataAvail(self,data):
+               if data <= 2:
+                       self["DNS"].setForegroundColorNum(2)
+                       self["DNS"].setText(_("confirmed"))
+                       self["DNSInfo_Check"].setPixmapNum(0)
+               else:
+                       self["DNS"].setForegroundColorNum(1)
+                       self["DNS"].setText(_("unconfirmed"))
+                       self["DNSInfo_Check"].setPixmapNum(1)
+               self["DNSInfo_Check"].show()
+               self["DNSInfo_Text"].setForegroundColorNum(1)
+               self["EditSettings_Text"].show()
+               self["EditSettingsButton"].setPixmapNum(1)
+               self["EditSettings_Text"].setForegroundColorNum(2) # active
+               self["EditSettingsButton"].show()
+               self["key_yellow"].setText("")
+               self["key_green"].setText(_("Restart test"))
+               self["shortcutsgreen"].setEnabled(False)
+               self["shortcutsgreen_restart"].setEnabled(True)
+               self["shortcutsyellow"].setEnabled(False)
+               self["updown_actions"].setEnabled(True)
+               self.activebutton = 6
+
+       def getInfoCB(self,status):
+               if status is not None:
+                       if status == "No Connection" or status == "Not-Associated" or status == False:
+                               self["Network"].setForegroundColorNum(1)
+                               self["Network"].setText(_("disconnected"))
+                               self["NetworkInfo_Check"].setPixmapNum(1)
+                               self["NetworkInfo_Check"].show()
+                       else:
+                               self["Network"].setForegroundColorNum(2)
+                               self["Network"].setText(_("connected"))
+                               self["NetworkInfo_Check"].setPixmapNum(0)
+                               self["NetworkInfo_Check"].show()
+                                               
+       def cleanup(self):
+               iNetwork.stopLinkStateConsole()
+               iNetwork.stopDNSConsole()
+
+       def AccessPointInfo(self,iface):
+               cmd = "iwconfig %s"%iface
+               self.iwconfigConsole = Console()
+               self.iwconfigConsole.ePopen(cmd,self.readAP,self.getInfoCB)
+
+       def readAP(self,result,retval,extra_args):
+               (callback) = extra_args
+               self.apState = False
+               if self.iwconfigConsole is not None:
+                       if retval == 0:
+                               self.iwconfigConsole = None
+                               content=result.splitlines()
+                               for x in content:
+                                       if 'Access Point' in x:
+                                               self.apState = x[x.find('Access Point')+len('Access Point'):].strip(':').strip()
+                               callback(self.apState)
+               
+class Wlanstatus(Screen):
+       skin = """
+       <screen name="Wlanstatus" position="209,48" size="865,623" title="Wireless Network Status..." flags="wfNoBorder" backgroundColor="transparent"> 
+               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
+               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
+               <eLabel text="Wireless Network Status..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
+               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
+               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
+                       <convert type="ClockToText">Format:%H:%M</convert>
+               </widget>
+               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
+               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
+               <widget source="status" render="Label" position="110,200" size="650,400" transparent="1" font="Regular;22" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" zPosition="1" />
+       </screen>"""
+       def __init__(self, session,iface):
+               Screen.__init__(self,session)
+               self.session = session
+#              self.aplist = []
+               self.iface = iface
+               self["status"] = StaticText(_("Wait a moment..."))
+               self["key_red"] = StaticText(_("Close"))
+               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
+               {
+                       "ok": self.ok,
+                       "cancel": self.close,
+                       "red": self.close,
+               }, -2)
+               self.readstatus()
+
+       def readstatus(self):
+               self.wlanstatus = Console()
+               cmd1 = "iwconfig "+self.iface
+               self.wlanstatus.ePopen(cmd1, self.iwconfigfinnished,self.statusdisplay)
+
+       def iwconfigfinnished(self, result, retval,extra_args):
+               try:
+                       (statecallback) = extra_args
+                       if self.wlanstatus is not None:
+                               if retval == 0:
+                                       statecallback(result)
+                               else:
+                                       statecallback(0)
+               except:
+                       self.close()
+
+
+       def statusdisplay(self,data):
+               rlist = []              
+               if data == 0:
+                       self["status"].setText(_("No information..."))
+               else:
+                       self["status"].setText(data)
+
+       def ok(self):
+               pass
+
+def openconfig(session, **kwargs):
+#      session.open(WlanSetup)
+       session.open(WlanSelection)
+
+def selSetup(menuid, **kwargs):
+       if menuid != "system":
+               return [ ]
+
+       return [(_("Wireless LAN Setup"), openconfig, "wlansetup_config", 80)]
+
+def Plugins(**kwargs):
+       return  PluginDescriptor(name=_("Wireless LAN Setup"), description="Fan Control", where = PluginDescriptor.WHERE_MENU, fnc=selSetup);
+#      return [PluginDescriptor(name = "Fancontrols", description = "check Fan Control settings", where = PluginDescriptor.WHERE_AUTOSTART, fnc = setfancontrol),
+#      PluginDescriptor(name=_("Wireless LAN Setup"), description="Fan Control", where = PluginDescriptor.WHERE_MENU, fnc=selSetup)]
diff --git a/lib/python/Plugins/SystemPlugins/WlanSetup/Makefile.am b/lib/python/Plugins/SystemPlugins/WlanSetup/Makefile.am
deleted file mode 100644 (file)
index 7ed097b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-installdir = $(LIBDIR)/enigma2/python/Plugins/SystemPlugins/WlanSetup
-
-SUBDIRS = meta
-
-install_PYTHON =       \
-       __init__.py \
-       plugin.py 
diff --git a/lib/python/Plugins/SystemPlugins/WlanSetup/__init__.py b/lib/python/Plugins/SystemPlugins/WlanSetup/__init__.py
deleted file mode 100644 (file)
index 8d1c8b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
diff --git a/lib/python/Plugins/SystemPlugins/WlanSetup/meta/Makefile.am b/lib/python/Plugins/SystemPlugins/WlanSetup/meta/Makefile.am
deleted file mode 100644 (file)
index d642705..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-installdir = $(datadir)/meta
-
-dist_install_DATA = plugin_wlansetup.xml
diff --git a/lib/python/Plugins/SystemPlugins/WlanSetup/meta/plugin_wlansetup.xml b/lib/python/Plugins/SystemPlugins/WlanSetup/meta/plugin_wlansetup.xml
deleted file mode 100644 (file)
index 0fc21e7..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<default>
-         <prerequisites>
-                    <tag type="System" />
-         </prerequisites>
-          <info language="en">
-                    <author>ikseong</author>
-                    <name>WlanSetup</name>
-                    <packagename>enigma2-plugin-systemplugins-wlansetup</packagename>
-                    <shortdescription>Wireless LAN Setup plugin</shortdescription>
-                    <description>Wireless LAN setting and search AP and show status.
-                    </description>
-          </info>
-         <files type="package"> <!-- without version, without .ipk -->
-               <file type="package" name="enigma2-plugin-systemplugins-wlansetup" />
-       </files>
-
-</default>
diff --git a/lib/python/Plugins/SystemPlugins/WlanSetup/plugin.py b/lib/python/Plugins/SystemPlugins/WlanSetup/plugin.py
deleted file mode 100755 (executable)
index 1788de5..0000000
+++ /dev/null
@@ -1,1276 +0,0 @@
-from Screens.Screen import Screen
-from Screens.MessageBox import MessageBox
-from Screens.InputBox import InputBox
-from Screens.Standby import *
-from Screens.VirtualKeyBoard import VirtualKeyBoard
-from Screens.HelpMenu import HelpableScreen
-from Components.Network import iNetwork
-#from Screens.NetworkSetup import NameserverSetup, NetworkAdapterTest
-from Screens.NetworkSetup import NameserverSetup
-from Components.Sources.StaticText import StaticText
-from Components.Sources.Boolean import Boolean
-from Components.Sources.List import List
-from Components.Label import Label,MultiColorLabel
-from Components.Pixmap import Pixmap,MultiPixmap
-from Components.MenuList import MenuList
-from Components.config import config, ConfigYesNo, ConfigIP, NoSave, ConfigText, ConfigPassword, ConfigSelection, getConfigListEntry, ConfigNothing
-from Components.config import ConfigInteger, ConfigSubsection
-from Components.ConfigList import ConfigListScreen
-from Components.PluginComponent import plugins
-from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
-from Components.ActionMap import ActionMap, NumberActionMap, HelpableActionMap
-from Components.Console import Console
-from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN
-from Tools.LoadPixmap import LoadPixmap
-from Plugins.Plugin import PluginDescriptor
-from enigma import eTimer, ePoint, eSize, RT_HALIGN_LEFT, eListboxPythonMultiContent, gFont
-from os import path as os_path, system as os_system, unlink
-from re import compile as re_compile, search as re_search
-from Tools.Directories import fileExists
-import time
-
-class WlanSelection(Screen):
-       skin = """
-       <screen name="WlanSelection" position="209,48" size="865,623" title="Wireless Network Selection..." flags="wfNoBorder" backgroundColor="transparent">   
-               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
-               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
-               <eLabel text="Wireless Network Selection..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
-               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
-               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
-                       <convert type="ClockToText">Format:%H:%M</convert>
-               </widget>
-               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
-               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
-               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
-               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
-       </screen>"""
-       
-       def __init__(self, session):
-               Screen.__init__(self,session)
-               self.mainmenu = self.getWlandevice()
-               self["menulist"] = MenuList(self.mainmenu)
-               self["key_red"] = StaticText(_("Close"))                
-               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
-               {
-                       "ok": self.ok,
-                       "cancel": self.close,
-                       "red": self.close,
-               }, -2)
-
-       def ok(self):
-               ifaces=self["menulist"].getCurrent()[1]
-               if ifaces == None:
-                       pass
-               else:
-                       self.session.open(WlanSetup,ifaces)
-
-
-       def getWlandevice(self):
-               list = []
-               for x in iNetwork.getAdapterList():
-                       if x.startswith('eth'):
-                               continue
-                       list.append((iNetwork.getFriendlyAdapterName(x),x))
-               return list
-#              self.adapters = [(iNetwork.getFriendlyAdapterName(x),x) for x in iNetwork.getAdapterList()]
-#              print self.adapters
-#              return self.adapters
-               
-
-
-class WlanSetup(Screen,HelpableScreen):
-       skin = """
-       <screen name="WlanSetup" position="209,48" size="865,623" title="Wireless Network Configuration..." flags="wfNoBorder" backgroundColor="transparent">   
-               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
-               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
-               <eLabel text="Wireless Network Configuration..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
-               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
-               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
-                       <convert type="ClockToText">Format:%H:%M</convert>
-               </widget>
-               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
-               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
-               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
-               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
-       </screen>"""
-       def __init__(self, session, ifaces):
-               Screen.__init__(self, session)
-               HelpableScreen.__init__(self)
-               self.session = session
-               self.iface = ifaces
-               self.restartLanRef = None
-               self.LinkState = None
-               self.mainmenu = self.MakeMenu()
-               self["menulist"] = MenuList(self.mainmenu)
-               self["key_red"] = StaticText(_("Close"))
-               self["description"] = StaticText()
-               self["IFtext"] = StaticText()
-               self["IF"] = StaticText()
-               self["Statustext"] = StaticText()
-               self["statuspic"] = MultiPixmap()
-               self["statuspic"].hide()
-               
-               self.oktext = _("Press OK on your remote control to continue.")
-               self.reboottext = _("Your STB will restart after pressing OK on your remote control.")
-               self.errortext = _("No working wireless network interface found.\n Please verify that you have attached a compatible WLAN device or enable your local network interface.")      
-               
-               self["WizardActions"] = HelpableActionMap(self, "WizardActions",
-                       {
-                       "up": (self.up, _("move up to previous entry")),
-                       "down": (self.down, _("move down to next entry")),
-                       "left": (self.left, _("move up to first entry")),
-                       "right": (self.right, _("move down to last entry")),
-                       })
-               
-               self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions",
-                       {
-                       "cancel": (self.close, _("exit networkadapter setup menu")),
-                       "ok": (self.ok, _("select menu entry")),
-                       })
-
-               self["ColorActions"] = HelpableActionMap(self, "ColorActions",
-                       {
-                       "red": (self.close, _("exit networkadapter setup menu")),       
-                       })
-
-               self["actions"] = NumberActionMap(["WizardActions","ShortcutActions"],
-               {
-                       "ok": self.ok,
-                       "back": self.close,
-                       "up": self.up,
-                       "down": self.down,
-                       "red": self.close,
-                       "left": self.left,
-                       "right": self.right,
-               }, -2)
-       def up(self):
-               self["menulist"].up()
-       def down(self):
-               self["menulist"].down()
-       def left(self):
-               self["menulist"].pageUp()
-       def right(self):
-               self["menulist"].pageDown()
-       def ok(self):
-               if self["menulist"].getCurrent()[1] == 'setting':
-                       self.session.openWithCallback(self.checklist, WlanConfig, self.iface)
-               elif self["menulist"].getCurrent()[1] == 'scanap':
-                       self.session.open(WlanScanAp, self.iface)
-               elif self["menulist"].getCurrent()[1] == 'dns':
-                       self.session.open(NameserverSetup)
-               elif self["menulist"].getCurrent()[1] == 'status':
-                       self.session.open(Wlanstatus, self.iface)
-               elif self["menulist"].getCurrent()[1] == 'test':
-                       self.session.openWithCallback(self.checklist,NetworkAdapterTest,self.iface)
-               elif self["menulist"].getCurrent()[1] == 'restart':
-                       self.session.openWithCallback(self.restartNet, MessageBox, (_("Are you sure you want to restart your network interfaces?\n\n") + self.oktext ) )
-
-       def checklist(self):
-               self["menulist"].setList(self.MakeMenu())
-
-       def MakeMenu(self):
-               menu = []
-               menu.append((_("Adapter settings"), "setting"))
-               menu.append((_("Scan Wireless AP"), "scanap"))
-               menu.append((_("Nameserver settings"), "dns"))
-               if iNetwork.getAdapterAttribute(self.iface, "up"):
-                       menu.append((_("Show WLAN Status"), "status"))
-               menu.append((_("Network test"), "test"))
-               menu.append((_("Restart network"), "restart"))
-
-               return menu
-               
-       def restartNet(self,ret = False):
-               if ret == True:
-                       os_system('/etc/init.d/networking restart')
-#              self.updateStatusbar()
-#              self.onLayoutFinish.append(self.layoutFinished)
-#              self.onClose.append(self.cleanup)
-
-wlanconfig = ConfigSubsection()
-wlanconfig.usedevice = ConfigSelection(default = "off", choices = [
-       ("off", _("off")), ("on", _("on"))])
-wlanconfig.usedhcp = ConfigSelection(default = "off", choices = [
-       ("off", _("no")), ("on", _("yes"))])
-wlanconfig.essid = ConfigSelection(default = "none", choices = ["none"])
-wlanconfig.encrypt = ConfigSelection(default = "off", choices = [
-       ("off", _("no")), ("on", _("yes"))])
-wlanconfig.method = ConfigSelection(default = "wep", choices = [
-       ("wep", _("WEP")), ("wpa", _("WPA")), ("wpa2", _("WPA2")),("wpa/wpa2", _("WPA/WPA2"))])
-wlanconfig.keytype = ConfigSelection(default = "ascii", choices = [
-       ("ascii", _("ASCII")), ("hex", _("HEX"))])
-wlanconfig.key = ConfigText(default = "XXXXXXXX", visible_width = 50, fixed_size = False)
-wlanconfig.usegateway = ConfigSelection(default = "off", choices = [
-       ("off", _("no")), ("on", _("yes"))])
-wlanconfig.ip   = ConfigIP([0,0,0,0])
-wlanconfig.netmask = ConfigIP([0,0,0,0])
-wlanconfig.gateway = ConfigIP([0,0,0,0])
-
-selectap = None        
-class WlanConfig(Screen, ConfigListScreen, HelpableScreen):
-       skin = """
-       <screen name="WlanConfig" position="209,48" size="865,623" title="Wireless Network Configuration..." flags="wfNoBorder" backgroundColor="transparent">  
-               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
-               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
-               <eLabel text="Wireless Network Configuration..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
-               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
-               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
-                       <convert type="ClockToText">Format:%H:%M</convert>
-               </widget>
-               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
-               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
-               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
-               <widget name="config" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
-               <eLabel text="IP Address : " position="500,160" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />             
-               <widget source="ipaddress" render="Label" position="530,190" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />             
-               <eLabel text="NetMask : " position="500,220" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />                
-               <widget source="netmask" render="Label" position="530,250" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />               
-               <eLabel text="Gateway : " position="500,280" size="200,26" font="Semiboldit;22" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />                
-               <widget source="gateway" render="Label" position="530,310" zPosition="1" size="150,26" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />               
-       </screen>"""
-       def __init__(self, session, iface):
-               Screen.__init__(self,session)
-               self.session = session
-               self.mainmenu = []
-               self["key_red"] = StaticText(_("Close"))                
-               self["ipaddress"] = StaticText(_("[ N/A ]"))
-               self["netmask"] = StaticText(_("[ N/A ]"))              
-               self["gateway"] = StaticText(_("[ N/A ]"))
-               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
-               {
-                       "ok": self.ok,
-                       "cancel": self.close,
-                       "red": self.close,
-               }, -2)
-               self.iface = iface
-               self.ssid = None
-               self.scan_ssid = None
-               self.key_mgmt = None
-               self.proto = None
-               self.key_type = None
-               self.wep_key = None
-               
-               self.list = []
-               self.wlanscanap = None
-               ConfigListScreen.__init__(self, self.list,session = self.session)
-               self.readifSetting()
-
-
-       def keyLeft(self):
-               ConfigListScreen.keyLeft(self)
-               self.newConfig()
-
-       def keyRight(self):
-               ConfigListScreen.keyRight(self)
-               self.newConfig()
-
-
-       def ok(self):
-               if self["config"].isChanged():
-                       self.session.openWithCallback(self.confirmactive, MessageBox, (_("Are you sure you want to restart your network interfaces?\n") ) )
-
-       def confirmactive(self, ret = False):
-               if ret == False:
-                       return
-               else:
-                       num_configured_if = len(iNetwork.getConfiguredAdapters())
-                       if num_configured_if >= 1:
-                               if num_configured_if == 1 and self.iface in iNetwork.getConfiguredAdapters():
-                                       self.saveif(False)
-                               else:
-                                       self.session.openWithCallback(self.saveif, MessageBox, (_("Are you sure you want to deactive another network interfaces?\n") ) )
-                       else:
-                               self.saveif(False)
-                               
-       def saveif(self,ret = False):
-               self["OkCancelActions"].setEnabled(False)
-               self["config_actions"].setEnabled(False)
-               if ret == True:
-                       configuredInterfaces = iNetwork.getConfiguredAdapters()
-                       for interface in configuredInterfaces:
-                               if interface == self.iface:
-                                       continue
-                               iNetwork.setAdapterAttribute(interface, "up", False)
-                               iNetwork.deactivateInterface(interface)
-               wpafd = open("/etc/wpa_supplicant.conf","w")
-               if wpafd > 0:
-                       contents = "#WPA Supplicant Configuration by enigma2\n"
-                       contents += "ctrl_interface=/var/run/wpa_supplicant\n"
-                       contents += "eapol_version=1\n"
-                       contents += "fast_reauth=1\n"
-                       contents += "ap_scan=1\n"
-                       contents += "network={\n"
-                       contents += "\tssid=\""+wlanconfig.essid.value+"\"\n"
-                       contents += "\tscan_ssid=0\n"
-                       if wlanconfig.encrypt.value == "on":
-                               if wlanconfig.method.value =="wep":
-                                       contents += "\tkey_mgmt=NONE\n"
-                                       contents += "\twep_key0="
-                               elif wlanconfig.method.value == "wpa":
-                                       contents += "\tkey_mgmt=WPA-PSK\n"
-                                       contents += "\tproto=WPA\n"
-                                       contents += "\tpairwise=CCMP TKIP\n"
-                                       contents += "\tgroup=CCMP TKIP\n"
-                                       contents += "\tpsk="                                    
-                               elif wlanconfig.method.value == "wpa2":
-                                       contents += "\tkey_mgmt=WPA-PSK\n"
-                                       contents += "\tproto=WPA RSN\n"
-                                       contents += "\tpairwise=CCMP TKIP\n"
-                                       contents += "\tgroup=CCMP TKIP\n"
-                                       contents += "\tpsk="
-                               elif wlanconfig.method.value == "wpa/wpa2":
-                                       contents += "\tkey_mgmt=WPA-PSK\n"
-                                       contents += "\tproto=WPA WPA2\n"
-                                       contents += "\tpairwise=CCMP TKIP\n"
-                                       contents += "\tgroup=CCMP TKIP\n"
-                                       contents += "\tpsk="
-                               if wlanconfig.keytype.value == "ascii":
-                                       contents += "\""+wlanconfig.key.value+"\"\n"            
-                               else:
-                                       contents += wlanconfig.key.value+"\n"
-                       else:
-                               contents += "\tkey_mgmt=NONE\n"                 
-                       contents += "}\n"
-                       print "content = \n"+contents
-                       wpafd.write(contents)
-                       wpafd.close()
-               iffd = open("/etc/network/interfaces","r")
-               if iffd > 0:
-                       prev_content = ""
-                       next_content = ""
-                       data = iffd.readline()
-                       status = 0
-                       while len(data) >0 :
-                               if data.startswith('iface '+self.iface) or data.startswith('auto '+self.iface):
-                                       status = 1
-                                       data = iffd.readline()
-                                       continue
-                               elif not data.startswith('auto lo') and data.startswith('auto '):
-                                       if ret == True or data[5:] not in iNetwork.getConfiguredAdapters():
-                                               data = iffd.readline()
-                                               continue
-                               if status == 1 and data.startswith('iface ') or data.startswith('auto '):
-                                       status = 2
-                               if status == 0:
-                                       prev_content += data
-                               elif status == 2:
-                                       next_content += data
-                               data = iffd.readline()
-                       iffd.close()
-                       iffd = open("/etc/network/interfaces","w")
-                       if iffd > 0 :
-                               if prev_content == "":
-                                       prev_content = "# automatically generated by enigma2\n"
-                                       prev_content += "# do Not change manually!\n\n"
-                                       prev_content += "auto lo\n"
-                                       prev_content += "iface lo inet loopback\n\n"
-                               iffd.write(prev_content)
-                               if wlanconfig.usedevice.value=="on":
-                                       iNetwork.setAdapterAttribute(self.iface, "up", True)
-                                       contents = "auto "+self.iface+"\n"
-                                       contents += "iface "+self.iface+" inet "
-                                       if wlanconfig.usedhcp.value =="on":
-                                               iNetwork.setAdapterAttribute(self.iface, "dhcp", True)                                  
-                                               contents +="dhcp\n"
-                                       else:
-                                               iNetwork.setAdapterAttribute(self.iface, "dhcp", False)
-                                               contents +="static\n"
-                                               print wlanconfig.ip.value
-                                               iNetwork.setAdapterAttribute(self.iface, "ip", wlanconfig.ip.value)
-                                               iNetwork.setAdapterAttribute(self.iface, "netmask", wlanconfig.netmask.value)                                           
-                                               contents +="\taddress "+ self.formatip(wlanconfig.ip.value)+"\n"
-                                               contents +="\tnetmask "+ self.formatip(wlanconfig.netmask.value)+"\n"
-                                               if wlanconfig.usegateway.value == "on":
-                                                       iNetwork.setAdapterAttribute(self.iface, "gateway", wlanconfig.gateway.value)                   
-                                                       contents +="\tgateway "+ self.formatip(wlanconfig.gateway.value)+"\n"
-                                       contents += "\n\tpre-up /usr/sbin/wpa_supplicant -i"+self.iface+" -c/etc/wpa_supplicant.conf -B -D"+iNetwork.detectWlanModule(self.iface)+"\n"
-                                       contents += "\tpost-down wpa_cli terminate\n\n"
-                                       iffd.write(contents)
-                               else:
-                                       iNetwork.setAdapterAttribute(self.iface, "up", False)
-                                       iNetwork.deactivateInterface(self.iface)
-                               iffd.write(next_content)
-                               iffd.close()
-               self.restartNetwork(self.ConfigDataApply)
-               self.configurationmsg = self.session.openWithCallback(self.WlanConfigClose, MessageBox, _("Please wait for activation of your network configuration..."), type = MessageBox.TYPE_INFO, enable_input = False)
-
-       def restartNetwork(self,callback=None):
-               self.restartConsole = Console()
-               cmd="/etc/init.d/networking restart"
-               self.restartConsole.ePopen(cmd, self.restartNetworkFinished, callback)
-
-       def restartNetworkFinished(self, result, retval,extra_args):
-               ( callback ) = extra_args
-               if callback is not None:
-                       callback(True)
-
-       def ConfigDataApply(self,ret):
-               if ret is True:
-                       iNetwork.getInterfaces(self.configurationmsgClose)
-
-       def configurationmsgClose(self,ret):
-               if ret is True:
-                       self.configurationmsg.close(True)
-                       
-       def WlanConfigClose(self,ret):
-               if ret is True:
-                       self.close()
-       
-       def formatip(self, iplist):
-               list = []
-               list = iplist
-               if len(iplist) == 4:
-                       result = str(iplist[0])+"."+str(iplist[1])+"."+str(iplist[2])+"."+str(iplist[3])
-               else:
-                       result ="0.0.0.0"
-               return result
-                       
-       def createConfig(self):
-#              wlanconfig.essid = ConfigSelection(default = "none", choices = ["maruap3","maruap2","none"])
-                       
-               self.tlist=[]
-               self.usedeviceEntry = getConfigListEntry(_("Use Device"), wlanconfig.usedevice)
-               self.usedhcpEntry = getConfigListEntry(_("Use DHCP"), wlanconfig.usedhcp)
-               self.essidEntry = getConfigListEntry(_("ESSID"), wlanconfig.essid)
-               self.encryptEntry = getConfigListEntry(_("Encrypt"), wlanconfig.encrypt)
-               self.methodEntry = getConfigListEntry(_("Method"), wlanconfig.method)
-               self.keytypeEntry = getConfigListEntry(_("Key Type"), wlanconfig.keytype)               
-               self.keyEntry = getConfigListEntry(_("KEY"), wlanconfig.key)
-
-               self.ipEntry = getConfigListEntry(_("IP"), wlanconfig.ip)
-               self.netmaskEntry = getConfigListEntry(_("NetMask"), wlanconfig.netmask)
-
-               self.usegatewayEntry = getConfigListEntry(_("Use Gateway"), wlanconfig.usegateway)
-               self.gatewayEntry = getConfigListEntry(_("Gateway"), wlanconfig.gateway)
-               
-               self.tlist.append( self.usedeviceEntry )
-               if wlanconfig.usedevice.value is "on":
-                       self.tlist.append( self.usedhcpEntry )
-                       if wlanconfig.usedhcp.value is "off":
-                               self.tlist.append(self.ipEntry)
-                               self.tlist.append(self.netmaskEntry)
-                               self.tlist.append(self.usegatewayEntry)
-                               if wlanconfig.usegateway.value is "on":
-                                       self.tlist.append(self.gatewayEntry)
-                       self.tlist.append( self.essidEntry )
-                       self.tlist.append( self.encryptEntry )
-                       if wlanconfig.encrypt.value is "on" :
-                               self.tlist.append( self.methodEntry )
-                               self.tlist.append( self.keytypeEntry )
-                               self.tlist.append( self.keyEntry )
-               
-               self["config"].list = self.tlist
-               self["config"].l.setList(self.tlist)
-               if not self.selectionChanged in self["config"].onSelectionChanged:
-                       self["config"].onSelectionChanged.append(self.selectionChanged)
-
-       def readifSetting(self):
-               try:
-                       if fileExists("/etc/wpa_supplicant.conf"):
-                               wpafd = open("/etc/wpa_supplicant.conf","r")
-                               if wpafd >0:
-                                       data = wpafd.readline()
-                                       while len(data) > 0:
-                                               data = data.lstrip()
-                                               if len(data) == 0:
-                                                       data = wpafd.readline()
-                                                       continue
-                                               if data.startswith('ssid=') and len(data) > 6:
-                                                       self.ssid = data[6:-2]
-                                               elif data.startswith('scan_ssid=') and len(data) > 10:
-                                                       self.scan_ssid = data[10:-1]
-                                               elif data.startswith('key_mgmt=') and len(data) > 9:
-                                                       self.key_mgmt = data[9:-1]
-                                               elif data.startswith('proto=') and len(data) > 6:
-                                                       self.proto = data[6:-1]
-                                               elif data.startswith('wep_key0="') and len(data) > 11:
-                                                       self.key_type = 1
-                                                       self.wep_key = data[10:-2]
-                                               elif data.startswith('wep_key0=') and len(data) > 9:
-                                                       self.key_type = 0
-                                                       self.wep_key = data[9:-1]
-                                               elif data.startswith('psk="') and len(data) > 6:
-                                                       self.key_type = 1
-                                                       self.wep_key = data[5:-2]
-                                               elif data.startswith('psk=') and len(data) > 4:
-                                                       self.key_type = 0
-                                                       self.wep_key = data[4:-1]
-                                                       
-                                               data = wpafd.readline()
-                                       print self.ssid,self.scan_ssid,self.key_mgmt,self.proto,self.key_type,self.wep_key
-                                       wpafd.close()
-                                       self.setfromread()
-                               else:
-                                       print 'read error'
-                       else:
-                               self.setfromread()
-               except:
-                       print 'open error'
-
-       def setfromread(self):
-               iNetwork.getInterfaces()
-               
-               if iNetwork.getAdapterAttribute(self.iface, "up") == True:
-                       default_tmp = "on"
-               else:
-                       default_tmp = "off"
-               wlanconfig.usedevice = ConfigSelection(default=default_tmp, choices = [
-                       ("off", _("off")), ("on", _("on"))])
-               if iNetwork.getAdapterAttribute(self.iface, "dhcp"):
-                       default_tmp = "on"
-               else:
-                       default_tmp = "off"
-               wlanconfig.usedhcp = ConfigSelection(default=default_tmp, choices = [
-                       ("off", _("no")), ("on", _("yes"))])
-               wlanconfig      .ip = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "ip")) or [0,0,0,0]
-               wlanconfig.netmask = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "netmask") or [255,0,0,0])
-               if iNetwork.getAdapterAttribute(self.iface, "gateway"):
-                       default_tmp = "on"
-               else:
-                       default_tmp = "off"
-               wlanconfig.usegateway = ConfigSelection(default = default_tmp, choices = [
-                       ("off", _("no")), ("on", _("yes"))])
-               wlanconfig.gateway = ConfigIP(default=iNetwork.getAdapterAttribute(self.iface, "gateway") or [0,0,0,0])
-
-               self["ipaddress"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "ip"))))
-               self["netmask"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "netmask"))))
-               self["gateway"] = StaticText(_(self.formatip(iNetwork.getAdapterAttribute(self.iface, "gateway"))))
-
-               if self.wep_key is not None:
-                       default_tmp = "on"
-               else:
-                       default_tmp = "off"
-               wlanconfig.encrypt = ConfigSelection(default = default_tmp, choices = [
-                       ("off", _("no")), ("on", _("yes"))])
-
-               if self.key_mgmt=="NONE":
-                       default_tmp = "wep"
-               elif self.key_mgmt == "WPA-PSK":
-                       if self.proto == "WPA":
-                               default_tmp = "wpa"
-                       elif self.proto == "WPA RSN":
-                               default_tmp = "wpa2"
-                       elif self.proto == "WPA WPA2":
-                               default_tmp = "wpa/wpa2"
-                       else:
-                               default_tmp = "wpa"
-               else:
-                       default_tmp = "wep"
-                       
-               wlanconfig.method = ConfigSelection(default = default_tmp, choices = [
-                       ("wep", _("WEP")), ("wpa", _("WPA")), ("wpa2", _("WPA2")),("wpa/wpa2", _("WPA/WPA2"))])
-                       
-               if self.key_type == 0:
-                       default_tmp = "hex"
-               else:
-                       default_tmp = "ascii"
-               wlanconfig.keytype = ConfigSelection(default = default_tmp, choices = [
-                       ("ascii", _("ASCII")), ("hex", _("HEX"))])                      
-               default_tmp = self.wep_key or "XXXXXXXX"
-               wlanconfig.key = ConfigText(default = default_tmp, visible_width = 50, fixed_size = False)
-               
-               if wlanconfig.usedevice.value is "on":
-                       self.getAplist()
-               else:
-                       self.createConfig()
-               
-
-       def newConfig(self):
-               if self["config"].getCurrent() == self.usedeviceEntry :
-                       if wlanconfig.usedevice.value is "on":
-                               self.getAplist()
-                       else:
-                               if iNetwork.getAdapterAttribute(self.iface, "up"):
-                                       iNetwork.setAdapterAttribute(self.iface, "up",False)
-                                       iNetwork.deactivateInterface(self.iface)
-                               self.createConfig()
-               elif self["config"].getCurrent() == self.encryptEntry or self["config"].getCurrent() == self.usedhcpEntry \
-               or self["config"].getCurrent() == self.usegatewayEntry :
-                       self.createConfig()
-
-       def selectionChanged(self):
-               current = self["config"].getCurrent()
-               print current
-
-       def getAplist(self):
-               self["OkCancelActions"].setEnabled(False) #chang
-               self["config_actions"].setEnabled(False) #chang
-               if iNetwork.getAdapterAttribute(self.iface, "up") is not True:
-                       os_system('ifconfig '+self.iface+" up")
-                       iNetwork.setAdapterAttribute(self.iface, "up",True)
-                       time.sleep(1.5)
-               self.wlanscanap = Console()
-               cmd1 = "iwlist "+self.iface+" scan"
-               print 'cmd',cmd1
-               self.wlanscanap.ePopen(cmd1, self.iwlistfinnished,self.aplistparse)
-
-       def iwlistfinnished(self, result, retval,extra_args):
-               (statecallback) = extra_args
-               try:
-                       if self.wlanscanap is not None:
-                               if retval == 0:
-                                       self.wlanscanap = None
-                                       content = result.splitlines()
-                                       first = content[0].split()
-                                       completed = False
-                                       for x in first:
-                                               if x == 'completed':
-                                                       completed = True
-                                       if completed == True:
-                                               statecallback(result)
-                                       else:
-                                               statecallback(0)                                        
-                               else:
-                                       statecallback(0)
-               except:
-                       self.close()
-
-
-       def aplistparse(self,data):
-               global selectap
-               if data == 0:
-#                      self.session.openWithCallback(self.createConfig ,MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)               
-                       self.session.open(MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)      
-               else:
-                       self.aplist = []
-                       list = data.splitlines()
-#                      print 'aplistparse',list
-                       for x in list:
-                               xx = x.lstrip()
-                               if xx.startswith('ESSID:') and len(xx)>8:
-                                       self.aplist.append(xx[7:-1])
-#                      print 'rlist\n',rlist
-                       if len(self.aplist) ==0:
-                               self.aplist.append('none')
-#                      print 'aplist', self.aplist
-                       defaultap = None
-                       for x in self.aplist:
-                               if x == selectap:
-                                       defaultap = x
-                       print 'defaultap',defaultap,self.aplist,selectap
-                       if selectap is None and self.ssid is not None and self.ssid in self.aplist:
-                               wlanconfig.essid = ConfigSelection(default=self.ssid,choices = self.aplist)
-                       elif defaultap == selectap and selectap is not None:
-                               wlanconfig.essid = ConfigSelection(default=selectap,choices = self.aplist)
-                       else:
-                               wlanconfig.essid = ConfigSelection(choices = self.aplist)
-                       
-               self.createConfig()
-               self["OkCancelActions"].setEnabled(True)
-               self["config_actions"].setEnabled(True)
-               if iNetwork.getAdapterAttribute(self.iface, "up"):
-                       pass
-               else:
-                       os_system('ifconfig '+self.iface+" down")
-
-class WlanScanAp(Screen):
-       skin = """
-       <screen name="WlanScanAp" position="209,48" size="865,623" title="Wireless Network Scan..." flags="wfNoBorder" backgroundColor="transparent">   
-               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
-               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
-               <eLabel text="Wireless Network Scan..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
-               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
-               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
-                       <convert type="ClockToText">Format:%H:%M</convert>
-               </widget>
-               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
-               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
-               <ePixmap pixmap="Vu_HD/border_menu.png" position="120,140" zPosition="-1" size="342,358" transparent="1" alphatest="blend" />
-               <widget name="menulist" position="130,150" size="322,338" transparent="1" backgroundColor="#27d9dee2" zPosition="10" scrollbarMode="showOnDemand" />
-               <widget source="ap_strength" render="Label" position="490,250" zPosition="1" size="300,30" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />           
-               <widget source="ap_quality" render="Label" position="490,280" zPosition="1" size="300,30" font="Regular;20" halign="center" valign="center" backgroundColor="#27b5b9bd" foregroundColor="#1c1c1c" transparent="1" />            
-       </screen>"""
-       def __init__(self, session, iface):
-               Screen.__init__(self,session)
-               self.session = session
-#              self.aplist = []
-               self.iface = iface
-               self.mainmenu = []
-               self.ap_extra = []
-               self.ap_quality = []
-               self.wlanscanap = None
-               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions","WizardActions" ],
-               {
-                       "ok": self.ok,
-                       "cancel": self.close,
-                       "red": self.close,
-                       "up": self.up,
-                       "down": self.down,
-                       "left": self.left,
-                       "right": self.right,
-               }, -2)
-               self.getAplist()
-               print 'getAplist',self.mainmenu
-               self["menulist"] = MenuList(self.mainmenu)
-               self["key_red"] = StaticText(_("Close"))
-               self["ap_strength"] = StaticText(_("Scanning AP List..")) 
-               self["ap_quality"] = StaticText(_("Wait a moment")) 
-               
-
-       def left(self):
-               self["menulist"].pageUp()
-               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
-                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
-                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
-       
-       def right(self):
-               self["menulist"].pageDown()
-               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
-                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
-                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
-
-       def up(self):
-               self["menulist"].up()
-               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
-                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%") 
-                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
-               
-       def down(self):
-               self["menulist"].down()
-               if len(self.ap_extra) > self["menulist"].getSelectionIndex():
-                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%")
-                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()])               
-
-       def ok(self):
-               global selectap
-               ifaces=self["menulist"].getCurrent()
-               print 'select', ifaces
-               selectap = ifaces
-               self.close()
-
-       def getAplist(self):
-               self["OkCancelActions"].setEnabled(False)
-               if iNetwork.getAdapterAttribute(self.iface, "up"):
-                       pass
-               else:
-                       os_system('ifconfig '+self.iface+" up")
-                       time.sleep(1.5)
-               self.wlanscanap = Console()
-               cmd1 = "iwlist "+self.iface+" scan"
-               self.wlanscanap.ePopen(cmd1, self.iwlistfinnished,self.aplistparse)
-
-       def iwlistfinnished(self, result, retval,extra_args):
-               (statecallback) = extra_args
-               try:
-                       if self.wlanscanap is not None:
-                               if retval == 0:
-                                       self.wlanscanap = None
-                                       content = result.splitlines()
-                                       first = content[0].split()
-                                       completed = False
-                                       for x in first:
-                                               if x == 'completed':
-                                                       completed = True
-                                       if completed == True:
-                                               statecallback(result)
-                                       else:
-                                               statecallback(0)                                        
-                               else:
-                                       statecallback(0)
-               except:
-                       self.close()
-
-
-       def aplistparse(self,data):
-               rlist = []
-               essid_on = 0
-               if data == 0:
-                       self.session.open(MessageBox, _("Scan AP Failed"), MessageBox.TYPE_INFO,2)
-                       self["menulist"].setList(rlist)
-               else:
-                       list = data.splitlines()
-                       for x in list:
-                               for xx in x.split():
-                                       if xx.startswith('ESSID:') and len(xx)>8:
-                                               rlist.append(xx[7:-1])
-                                               essid_on = 1
-                                       if essid_on == 1 and xx.startswith('Extra:SignalStrength=') and len(xx)>21:
-                                               self.ap_extra.append(xx[6:])
-                                       if essid_on == 1 and xx.startswith('%,LinkQuality:') and len(xx)>14:
-                                               self.ap_quality.append(xx[2:])
-                                               essid_pm = 0
-                       if len(rlist) >0:
-                               self["menulist"].setList(rlist)
-                               if len(self.ap_extra) > 0 and len(self.ap_quality) > 0:
-                                       self["ap_strength"].setText((self.ap_extra[self["menulist"].getSelectionIndex()])+"%")
-                                       self["ap_quality"].setText(self.ap_quality[self["menulist"].getSelectionIndex()]) 
-                               else:
-                                       self["ap_strength"].setText("Select AP")
-                                       self["ap_quality"].setText(" ")
-               if iNetwork.getAdapterAttribute(self.iface, "up"):
-                       pass
-               else:
-                       os_system('ifconfig '+self.iface+" down")
-               self["OkCancelActions"].setEnabled(True)
-
-class NetworkAdapterTest(Screen):      
-       def __init__(self, session,iface):
-               Screen.__init__(self, session)
-               self.iface = iface
-               self.oldInterfaceState = iNetwork.getAdapterAttribute(self.iface, "up")
-               self.setLabels()
-               self.onClose.append(self.cleanup)
-               self.onHide.append(self.cleanup)
-               
-               self["updown_actions"] = NumberActionMap(["WizardActions","ShortcutActions"],
-               {
-                       "ok": self.KeyOK,
-                       "blue": self.KeyOK,
-                       "up": lambda: self.updownhandler('up'),
-                       "down": lambda: self.updownhandler('down'),
-               
-               }, -2)
-               
-               self["shortcuts"] = ActionMap(["ShortcutActions","WizardActions"],
-               {
-                       "red": self.cancel,
-                       "back": self.cancel,
-               }, -2)
-               self["infoshortcuts"] = ActionMap(["ShortcutActions","WizardActions"],
-               {
-                       "red": self.closeInfo,
-                       "back": self.closeInfo,
-               }, -2)
-               self["shortcutsgreen"] = ActionMap(["ShortcutActions"],
-               {
-                       "green": self.KeyGreen,
-               }, -2)
-               self["shortcutsgreen_restart"] = ActionMap(["ShortcutActions"],
-               {
-                       "green": self.KeyGreenRestart,
-               }, -2)
-               self["shortcutsyellow"] = ActionMap(["ShortcutActions"],
-               {
-                       "yellow": self.KeyYellow,
-               }, -2)
-               
-               self["shortcutsgreen_restart"].setEnabled(False)
-               self["updown_actions"].setEnabled(False)
-               self["infoshortcuts"].setEnabled(False)
-               self.onClose.append(self.delTimer)      
-               self.onLayoutFinish.append(self.layoutFinished)
-               self.steptimer = False
-               self.nextstep = 0
-               self.activebutton = 0
-               self.nextStepTimer = eTimer()
-               self.nextStepTimer.callback.append(self.nextStepTimerFire)
-
-       def cancel(self):
-               if self.oldInterfaceState is False:
-                       iNetwork.setAdapterAttribute(self.iface, "up", self.oldInterfaceState)
-                       iNetwork.deactivateInterface(self.iface)
-               self.close()
-
-       def closeInfo(self):
-               self["shortcuts"].setEnabled(True)              
-               self["infoshortcuts"].setEnabled(False)
-               self["InfoText"].hide()
-               self["InfoTextBorder"].hide()
-               self["key_red"].setText(_("Close"))
-
-       def delTimer(self):
-               del self.steptimer
-               del self.nextStepTimer
-
-       def nextStepTimerFire(self):
-               self.nextStepTimer.stop()
-               self.steptimer = False
-               self.runTest()
-
-       def updownhandler(self,direction):
-               if direction == 'up':
-                       if self.activebutton >=2:
-                               self.activebutton -= 1
-                       else:
-                               self.activebutton = 6
-                       self.setActiveButton(self.activebutton)
-               if direction == 'down':
-                       if self.activebutton <=5:
-                               self.activebutton += 1
-                       else:
-                               self.activebutton = 1
-                       self.setActiveButton(self.activebutton)
-
-       def setActiveButton(self,button):
-               if button == 1:
-                       self["EditSettingsButton"].setPixmapNum(0)
-                       self["EditSettings_Text"].setForegroundColorNum(0)
-                       self["NetworkInfo"].setPixmapNum(0)
-                       self["NetworkInfo_Text"].setForegroundColorNum(1)
-                       self["AdapterInfo"].setPixmapNum(1)               # active
-                       self["AdapterInfo_Text"].setForegroundColorNum(2) # active
-               if button == 2:
-                       self["AdapterInfo_Text"].setForegroundColorNum(1)
-                       self["AdapterInfo"].setPixmapNum(0)
-                       self["DhcpInfo"].setPixmapNum(0)
-                       self["DhcpInfo_Text"].setForegroundColorNum(1)
-                       self["NetworkInfo"].setPixmapNum(1)               # active
-                       self["NetworkInfo_Text"].setForegroundColorNum(2) # active
-               if button == 3:
-                       self["NetworkInfo"].setPixmapNum(0)
-                       self["NetworkInfo_Text"].setForegroundColorNum(1)
-                       self["IPInfo"].setPixmapNum(0)
-                       self["IPInfo_Text"].setForegroundColorNum(1)
-                       self["DhcpInfo"].setPixmapNum(1)                  # active
-                       self["DhcpInfo_Text"].setForegroundColorNum(2)    # active
-               if button == 4:
-                       self["DhcpInfo"].setPixmapNum(0)
-                       self["DhcpInfo_Text"].setForegroundColorNum(1)
-                       self["DNSInfo"].setPixmapNum(0)
-                       self["DNSInfo_Text"].setForegroundColorNum(1)
-                       self["IPInfo"].setPixmapNum(1)                  # active
-                       self["IPInfo_Text"].setForegroundColorNum(2)    # active                
-               if button == 5:
-                       self["IPInfo"].setPixmapNum(0)
-                       self["IPInfo_Text"].setForegroundColorNum(1)
-                       self["EditSettingsButton"].setPixmapNum(0)
-                       self["EditSettings_Text"].setForegroundColorNum(0)
-                       self["DNSInfo"].setPixmapNum(1)                 # active
-                       self["DNSInfo_Text"].setForegroundColorNum(2)   # active
-               if button == 6:
-                       self["DNSInfo"].setPixmapNum(0)
-                       self["DNSInfo_Text"].setForegroundColorNum(1)
-                       self["EditSettingsButton"].setPixmapNum(1)         # active
-                       self["EditSettings_Text"].setForegroundColorNum(2) # active
-                       self["AdapterInfo"].setPixmapNum(0)
-                       self["AdapterInfo_Text"].setForegroundColorNum(1)
-                       
-       def runTest(self):
-               next = self.nextstep
-               if next == 0:
-                       self.doStep1()
-               elif next == 1:
-                       self.doStep2()
-               elif next == 2:
-                       self.doStep3()
-               elif next == 3:
-                       self.doStep4()
-               elif next == 4:
-                       self.doStep5()
-               elif next == 5:
-                       self.doStep6()
-               self.nextstep += 1
-
-       def doStep1(self):
-               self.steptimer = True
-               self.nextStepTimer.start(3000)
-               self["key_yellow"].setText(_("Stop test"))
-
-       def doStep2(self):
-               self["Adapter"].setText(iNetwork.getFriendlyAdapterName(self.iface))
-               self["Adapter"].setForegroundColorNum(2)
-               self["Adaptertext"].setForegroundColorNum(1)
-               self["AdapterInfo_Text"].setForegroundColorNum(1)
-               self["AdapterInfo_OK"].show()
-               self.steptimer = True
-               self.nextStepTimer.start(3000)
-
-       def doStep3(self):
-               self["Networktext"].setForegroundColorNum(1)
-               self["Network"].setText(_("Please wait..."))
-               self.AccessPointInfo(self.iface)
-               self["NetworkInfo_Text"].setForegroundColorNum(1)
-               self.steptimer = True
-               self.nextStepTimer.start(3000)
-
-       def doStep4(self):
-               self["Dhcptext"].setForegroundColorNum(1)
-               if iNetwork.getAdapterAttribute(self.iface, 'dhcp') is True:
-                       self["Dhcp"].setForegroundColorNum(2)
-                       self["Dhcp"].setText(_("enabled"))
-                       self["DhcpInfo_Check"].setPixmapNum(0)
-               else:
-                       self["Dhcp"].setForegroundColorNum(1)
-                       self["Dhcp"].setText(_("disabled"))
-                       self["DhcpInfo_Check"].setPixmapNum(1)
-               self["DhcpInfo_Check"].show()
-               self["DhcpInfo_Text"].setForegroundColorNum(1)
-               self.steptimer = True
-               self.nextStepTimer.start(3000)
-
-       def doStep5(self):
-               self["IPtext"].setForegroundColorNum(1)
-               self["IP"].setText(_("Please wait..."))
-               iNetwork.checkNetworkState(self.NetworkStatedataAvail)
-
-       def doStep6(self):
-               self.steptimer = False
-               self.nextStepTimer.stop()
-               self["DNStext"].setForegroundColorNum(1)
-               self["DNS"].setText(_("Please wait..."))
-               iNetwork.checkDNSLookup(self.DNSLookupdataAvail)
-
-       def KeyGreen(self):
-               self["shortcutsgreen"].setEnabled(False)
-               self["shortcutsyellow"].setEnabled(True)
-               self["updown_actions"].setEnabled(False)
-               self["key_yellow"].setText("")
-               self["key_green"].setText("")
-               self.steptimer = True
-               self.nextStepTimer.start(1000)
-
-       def KeyGreenRestart(self):
-               self.nextstep = 0
-               self.layoutFinished()
-               self["Adapter"].setText((""))
-               self["Network"].setText((""))
-               self["Dhcp"].setText((""))
-               self["IP"].setText((""))
-               self["DNS"].setText((""))
-               self["AdapterInfo_Text"].setForegroundColorNum(0)
-               self["NetworkInfo_Text"].setForegroundColorNum(0)
-               self["DhcpInfo_Text"].setForegroundColorNum(0)
-               self["IPInfo_Text"].setForegroundColorNum(0)
-               self["DNSInfo_Text"].setForegroundColorNum(0)
-               self["shortcutsgreen_restart"].setEnabled(False)
-               self["shortcutsgreen"].setEnabled(False)
-               self["shortcutsyellow"].setEnabled(True)
-               self["updown_actions"].setEnabled(False)
-               self["key_yellow"].setText("")
-               self["key_green"].setText("")
-               self.steptimer = True
-               self.nextStepTimer.start(1000)
-
-       def KeyOK(self):
-               self["infoshortcuts"].setEnabled(True)
-               self["shortcuts"].setEnabled(False)
-               if self.activebutton == 1: # Adapter Check
-                       self["InfoText"].setText(_("This test detects your configured LAN-Adapter."))
-                       self["InfoTextBorder"].show()
-                       self["InfoText"].show()
-                       self["key_red"].setText(_("Back"))
-               if self.activebutton == 2: #LAN Check
-                       self["InfoText"].setText(_("This test checks whether a network cable is connected to your LAN-Adapter.\nIf you get a \"disconnected\" message:\n- verify that a network cable is attached\n- verify that the cable is not broken"))
-                       self["InfoTextBorder"].show()
-                       self["InfoText"].show()
-                       self["key_red"].setText(_("Back"))
-               if self.activebutton == 3: #DHCP Check
-                       self["InfoText"].setText(_("This test checks whether your LAN Adapter is set up for automatic IP Address configuration with DHCP.\nIf you get a \"disabled\" message:\n - then your LAN Adapter is configured for manual IP Setup\n- verify thay you have entered correct IP informations in the AdapterSetup dialog.\nIf you get an \"enabeld\" message:\n-verify that you have a configured and working DHCP Server in your network."))
-                       self["InfoTextBorder"].show()
-                       self["InfoText"].show()
-                       self["key_red"].setText(_("Back"))
-               if self.activebutton == 4: # IP Check
-                       self["InfoText"].setText(_("This test checks whether a valid IP Address is found for your LAN Adapter.\nIf you get a \"unconfirmed\" message:\n- no valid IP Address was found\n- please check your DHCP, cabling and adapter setup"))
-                       self["InfoTextBorder"].show()
-                       self["InfoText"].show()
-                       self["key_red"].setText(_("Back"))
-               if self.activebutton == 5: # DNS Check
-                       self["InfoText"].setText(_("This test checks for configured Nameservers.\nIf you get a \"unconfirmed\" message:\n- please check your DHCP, cabling and Adapter setup\n- if you configured your Nameservers manually please verify your entries in the \"Nameserver\" Configuration"))
-                       self["InfoTextBorder"].show()
-                       self["InfoText"].show()
-                       self["key_red"].setText(_("Back"))
-               if self.activebutton == 6: # Edit Settings
-                       self.session.open(WlanConfig,self.iface)
-                       self["shortcuts"].setEnabled(True)              
-                       self["infoshortcuts"].setEnabled(False)
-
-       def KeyYellow(self):
-               self.nextstep = 0
-               self["shortcutsgreen_restart"].setEnabled(True)
-               self["shortcutsgreen"].setEnabled(False)
-               self["shortcutsyellow"].setEnabled(False)
-               self["key_green"].setText(_("Restart test"))
-               self["key_yellow"].setText("")
-               self.steptimer = False
-               self.nextStepTimer.stop()
-
-       def layoutFinished(self):
-               self.setTitle(_("Network test: ") + iNetwork.getFriendlyAdapterName(self.iface) )
-               self["shortcutsyellow"].setEnabled(False)
-               self["AdapterInfo_OK"].hide()
-               self["NetworkInfo_Check"].hide()
-               self["DhcpInfo_Check"].hide()
-               self["IPInfo_Check"].hide()
-               self["DNSInfo_Check"].hide()
-               self["EditSettings_Text"].hide()
-               self["EditSettingsButton"].hide()
-               self["InfoText"].hide()
-               self["InfoTextBorder"].hide()
-               self["key_yellow"].setText("")
-
-       def setLabels(self):
-               self["Adaptertext"] = MultiColorLabel(_("LAN Adapter"))
-               self["Adapter"] = MultiColorLabel()
-               self["AdapterInfo"] = MultiPixmap()
-               self["AdapterInfo_Text"] = MultiColorLabel(_("Show Info"))
-               self["AdapterInfo_OK"] = Pixmap()
-               
-               if self.iface in iNetwork.wlan_interfaces:
-                       self["Networktext"] = MultiColorLabel(_("Wireless Network"))
-               else:
-                       self["Networktext"] = MultiColorLabel(_("Local Network"))
-               
-               self["Network"] = MultiColorLabel()
-               self["NetworkInfo"] = MultiPixmap()
-               self["NetworkInfo_Text"] = MultiColorLabel(_("Show Info"))
-               self["NetworkInfo_Check"] = MultiPixmap()
-               
-               self["Dhcptext"] = MultiColorLabel(_("DHCP"))
-               self["Dhcp"] = MultiColorLabel()
-               self["DhcpInfo"] = MultiPixmap()
-               self["DhcpInfo_Text"] = MultiColorLabel(_("Show Info"))
-               self["DhcpInfo_Check"] = MultiPixmap()
-               
-               self["IPtext"] = MultiColorLabel(_("IP Address"))
-               self["IP"] = MultiColorLabel()
-               self["IPInfo"] = MultiPixmap()
-               self["IPInfo_Text"] = MultiColorLabel(_("Show Info"))
-               self["IPInfo_Check"] = MultiPixmap()
-               
-               self["DNStext"] = MultiColorLabel(_("Nameserver"))
-               self["DNS"] = MultiColorLabel()
-               self["DNSInfo"] = MultiPixmap()
-               self["DNSInfo_Text"] = MultiColorLabel(_("Show Info"))
-               self["DNSInfo_Check"] = MultiPixmap()
-               
-               self["EditSettings_Text"] = MultiColorLabel(_("Edit settings"))
-               self["EditSettingsButton"] = MultiPixmap()
-               
-               self["key_red"] = StaticText(_("Close"))
-               self["key_green"] = StaticText(_("Start test"))
-               self["key_yellow"] = StaticText(_("Stop test"))
-               
-               self["InfoTextBorder"] = Pixmap()
-               self["InfoText"] = Label()
-
-       def NetworkStatedataAvail(self,data):
-               if data <= 2:
-                       self["IP"].setForegroundColorNum(2)
-                       self["IP"].setText(_("confirmed"))
-                       self["IPInfo_Check"].setPixmapNum(0)
-               else:
-                       self["IP"].setForegroundColorNum(1)
-                       self["IP"].setText(_("unconfirmed"))
-                       self["IPInfo_Check"].setPixmapNum(1)
-               self["IPInfo_Check"].show()
-               self["IPInfo_Text"].setForegroundColorNum(1)            
-               self.steptimer = True
-               self.nextStepTimer.start(3000)          
-               
-       def DNSLookupdataAvail(self,data):
-               if data <= 2:
-                       self["DNS"].setForegroundColorNum(2)
-                       self["DNS"].setText(_("confirmed"))
-                       self["DNSInfo_Check"].setPixmapNum(0)
-               else:
-                       self["DNS"].setForegroundColorNum(1)
-                       self["DNS"].setText(_("unconfirmed"))
-                       self["DNSInfo_Check"].setPixmapNum(1)
-               self["DNSInfo_Check"].show()
-               self["DNSInfo_Text"].setForegroundColorNum(1)
-               self["EditSettings_Text"].show()
-               self["EditSettingsButton"].setPixmapNum(1)
-               self["EditSettings_Text"].setForegroundColorNum(2) # active
-               self["EditSettingsButton"].show()
-               self["key_yellow"].setText("")
-               self["key_green"].setText(_("Restart test"))
-               self["shortcutsgreen"].setEnabled(False)
-               self["shortcutsgreen_restart"].setEnabled(True)
-               self["shortcutsyellow"].setEnabled(False)
-               self["updown_actions"].setEnabled(True)
-               self.activebutton = 6
-
-       def getInfoCB(self,status):
-               if status is not None:
-                       if status == "No Connection" or status == "Not-Associated" or status == False:
-                               self["Network"].setForegroundColorNum(1)
-                               self["Network"].setText(_("disconnected"))
-                               self["NetworkInfo_Check"].setPixmapNum(1)
-                               self["NetworkInfo_Check"].show()
-                       else:
-                               self["Network"].setForegroundColorNum(2)
-                               self["Network"].setText(_("connected"))
-                               self["NetworkInfo_Check"].setPixmapNum(0)
-                               self["NetworkInfo_Check"].show()
-                                               
-       def cleanup(self):
-               iNetwork.stopLinkStateConsole()
-               iNetwork.stopDNSConsole()
-
-       def AccessPointInfo(self,iface):
-               cmd = "iwconfig %s"%iface
-               self.iwconfigConsole = Console()
-               self.iwconfigConsole.ePopen(cmd,self.readAP,self.getInfoCB)
-
-       def readAP(self,result,retval,extra_args):
-               (callback) = extra_args
-               self.apState = False
-               if self.iwconfigConsole is not None:
-                       if retval == 0:
-                               self.iwconfigConsole = None
-                               content=result.splitlines()
-                               for x in content:
-                                       if 'Access Point' in x:
-                                               self.apState = x[x.find('Access Point')+len('Access Point'):].strip(':').strip()
-                               callback(self.apState)
-               
-class Wlanstatus(Screen):
-       skin = """
-       <screen name="Wlanstatus" position="209,48" size="865,623" title="Wireless Network Status..." flags="wfNoBorder" backgroundColor="transparent"> 
-               <ePixmap pixmap="Vu_HD/Bg_EPG_view.png" zPosition="-1" position="0,0" size="865,623" alphatest="on" />
-               <ePixmap pixmap="Vu_HD/menu/ico_title_Setup.png" position="32,41" size="40,40" alphatest="blend"  transparent="1" />
-               <eLabel text="Wireless Network Status..." position="90,50" size="600,32" font="Semiboldit;32" foregroundColor="#5d5d5d" backgroundColor="#27b5b9bd" transparent="1" />
-               <ePixmap pixmap="Vu_HD/icons/clock.png" position="750,55" zPosition="1" size="20,20" alphatest="blend" />
-               <widget source="global.CurrentTime" render="Label" position="770,57" zPosition="1" size="50,20" font="Regular;20" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" halign="right" transparent="1">
-                       <convert type="ClockToText">Format:%H:%M</convert>
-               </widget>
-               <ePixmap pixmap="Vu_HD/buttons/red.png" position="45,98" size="25,25" alphatest="blend" />
-               <widget source="key_red" render="Label" position="66,97" zPosition="1" size="150,25" font="Regular;20" halign="center" valign="center" backgroundColor="darkgrey" foregroundColor="#1c1c1c" transparent="1" />
-               <widget source="status" render="Label" position="110,200" size="650,400" transparent="1" font="Regular;22" foregroundColor="#1c1c1c" backgroundColor="#27d9dee2" zPosition="1" />
-       </screen>"""
-       def __init__(self, session,iface):
-               Screen.__init__(self,session)
-               self.session = session
-#              self.aplist = []
-               self.iface = iface
-               self["status"] = StaticText(_("Wait a moment..."))
-               self["key_red"] = StaticText(_("Close"))
-               self["OkCancelActions"] = ActionMap(["ShortcutActions", "SetupActions" ],
-               {
-                       "ok": self.ok,
-                       "cancel": self.close,
-                       "red": self.close,
-               }, -2)
-               self.readstatus()
-
-       def readstatus(self):
-               self.wlanstatus = Console()
-               cmd1 = "iwconfig "+self.iface
-               self.wlanstatus.ePopen(cmd1, self.iwconfigfinnished,self.statusdisplay)
-
-       def iwconfigfinnished(self, result, retval,extra_args):
-               try:
-                       (statecallback) = extra_args
-                       if self.wlanstatus is not None:
-                               if retval == 0:
-                                       statecallback(result)
-                               else:
-                                       statecallback(0)
-               except:
-                       self.close()
-
-
-       def statusdisplay(self,data):
-               rlist = []              
-               if data == 0:
-                       self["status"].setText(_("No information..."))
-               else:
-                       self["status"].setText(data)
-
-       def ok(self):
-               pass
-
-def openconfig(session, **kwargs):
-#      session.open(WlanSetup)
-       session.open(WlanSelection)
-
-def selSetup(menuid, **kwargs):
-       if menuid != "system":
-               return [ ]
-
-       return [(_("Wireless LAN Setup"), openconfig, "wlansetup_config", 80)]
-
-def Plugins(**kwargs):
-       return  PluginDescriptor(name=_("Wireless LAN Setup"), description="Fan Control", where = PluginDescriptor.WHERE_MENU, fnc=selSetup);
-#      return [PluginDescriptor(name = "Fancontrols", description = "check Fan Control settings", where = PluginDescriptor.WHERE_AUTOSTART, fnc = setfancontrol),
-#      PluginDescriptor(name=_("Wireless LAN Setup"), description="Fan Control", where = PluginDescriptor.WHERE_MENU, fnc=selSetup)]