コード例 #1
0
 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)
コード例 #2
0
    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)