def onContinue(self, pass_or_failed): param = self.ui.entry.get().strip() sn = self.getSn() Log.d(u'%s -> %s' % (self.getName(), repr(sn))) if sn != param: return BaseWork.FAILED else: return BaseWork.SUCCESS self.ctx.setSn(sn) return BaseWork.onContinue(self, self.result)
def onWork(self): cmds = [] cmds.append('adb remount') cmds.append('adb push data/cfg80211.ko /system/lib/modules/') cmds.append('adb push data/bcmdhd.ko /system/lib/modules/') cmds.append('adb push data/nvram.txt /etc/') cmds.append('adb push data/fw_bcmdhd.bin /etc/') cmds.append('adb push data/wl.dat /data/') cmds.append('adb shell "busybox chmod +x /data/wl.dat"') cmds.append('adb shell "insmod /system/lib/modules/cfg80211.ko"') cmds.append('adb shell "insmod /system/lib/modules/bcmdhd.ko nvram_path=/etc/nvram.txt firmware_path=/etc/fw_bcmdhd.bin"') cmds.append('adb shell "busybox ifconfig wlan0 up"') cmds.append('adb shell "/data/wl.dat scan"') success_snipptes = ['remount succeeded', 'KB/s', '(File exists)'] for cmd in cmds: ret, output = runcmd(cmd) Log.d(cmd) output = output.strip() if ret != 0: self.err = output return self.FAILED # match success outputs matchsnippet = False for snippet in success_snipptes: if snippet in output: matchsnippet = True break if matchsnippet: continue if output: self.err = output return self.FAILED # wait scan results perpared cmd = 'adb shell "/data/wl.dat" scanresults' expectstr = '/data/wl.dat: Not Ready' while True: sleep(1) ret, output = runcmd(cmd) if expectstr not in output: break return BaseWork.onWork(self)