</screen>"""
def __init__(self, session):
- self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions","ColorActions"],
+ self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions","ColorActions",],
{
"left": self.nothing,
"right":self.nothing,
"6": self.numberaction,
"7": self.numberaction,
"8": self.numberaction,
- "9": self.numberaction,
- "red": self.shutdownaction,
+ "9": self.numberaction,
+ "red": self.shutdownaction,
}, -2)
Screen.__init__(self, session)
- TESTPROGRAM_DATE = "2010-06-09"
+ TESTPROGRAM_DATE = "2010-12-14"
TESTPROGRAM_VERSION = "Version 00.01"
self.model = 0
nimConfig.diseqcMode.value="diseqc_a_b"
nimConfig.diseqcA.value="130"
nimConfig.diseqcB.value="192"
+ if self.model == 2:
+ pass
nimmanager.sec.update()
system("cp /usr/lib/enigma2/python/Plugins/SystemPlugins/FactoryTest/testdb /etc/enigma2/lamedb")
tlist.append((" 7. Factory default",self.fdefaultIndex))
self.shutdownIndex=8
tlist.append((" 8. Shutdown",self.shutdownIndex))
+
+ elif self.model == 2:
+ self.scarttestIndex = -1
+ self.satetestIndex=0
+ tlist.append((" 0. Sata & extend hdd test",self.satetestIndex))
+ self.usbtestIndex=1
+ tlist.append((" 1. USB test",self.usbtestIndex))
+ self.fronttestIndex=2
+ tlist.append((" 2. Front test",self.fronttestIndex))
+ self.smarttestIndex=3
+ tlist.append((" 3. Smartcard test",self.smarttestIndex))
+ self.tuner1_1testIndex=4
+ tlist.append((" 4. T1 H 22K x 4:3 CVBS",self.tuner1_1testIndex))
+ self.tuner1_2testIndex=5
+ tlist.append((" 5. T1 V 22k o 16:9 RGB",self.tuner1_2testIndex))
+ self.tuner2_1testIndex = -1
+ self.tuner2_2testIndex=6
+ tlist.append((" 6. T2 DVB-C 4:3 YC CAM",self.tuner2_2testIndex))
+ self.rs232testIndex=7
+ tlist.append((" 7. RS232 test",self.rs232testIndex))
+ self.ethernettestIndex=8
+ tlist.append(("8. Ethernet & mac test",self.ethernettestIndex))
+ self.fdefaultIndex=9
+ tlist.append(("9. Factory default",self.fdefaultIndex))
+ self.shutdownIndex=10
+ tlist.append(("10. Shutdown",self.shutdownIndex))
+
self.menulength= len(tlist)-1
self["testlist"] = MenuList(tlist)
self.rlist = []
-# for x in range(15):
-# for x in range(12):
for x in range(self.menulength):
self.rlist.append((".."))
self["resultlist"] = TestResultList(self.rlist)
self.tunemsgtimer = eTimer()
self.tunemsgtimer.callback.append(self.tunemsg)
+ if self.model == 0:
+ self.cam_index = 7
+ elif self.model == 1:
+ self.cam_index = 4
+ elif self.model == 2:
+ self.cam_index = 6
self.camstep = 1
self.camtimer = eTimer()
self.camtimer.callback.append(self.cam_state)
+ self.mactry = 1
self.getmacaddr()
self.getversion()
self.satatimer = eTimer()
self.satatimer.callback.append(self.sataCheck)
+ self.usbtimer = eTimer()
+ self.usbtimer.callback.append(self.usbCheck)
+
def getModelInfo(self):
- info = open("/proc/stb/info/version").read()
- print info,info[:2]
- if info[:2] == "14":
- self.model = 1
- elif info[:2] == "12":
- self.model= 0
-
+ getmodel = 0
+ if fileExists("/proc/stb/info/vumodel"):
+ info = open("/proc/stb/info/vumodel").read().strip()
+ if info == "combo":
+ self.model = 2
+ getmodel = 1
+ print "getModelInfo : combo"
+ if info == "solo":
+ self.model = 1
+ getmodel = 1
+ print "getModelInfo : solo"
+ if info == "duo":
+ self.model = 0
+ getmodel = 1
+ print "getModelInfo : duo"
+ if getmodel == 0 and fileExists("/proc/stb/info/version"):
+ info = open("/proc/stb/info/version").read()
+# print info,info[:2]
+ if info[:2] == "14":
+ self.model = 1
+ print "getModelInfo : solo_"
+ elif info[:2] == "12":
+ self.model = 0
+ print "getModelInfo : duo_"
def nothing(self):
print "nothing"
tunno = 1
result = eSctest.getInstance().getFrontendstatus(0)
hv = "Ver"
-
- if index == self.tuner1_2testIndex or index==self.tuner2_2testIndex:
+ if self.model == 2 and index==self.tuner2_2testIndex:
+ hv = ""
+ elif index == self.tuner1_2testIndex or index==self.tuner2_2testIndex:
hv = "Ver"
else:
hv = "Hor"
self.tunerlock = 0
self.tunemsgtimer.stop()
self.session.nav.stopService()
+ self.avswitch.setColorFormat(0)
self.session.open( MessageBox, _("Tune%d %s Locking Fail..."%(tunno,hv)), MessageBox.TYPE_ERROR)
if self.agingmode==0:
self.rlist[self["testlist"].getCurrent()[1]]="fail"
self["testversion"].setText(("Version no load"))
- def readmac(self, result, retval,extra_args=None):
- (statecallback) = extra_args
- if self.macConsole is not None:
- if retval == 0:
- self.macConsole = None
- content =result.split()
- self["mactext"].setText(("MAC : "+content[10]))
-
def getmacaddr(self):
try:
- cmd = "ip -o addr"
+ if self.model == 2:
+ cmd = "nanddump -s 0x" + str((self.mactry-1)*2) + "0000 -b -o -l 64 -p /dev/mtd5"
+ elif self.model == 0 or self.model == 1:
+ cmd = "nanddump -s 0x" + str((self.mactry-1)*2) + "0000 -b -o -l 64 -p /dev/mtd4"
self.macConsole = Console()
- self.macConsole.ePopen(cmd, self.readmac)
-# self["stattext"].setText((macaddr))
+ self.macConsole.ePopen(cmd, self.readmac,self.checkReadmac)
except:
return
+
+ def readmac(self, result, retval,extra_args=None):
+ (callback) = extra_args
+ if self.macConsole is not None:
+ if retval == 0:
+ self.macConsole = None
+ macline = None
+ content =result.splitlines()
+ for x in content:
+ if x.startswith('0x000'+str((self.mactry-1)*2)+'0010:'):
+ macline = x.split()
+ if macline == None:
+ callback(0)
+ elif len(macline) < 10:
+ callback(1)
+ else:
+ mac = macline[5]+":"+macline[6]+":"+macline[7]+":"+macline[8]+":"+macline[9]+":"+macline[10]
+ self["mactext"].setText(("MAC : "+mac))
+ callback(2)
+
+ def checkReadmac(self,data):
+ if data == 0:
+ print "block %d is bad block" % self.mactry
+ self.mactry = self.mactry + 1
+ if self.mactry > 4:
+ self.session.open(MessageBox, _("FLASH IS BROKEN"), type = MessageBox.TYPE_INFO, enable_input = False)
+ return
+ else:
+ self.getmacaddr()
+ elif data == 1:
+ print 'mac dump read error'
+ return
+ elif data == 2:
+ print 'mac address read ok'
+ return
def TestAction(self):
#
# self.Test13()
elif index==self.fdefaultIndex:
self.Test14()
-# elif index==self.shutdownIndex:
-# self.Test15()
+ elif index==self.shutdownIndex:
+ self.Test15()
+ else:
+ pass
def shutdownaction(self):
if self["testlist"].getCurrent()[1] == self.shutdownIndex:
self["resultlist"].updateList(self.rlist)
self.satatry -= 1
displayerror = 0
- result = 0
- checktab=0
+ result =0
try:
- mtab = open('/etc/mtab','r')
- while(1):
- disk = mtab.readline().split(' ')
- if len(disk) < 2:
- break
- if disk[1].startswith('/media/hdd'):
- checktab+=1
- elif disk[1].startswith('/media/sdb1'):
- checktab+=10
- if checktab==11:
- break
- except:
- checktab = 0
-
- if checktab==0:
- if displayerror==1:
- self.session.open( MessageBox, _("Sata & extend hdd test error"), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
- else:
- self.satatimer.start(1100,True)
- return
- elif checktab < 11:
- if displayerror==1:
- self.session.open( MessageBox, _("one hdd test error"), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
- else:
- self.satatimer.start(1100,True)
- return
-
- try:
- if fileExists("/media/sdb1"):
- if access("/media/sdb1",F_OK|R_OK|W_OK):
- dummy=open("/media/sdb1/dummy03","w")
+ if fileExists("/autofs/sdb1"):
+ if access("/autofs/sdb1",F_OK|R_OK|W_OK):
+ dummy=open("/autofs/sdb1/dummy03","w")
dummy.write("complete")
dummy.close()
- dummy=open("/media/sdb1/dummy03","r")
+ dummy=open("/autofs/sdb1/dummy03","r")
if dummy.readline()=="complete":
- print "complete"
+ print "/autofs/sdb1 - complete"
else:
+ print "/autofs/sdb1 - readline error"
result = 1
+ displayerror = 1
dummy.close()
- system("rm /media/sdb1/dummy03")
+ system("rm /autofs/sdb1/dummy03")
else:
+ print "/autofs/sdb1 - rw access error"
result = 1
+ displayerror = 1
else:
+ print "/autofs/sdb1 - file not exist"
result = 1
except:
+ print "/autofs/sdb1 - exceptional error"
result = 1
+ displayerror = 1
try:
if fileExists("/media/hdd"):
if access("/media/hdd",F_OK|R_OK|W_OK):
dummy.close()
dummy=open("/media/hdd/dummy03","r")
if dummy.readline()=="complete":
- print "complete"
+ print "/media/hdd - complete"
else:
+ print "/autofs/sdb1 - readline error"
result += 1
+ displayerror = 1
dummy.close()
system("rm /media/hdd/dummy03")
else:
- result = 1
+ print "/autofs/sdb1 - rw access error"
+ result += 1
+ displayerror = 1
else:
+ print "/autofs/sdb1 - file not exist"
result += 1
except:
+ print "/autofs/sdb1 - exceptional error"
result += 1
-
- if result ==0:
+ displayerror = 1
+
+ if result == 0:
self.session.open( MessageBox, _("Sata & extend hdd test pass"), MessageBox.TYPE_INFO)
self.rlist[self["testlist"].getCurrent()[1]]="pass"
elif result == 1:
if displayerror==1:
- self.session.open( MessageBox, _("one hdd test error"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("One hdd test error"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
else:
self.satatimer.start(1100,True)
if self.model== 0:
self.session.openWithCallback(self.displayresult ,FrontTest)
elif self.model == 1:
- self.session.openWithCallback(self.displayresult ,FrontTest_solo)
+ self.session.openWithCallback(self.displayresult ,FrontTest_solo)
+ elif self.model == 2:
+ self.session.openWithCallback(self.displayresult ,FrontTest_solo)
def displayresult(self):
global fronttest
# ref.setData(3,0x85)
# ref.setData(4,0xC00000)
# ikseong - for 22000 tp ( /home/ikseong/share/lamedb_ORF)
- ref.setData(0,0x19)
- ref.setData(1,0x1325)
- ref.setData(2,0x3ef)
- ref.setData(3,0x1)
- ref.setData(4,0xC00000)
- self.session.nav.playService(ref)
- self.avswitch.setColorFormat(0)
- self.avswitch.setAspectRatio(6)
- self.tuningtimer.start(2000,True)
- self.tunemsgtimer.start(3000, True)
+ if self.model==0:
+ ref.setData(0,0x19)
+ ref.setData(1,0x1325)
+ ref.setData(2,0x3ef)
+ ref.setData(3,0x1)
+ ref.setData(4,0xC00000)
+ self.session.nav.playService(ref)
+ self.avswitch.setColorFormat(0)
+ self.avswitch.setAspectRatio(6)
+ elif self.model==2:
+ ref.setData(0,0x19)
+ ref.setData(1,0x1325)
+ ref.setData(2,0x3ef)
+ ref.setData(3,0x1)
+ ref.setData(4,0xfff029a)
+ self.session.nav.playService(ref)
+ self.avswitch.setColorFormat(2)
+ self.avswitch.setAspectRatio(0)
+ self.tuningtimer.start(4000,True)
+ self.tunemsgtimer.start(5000, True)
def cam_state(self):
if self.camstep == 1:
self.rlist[self["testlist"].getCurrent()[1]]="pass"
if self.tunerlock == 0:
self.rlist[self["testlist"].getCurrent()[1]]="fail"
- elif self["testlist"].getCurrent()[1] == 7 and self.camstep < 5:
+ elif self["testlist"].getCurrent()[1] == self.cam_index and self.camstep < 5:
self.rlist[self["testlist"].getCurrent()[1]]="fail"
else:
self.rlist[self["testlist"].getCurrent()[1]]="fail"
- if self["testlist"].getCurrent()[1] == 6:
+ if self["testlist"].getCurrent()[1] == 6: # YC
self.avswitch.setColorFormat(0)
self.resetSource()
self["resultlist"].updateList(self.rlist)
if(Agingresult ==1):
self["testlist"].moveToIndex(self.fdefaultIndex)
self.Test14()
- self["testlist"].moveToIndex(self.shotdownIndex)
+ self["testlist"].moveToIndex(self.shutdownIndex)
self.agingmode = 0
-# self["testlist"].instance.moveSelection(self["testlist"].instance.moveDown)
-
-
-
+# self["testlist"].instance.moveSelection(self["testlist"].instance.moveDown)
+
def Test8(self):
- if self.model==0:
- try:
- result = 0
- mtab = open('/etc/mtab','r')
- while(1):
- disk = mtab.readline().split(' ')
- if len(disk) < 2:
- break
- if disk[1].startswith('/media/hdd'):
- continue
- elif disk[1].startswith('/media/sdb1'):
- continue
- elif disk[1].startswith('/media/sd'):
- result=result +1
-
- if result < 0 :
- result = 0
- if result == 3:
- self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(3-result)), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
- except:
- if result < 0 :
- result = 0
- if result == 3:
- self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(3-result)), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
+ self.usbtry = 9
+ self.usbtimer.start(100,True)
+
+ def usbCheck(self):
+ if self.usbtry == 0:
+ displayerror = 1
+ else:
+ self.rlist[self["testlist"].getCurrent()[1]]="try %d"%self.usbtry
+ self["resultlist"].updateList(self.rlist)
+ self.usbtry -= 1
+ displayerror = 0
+
+ if self.model==0:
+ devices = [ "/autofs/sdc1", "/autofs/sdd1", "/autofs/sde1" ]
elif self.model==1:
+ devices = [ "/autofs/sda1", "/autofs/sdb1" ]
+ elif self.model==2:
+ devices = [ "/autofs/sdc1", "/autofs/sdd1" ]
+
+ result=len(devices)
+
+ for dev in devices:
try:
- result = 0
- mtab = open('/etc/mtab','r')
- while(1):
- disk = mtab.readline().split(' ')
- if len(disk) < 2:
- break
- if disk[1].startswith('/media/'):
- result=result +1
-
- if result < 0 :
- result = 0
- if result == 2:
- self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
+ if fileExists(dev):
+ if access(dev,F_OK|R_OK|W_OK):
+ dummy=open(dev+"/dummy03","w")
+ dummy.write("complete")
+ dummy.close()
+ dummy=open(dev+"/dummy03","r")
+ if dummy.readline()=="complete":
+ print dev," - complete"
+ else:
+ print dev," - readline error"
+ result=result -1
+ displayerror = 1
+ dummy.close()
+ system("rm "+dev+"/dummy03")
+ else:
+ print dev," - rw access error"
+ result=result -1
+ displayerror = 1
else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(2-result)), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
+ print dev," - file not exist"
+ result=result-1
except:
- if result < 0 :
- result = 0
- if result == 2:
- self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(2-result)), MessageBox.TYPE_ERROR)
- self.rlist[self["testlist"].getCurrent()[1]]="fail"
-
+ print dev," - exceptional error"
+ result=result -1
+ displayerror = 1
+
+ if result < 0 :
+ result = 0
+ elif result == len(devices):
+ self.session.open( MessageBox, _("USB test pass %d devices\nPress OK!"%result), MessageBox.TYPE_INFO)
+ self.rlist[self["testlist"].getCurrent()[1]]="pass"
+ else:
+ if displayerror == 1:
+ self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d\nPress EXIT!"%(len(devices)-result)), MessageBox.TYPE_ERROR)
+ self.rlist[self["testlist"].getCurrent()[1]]="fail"
+ else:
+ self.usbtimer.start(1100,True)
def pingtest(self):
self.testing = 1
self.pingtest()
def openMacConfig(self, ret=False):
- self.session.openWithCallback(self.macresult ,MacConfig)
+ self.session.openWithCallback(self.macresult ,MacConfig,mactry=self.mactry)
def macresult(self):
global ethtest
self.rlist[self["testlist"].getCurrent()[1]]="fail"
def Test10(self):
- self.session.openWithCallback(self.scciresult ,SmartCardTest)
+ self.session.openWithCallback(self.scciresult ,SmartCardTest,stbmodel=self.model)
def Test11(self):
self.MemTest(1)
return
print "exit"
self.close()
+# if self.oldref is not None:
+# self.session.nav.playService(self.oldref)
ethtest = 0
class MacConfig(Screen):
<widget name="stattext" position="30,75" size="400,25" font="Regular;20" />
</screen>"""
- def __init__(self, session):
+ def __init__(self, session, mactry = 1):
self["actions"] = ActionMap(["DirectionActions","OkCancelActions"],
{
"ok": self.keyOk,
}, -2)
Screen.__init__(self, session)
-
- self.result = 0
+
+ self.mactry = mactry
+ self.model = 0
+ self.getModelInfo()
+# self.result = 0
self.macfd = 0
self.macaddr = "000000000000"
- self.NetworkState = 0
+ self.ReadMacinfo = 0
self["text"]=Label((self.macaddr))
self["text1"]= Label(("< >"))
self["stattext"]= Label((""))
self.displaymac()
self.loadmacaddr()
self.getmacaddr()
- self.pingok=1
-# self.pingtest()
global ethtest
ethtest = 1
+ def getModelInfo(self):
+ getmodel = 0
+ if fileExists("/proc/stb/info/vumodel"):
+ info = open("/proc/stb/info/vumodel").read().strip()
+ if info == "combo":
+ self.model = 2
+ getmodel = 1
+ print "MacConfig, model : combo"
+ if info == "solo":
+ self.model = 1
+ getmodel = 1
+ print "MacConfig, model : solo"
+ if info == "duo":
+ self.model = 0
+ getmodel = 1
+ print "MacConfig, model : duo"
+ if getmodel == 0 and fileExists("/proc/stb/info/version"):
+ info = open("/proc/stb/info/version").read()
+# print info,info[:2]
+ if info[:2] == "14":
+ self.model = 1
+ print "MacConfig, model : solo_"
+ elif info[:2] == "12":
+ self.model = 0
+ print "MacConfig, model: duo_"
+
def loadmacaddr(self):
try:
- result = 0
self.macfd = 0
- mtab = open('/etc/mtab','r')
- while(1):
- disk = mtab.readline().split(' ')
- if len(disk) < 2:
+
+ if self.model==0:
+ devices = ["/autofs/sda1", "/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1", "/autofs/sde1" ]
+ elif self.model==1:
+ devices = [ "/autofs/sda1", "/autofs/sdb1" ]
+ elif self.model==2:
+ devices = [ "/autofs/sda1", "/autofs/sdb1", "/autofs/sdc1", "/autofs/sdd1" ]
+
+ for dev in devices:
+ print 'try..',dev
+ if fileExists(dev+"/macinfo.txt"):
+ self.macfd = open(dev+"/macinfo.txt","r+")
break
- if disk[1].startswith('/media/sd') or disk[1].startswith('/media/hdd'):
- print 'try..',disk[1]
- if fileExists(disk[1]+"/macinfo.txt"):
- self.macfd = open(disk[1]+"/macinfo.txt","r+")
- break
+
if self.macfd == 0:
self["text"].setText(("cannot read usb!!"))
self["text1"].setText((" "))
self["stattext"].setText((" Press Exit Key."))
- self.NetworkState=0
+ self.ReadMacinfo=0
return
macaddr=self.macfd.readline().split(":")
self.macaddr=macaddr[1]+macaddr[2]+macaddr[3]+macaddr[4]+macaddr[5]+macaddr[6]
self.displaymac()
- self.NetworkState = 1
+ self.ReadMacinfo = 1
except:
self["text"].setText(("cannot read usb!!"))
self["text1"].setText((" "))
self["stattext"].setText((" Press Exit Key."))
- self.NetworkState=0
-# self.session.open( MessageBox, _("Mac address fail"), MessageBox.TYPE_ERROR)
-
- def readmac(self, result, retval,extra_args=None):
- (statecallback) = extra_args
- if self.macConsole is not None:
- if retval == 0:
- self.macConsole = None
- content =result.split()
- self["stattext"].setText(("now : "+content[10]))
+ self.ReadMacinfo=0
def getmacaddr(self):
- if self.NetworkState==0:
+ if self.ReadMacinfo==0:
return
try:
- cmd = "ip -o addr"
+ if self.model == 2:
+ cmd = "nanddump -s 0x" + str((self.mactry-1)*2) + "0000 -b -o -l 64 -p /dev/mtd5"
+ elif self.model == 0 or self.model == 1:
+ cmd = "nanddump -s 0x" + str((self.mactry-1)*2) + "0000 -b -o -l 64 -p /dev/mtd4"
self.macConsole = Console()
- self.macConsole.ePopen(cmd, self.readmac)
-# self["stattext"].setText((macaddr))
+ self.macConsole.ePopen(cmd, self.readmac,self.checkReadmac)
except:
return
+
+ def readmac(self, result, retval,extra_args=None):
+ (callback) = extra_args
+ if self.macConsole is not None:
+ if retval == 0:
+ self.macConsole = None
+ macline = None
+ content =result.splitlines()
+ for x in content:
+ if x.startswith('0x000'+str((self.mactry-1)*2)+'0010:'):
+ macline = x.split()
+ if macline == None:
+ callback(0)
+ elif len(macline) < 10:
+ callback(1)
+ else:
+ mac = macline[5]+":"+macline[6]+":"+macline[7]+":"+macline[8]+":"+macline[9]+":"+macline[10]
+ self["stattext"].setText(("now : "+mac))
+ callback(2)
+
+ def checkReadmac(self,data):
+ if data == 0:
+ print "block %d is bad block" % self.mactry
+ self.mactry = self.mactry + 1
+ if self.mactry > 4:
+ self.session.open(MessageBox, _("FLASH IS BROKEN"), type = MessageBox.TYPE_INFO, enable_input = False)
+ return
+ else:
+ self.getmacaddr()
+ elif data == 1:
+ print 'mac dump read error'
+ return
+ elif data == 2:
+ print 'mac address read ok'
+ return
+
def keyleft(self):
- if self.NetworkState==0 or self.pingok<1:
+ if self.ReadMacinfo==0 :
return
macaddress = long(self.macaddr,16)-1
if macaddress < 0 :
self.displaymac()
def keyright(self):
- if self.NetworkState==0 or self.pingok<1:
+ if self.ReadMacinfo==0 :
return
macaddress = long(self.macaddr,16)+1
if macaddress > 0xffffffffffff:
self["text"].setText(("%02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))))
def keyOk(self):
- if self.NetworkState==0 or self.pingok<1:
+ if self.ReadMacinfo==0 :
return
try:
- system("/etc/init.d/networking stop")
- system("ifconfig eth0 down")
macaddr = self.macaddr
#make_mac_sector 00-99-99-99-00-00 > /tmp/mac.sector
#flash_eraseall /dev/mtd4
#nandwrite /dev/mtd4 /tmp/mac.sector -p
cmd = "make_mac_sector %02x-%02x-%02x-%02x-%02x-%02x > /tmp/mac.sector"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
system(cmd)
- system("flash_eraseall /dev/mtd4")
- system("nandwrite /dev/mtd4 /tmp/mac.sector -p")
- macaddrcmd="ifconfig eth0 hw ether %02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
- system(macaddrcmd)
+ if self.model == 2:
+ system("flash_eraseall /dev/mtd5")
+ system("nandwrite /dev/mtd5 /tmp/mac.sector -p")
+ elif self.model == 0 or self.model ==1 :
+ system("flash_eraseall /dev/mtd4")
+ system("nandwrite /dev/mtd4 /tmp/mac.sector -p")
macaddress = long(macaddr,16)+1
if macaddress > 0xffffffffffff:
macaddress = 0
macwritetext = "MAC:%02x:%02x:%02x:%02x:%02x:%02x"%(int(macaddr[0:2],16),int(macaddr[2:4],16),int(macaddr[4:6],16),int(macaddr[6:8],16),int(macaddr[8:10],16),int(macaddr[10:12],16))
self.macfd.seek(0)
self.macfd.write(macwritetext)
+ self.macfd.close()
+ system("sync")
self.macaddr = macaddr
- system("ifconfig eth0 up")
- self.loadmacaddr()
- system("ifconfig eth0 192.168.0.10")
- system("/etc/init.d/networking start")
self.close()
except:
self.session.open( MessageBox, _("Mac address fail"), MessageBox.TYPE_ERROR)
global ethtest
ethtest = 0
- self.close()
-
- def pingtest(self):
- self["stattext"].setText(("now : wait to finish ping test..."))
-# system("/etc/init.d/networking stop")
- system("ifconfig eth0 192.168.0.10")
-# system("/etc/init.d/networking start")
- cmd1 = "ping -c 1 192.168.0.100"
- self.PingConsole = Console()
- self.PingConsole.ePopen(cmd1, self.checkNetworkStateFinished,self.NetworkStatedataAvail)
-
- def checkNetworkStateFinished(self, result, retval,extra_args):
- (statecallback) = extra_args
- if self.PingConsole is not None:
- if retval == 0:
- self.PingConsole = None
- content = result.splitlines()
-# print 'content',content
- x = content[4].split()
-# print 'x',x
- if x[0]==x[3]:
- statecallback(1)
- else:
- statecallback(0)
- else:
- statecallback(0)
-
-
- def NetworkStatedataAvail(self,data):
- global ethtest
- if data == 1:
- ethtest = 1
- print "success"
- self.pingok=1
- self.loadmacaddr()
- self.getmacaddr()
- self.session.open( MessageBox, _("Ping test pass"), MessageBox.TYPE_INFO,2)
- else:
- ethtest = 0
- print "fail"
- self.pingok=0
- self["stattext"].setText(("ping test fail.. press Exit Key"))
- self.session.open( MessageBox, _("Ping test fail"), MessageBox.TYPE_ERROR,2)
- self.getmacaddr()
-
+ self.close()
def keyCancel(self):
- if self.pingok == -1:
- return
if self.macfd != 0:
self.macfd.close()
global ethtest
self.close()
-
sccitest = 0
class ScCiTest(Screen):
<widget name="text" position="10,10" size="140,100" font="Regular;22" />
</screen>"""
- def __init__(self, session):
+ def __init__(self, session, stbmodel = 0):
self["actions"] = ActionMap(["DirectionActions", "OkCancelActions"],
{
"cancel": self.keyCancel,
self.step = 0
self.smartcardtimer = eTimer()
self.smartcardtimer.callback.append(self.check_smart_card)
- self.smartcardtimer.start(100,True)
self.closetimer = eTimer()
self.closetimer.callback.append(self.close)
self.smartcard=0
global smartcardtest
smartcardtest = 0
- self.Testmode = 0
- self.model = 0
- self.check_mode()
-
- def check_mode(self):
- try:
- fd = open("/proc/stb/info/version","r")
- version = fd.read()
- if int(version,16) <= 0x1200A3:
- self.Testmode = 0
- else:
- self.Testmode = 1
- if int(version,16) < 0x130000:
- self.model = 0
- elif int(version,16) > 0x140000:
- self.model = 1
- except:
- self.Testmode = 0
+ self.model = stbmodel
+ self.Testmode = 1
+ self.smartcardtimer.start(100,True)
def check_smart_card(self):
global smartcardtest
if result == 0:
print 'pass'
- if(index== 0 and self.model== 0):
+ if(index== 0 and ( self.model== 0 or self.model==2) ):
self.smartcard = 1
self["text"].setText(_("Testing Smartcard 2..."))
self.smartcardtimer.start(100,True)