+ def writeDefaultNetworkConfig(self,mode='lan'):
+ fp = file('/etc/network/interfaces', 'w')
+ fp.write("# automatically generated by enigma 2\n# do NOT change manually!\n\n")
+ fp.write("auto lo\n")
+ fp.write("iface lo inet loopback\n\n")
+ if mode == 'wlan':
+ fp.write("auto wlan0\n")
+ fp.write("iface wlan0 inet dhcp\n")
+ else:
+ fp.write("auto eth0\n")
+ fp.write("iface eth0 inet dhcp\n")
+ fp.write("\n")
+ fp.close()
+
+ def resetNetworkConfig(self,mode='lan'):
+ self.deactivateNetworkConfig()
+ self.writeDefaultNetworkConfig(mode)
+ if mode == 'wlan':
+ os.system("ifconfig eth0 down")
+ os.system("ifconfig wlan0 up")
+ else:
+ os.system("ifconfig eth0 up")
+ os.system("ifconfig wlan0 down")
+
+ def checkNetworkState(self):
+ ok_counter = 0
+ ret1=os.system("ping -c 1 www.dream-multimedia-tv.de")
+ if ret1 != 0:
+ ok_counter = ok_counter + 1
+ ret2=os.system("ping -c 1 www.heise.de")
+ if ret2 != 0:
+ ok_counter = ok_counter + 1
+ ret3=os.system("ping -c 1 www.google.de")
+ if ret2 != 0:
+ ok_counter = ok_counter + 1
+ if ok_counter <= 2:
+ return True
+ else:
+ return False
+
+ def restartNetwork(self):
+ iNetwork.deactivateNetworkConfig()
+ iNetwork.activateNetworkConfig()
+
+ def getLinkState(self,iface,callback):
+ self.dataAvail = callback
+ cmd = self.ethtool_bin + " " + iface
+ self.container.appClosed.get().append(self.cmdFinished)
+ self.container.dataAvail.get().append(callback)
+ self.container.execute(cmd)
+
+ def cmdFinished(self,retval):
+ self.container.appClosed.get().remove(self.cmdFinished)
+ self.container.dataAvail.get().remove(self.dataAvail)
+
+ def checkforInterface(self,iface):
+ ret=os.system("ifconfig " + iface + " up")
+ if ret == 0:
+ return True
+ else:
+ return False
+
+ def checkDNSLookup(self):
+ ok_counter = 0
+ ret1=os.system("nslookup www.dream-multimedia-tv.de")
+ if ret1 != 0:
+ ok_counter = ok_counter + 1
+ ret2=os.system("nslookup www.heise.de")
+ if ret2 != 0:
+ ok_counter = ok_counter + 1
+ ret3=os.system("nslookup www.google.de")
+ if ret2 != 0:
+ ok_counter = ok_counter + 1
+ if ok_counter <= 2:
+ return True
+ else:
+ return False
+