</screen>"""
def __init__(self, session):
- self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions",],
+ self["actions"] = NumberActionMap(["OkCancelActions","WizardActions","NumberActions","ColorActions",],
{
"left": self.nothing,
"right":self.nothing,
"7": self.numberaction,
"8": self.numberaction,
"9": self.numberaction,
+ "red": self.shutdownaction,
}, -2)
Screen.__init__(self, session)
- TESTPROGRAM_DATE = "2010-03-22"
+ 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(("13. DRAM+Flash test",13))
self.fdefaultIndex=11
tlist.append(("11. Factory default",self.fdefaultIndex))
- self.shotdownIndex=12
- tlist.append(("12. Shutdown",self.shotdownIndex))
+ self.shutdownIndex=12
+ tlist.append(("12. Shutdown",self.shutdownIndex))
elif self.model == 1:
# tlist.append((" 0. Sata & extend hdd test",self.satetestIndex=0))
self.satetestIndex = -1
# tlist.append(("13. DRAM+Flash test",13))
self.fdefaultIndex=7
tlist.append((" 7. Factory default",self.fdefaultIndex))
- self.shotdownIndex=8
- tlist.append((" 8. Shutdown",self.shotdownIndex))
+ 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):
#
# tlist.append(("12. Flash test",12))
# tlist.append(("13. DRAM+Flash test",13))
# tlist.append(("11. Factory default",self.fdefaultIndex=11))
-# tlist.append(("12. Shutdown",self.shotdownIndex=12))
+# tlist.append(("12. Shutdown",self.shutdownIndex=12))
#
if self.testing==1:
return
# self.Test13()
elif index==self.fdefaultIndex:
self.Test14()
- elif index==self.shotdownIndex:
+ elif index==self.shutdownIndex:
+ self.Test15()
+ else:
+ pass
+
+ def shutdownaction(self):
+ if self["testlist"].getCurrent()[1] == self.shutdownIndex:
self.Test15()
self["resultlist"].updateList(self.rlist)
self.satatry -= 1
displayerror = 0
- result = 0
- checktab=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
-
+ result =0
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"
- self.satatimer.start(1100,True)
+ else:
+ self.satatimer.start(1100,True)
else:
if displayerror==1:
self.session.open( MessageBox, _("Sata & extend hdd test error"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
- self.satatimer.start(1100,True)
+ else:
+ self.satatimer.start(1100,True)
def Test1(self):
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.camtimer.start(100,True)
else:
self.session.nav.stopService()
- self.session.open( MessageBox, _("NO_CAM1_NOT_INSERTED"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("CAM1_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
self.tunemsgtimer.stop()
# self.rlist[index]="fail"
print 'appname',appname
if appname is None:
self.session.nav.stopService()
- self.session.open( MessageBox, _("NO_GET_APPNAME"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
self.tunemsgtimer.stop()
else:
self.camtimer.start(100,True)
else:
self.session.nav.stopService()
- self.session.open( MessageBox, _("NO_CAM2_NOT_INSERTED"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("CAM2_NOT_INSERTED\nPress exit!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
self.tunemsgtimer.stop()
# self.rlist[index]="fail"
print 'appname',appname
if appname is None:
self.session.nav.stopService()
- self.session.open( MessageBox, _("NO_GET_APPNAME"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("NO_GET_APPNAME\nPress exit!"), MessageBox.TYPE_ERROR)
self.rlist[self["testlist"].getCurrent()[1]]="fail"
self.tunemsgtimer.stop()
else:
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)
def checkaging(self):
global Agingresult
if(Agingresult ==1):
- self["testlist"].moveToIndex(11)
+ self["testlist"].moveToIndex(self.fdefaultIndex)
self.Test14()
- self["testlist"].moveToIndex(12)
+ 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"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d"%(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"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d"%(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"%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"%(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"%result), MessageBox.TYPE_INFO)
- self.rlist[self["testlist"].getCurrent()[1]]="pass"
- else:
- self.session.open( MessageBox, _("USB test error : Success-%d"%result+" Fail-%d"%(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
else:
ethtest = 0
print "fail"
- self.session.open( MessageBox, _("Ping test fail"), MessageBox.TYPE_ERROR)
+ self.session.open( MessageBox, _("Ping test fail\nPress exit"), MessageBox.TYPE_ERROR)
self.macresult()
def Test9(self):
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]+"/Vuplus_mac.txt"):
- self.macfd = open(disk[1]+"/Vuplus_mac.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
- 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)
#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")
+ 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)
# self.session.open( MessageBox, _("Smart Card OK!!"), MessageBox.TYPE_INFO,2)
self.step = 1
self["text"].setText(_("Smart Card OK!!"))
+ self.closetimer.start(2000,True)
self.smartcardtimer.stop()
# self.session.openWithCallback(self.check6, MessageBox, _("Scart loop ok?"), MessageBox.TYPE_INFO)
else:
- if result ==-1:
- self.session.open( MessageBox, _("%d:NO_DEV_FOUND"%(index+1)), MessageBox.TYPE_ERROR)
- elif result == -2:
- self.session.open( MessageBox, _("%d:SC_NOT_INSERTED"%(index+1)), MessageBox.TYPE_ERROR)
- elif result == -3:
- self.session.open( MessageBox, _("%d:SC_NOT_VALID_ATR"%(index+1)), MessageBox.TYPE_ERROR)
- elif result == -5:
- self.session.open( MessageBox, _("%d:SC_READ_TIMEOUT"%(index+1)), MessageBox.TYPE_ERROR)
+# if result ==-1:
+# self.session.open( MessageBox, _("%d:NO_DEV_FOUND"%(index+1)), MessageBox.TYPE_ERROR)
+# elif result == -2:
+# self.session.open( MessageBox, _("%d:SC_NOT_INSERTED"%(index+1)), MessageBox.TYPE_ERROR)
+# elif result == -3:
+# self.session.open( MessageBox, _("%d:SC_NOT_VALID_ATR"%(index+1)), MessageBox.TYPE_ERROR)
+# elif result == -5:
+# self.session.open( MessageBox, _("%d:SC_READ_TIMEOUT"%(index+1)), MessageBox.TYPE_ERROR)
if(index==0):
- self["text"].setText(_("Smart Card 1 Error!"))
+ self["text"].setText(_("Smart Card 1 Error!\nerrorcode=%d"%result))
elif (index==1):
- self["text"].setText(_("Smart Card 2 Error!"))
+ self["text"].setText(_("Smart Card 2 Error!\nerrorcode=%d"%result))
+ self.closetimer.start(2000,True)
self.smartcardtimer.stop()
self.keytimeout.stop()
self.step =4
self.fronttimer.start(1000,True)
- self["text"].setText(("Front Test OK! Press Exit Key"))
+ self["text"].setText(("Front Test OK!\nPress Exit Key"))
# elif self.step==4:
# global fronttest
# self.fronttimer.stop()
def KeyTimeOut(self):
if self.step == 1:
- self["text"].setText(("Front STANDBY ERROR"))
+ self["text"].setText(("Front STANDBY ERROR\nPress exit!"))
elif self.step == 2 :
- self["text"].setText(("Front CH+ ERROR"))
+ self["text"].setText(("Front CH - ERROR\nPress exit!"))
elif self.step == 3:
- self["text"].setText(("Front CH- ERROR"))
+ self["text"].setText(("Front CH + ERROR\nPress exit!"))
elif self.step == 4 :
- self["text"].setText(("Front VOL + ERROR"))
+ self["text"].setText(("Front VOL - ERROR\nPress exit!"))
elif self.step == 5:
- self["text"].setText(("Front VOL - ERROR"))
+ self["text"].setText(("Front VOL + ERROR\nPress exit!"))
self.step = 0
# self.keyCancel()
self.keytimeout.stop()
self.keytimeout.start(5000,True)
self.step = 2
- self["text"].setText(_("Press Front CH+"))
+ self["text"].setText(_("Press Front CH -"))
def keyright(self):
if self.step== 3:
self.keytimeout.stop()
self.keytimeout.start(5000,True)
self.step = 4
- self["text"].setText(_("Press Front VOL +"))
+ self["text"].setText(_("Press Front VOL -"))
def keyleft(self):
if self.step== 2:
self.keytimeout.stop()
self.keytimeout.start(5000,True)
self.step = 3
- self["text"].setText(_("Press Front CH -"))
+ self["text"].setText(_("Press Front CH +"))
def keyvolup(self):
- if self.step== 4:
+ if self.step== 5:
self.keytimeout.stop()
- self.keytimeout.start(5000,True)
- self.step = 5
- self["text"].setText(_("Press Front VOL -"))
+ self.step = 6
+ self.fronttimer.start(1000,True)
+ self["text"].setText(_("Front LED OK?\n\nyes-ok\nno-exit"))
+# self["text"].setText(("Front Test OK!\nPress Exit Key"))
def keyvoldown(self):
- if self.step== 5:
+ if self.step== 4:
self.keytimeout.stop()
- self.step = 6
- self["text"].setText(("Front Test OK! Press Exit Key"))
+ self.keytimeout.start(5000,True)
+ self.step = 5
+ self["text"].setText(_("Press Front VOL +"))
+
+ def checkled(self, yesno):
+ if yesno :
+ self.step=6
+ else:
+ self.step=0
+ self.keyCancel()
def keyCancel(self):
global fronttest
self.fronttimer.stop()
eSctest.getInstance().VFD_Close()
- if self.step==6:
- fronttest = 1
- else:
- fronttest = 0
+ fronttest = 0
self.close()
def keyOk(self):
- if self.step == 3:
- self.keytimeout.stop()
- self.step =4
- self.fronttimer.start(1000,True)
- self["text"].setText(("Front Test OK! Press Exit Key"))
+ global fronttest
+ self.fronttimer.stop()
+ eSctest.getInstance().VFD_Close()
+ if self.step == 6:
+ fronttest = 1
+ self.close()
def FrontAnimate(self):
if (self.frontturnonoff==0):