Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit 47fef73

Browse files
author
iwahdan88
committed
Updated Sqns upgrade scripts to v1.2.5
1 parent 4bc902b commit 47fef73

File tree

1 file changed

+65
-15
lines changed

1 file changed

+65
-15
lines changed

esp32/frozen/LTE/sqnsupgrade.py

Lines changed: 65 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env python
2-
VERSION = "1.2.4"
2+
VERSION = "1.2.5"
33

44
# Copyright (c) 2019, Pycom Limited.
55
#
@@ -67,6 +67,7 @@ def special_print(self, msg, flush=None, end='\n'):
6767
print(msg, flush=flush, end=end)
6868

6969
def read_rsp(self, size=None, timeout=-1):
70+
time.sleep(.25)
7071
if timeout < 0:
7172
timeout = 20000
7273
elif timeout is None:
@@ -338,7 +339,7 @@ def __get_wait_msg(self, load_fff=True):
338339

339340

340341

341-
def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_ffh=False, mirror=False, switch_ffh=False, bootrom=False, rgbled=0x050505, debug=False, pkgdebug=False, atneg=True, max_try=10, direct=True, atneg_only=False, info_only=False, expected_smod=None, verbose=False, load_fff=False):
342+
def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_ffh=False, mirror=False, switch_ffh=False, bootrom=False, rgbled=0x050505, debug=False, pkgdebug=False, atneg=True, max_try=10, direct=True, atneg_only=False, info_only=False, expected_smod=None, verbose=False, load_fff=False, mtools=False):
342343
self.__wait_msg = False
343344
mirror = True if atneg_only else mirror
344345
recover = True if atneg_only else load_ffh
@@ -418,7 +419,7 @@ def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_f
418419
if not self.wakeup_modem(baudrate, port, 10, 1, debug):
419420
return False
420421

421-
if not resume:
422+
if (not resume) or mtools:
422423

423424
# bind to AT channel
424425
self.__serial.write(b"AT+BIND=AT\r\n")
@@ -432,17 +433,42 @@ def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_f
432433
response = self.read_rsp(size=100)
433434
if debug: print("ATE0 returned {}".format(response))
434435

435-
self.__serial.read(100)
436+
self.__serial.read()
436437
if debug: print('Entering upgrade mode...')
437438

438439
self.__serial.write(b"AT+SMOD?\r\n")
439440
response = self.return_pretty_response(self.read_rsp(size=7))
440-
self.__serial.read(100)
441441
if debug: print("AT+SMOD? returned {}".format(response))
442442

443+
if verbose: print("Sending AT+SMLOG?")
444+
self.__serial.write(b'AT+SMLOG?\r\n')
445+
response = self.read_rsp(size=100)
446+
if verbose: print("AT+SMLOG? returned {}".format(response))
447+
448+
if verbose: print('Sending AT+FSRDFILE="/fs/crashdump"')
449+
self.__serial.write(b'AT+FSRDFILE="/fs/crashdump"\r\n')
450+
response = self.read_rsp(size=100)
451+
if verbose: print('AT+FSRDFILE="/fs/crashdump" returned {}'.format(response))
452+
self.__serial.read()
453+
443454
self.__serial.write(b"AT+SQNSUPGRADENTF=\"started\"\r\n")
455+
response = self.read_rsp(size=100)
456+
if verbose: print('AT+SQNSUPGRADENTF="started" returned {}'.format(response))
444457
self.wait_for_modem()
445-
if not load_fff:
458+
459+
if verbose: print('Sending AT+SQNWL="sqndcc"')
460+
self.__serial.write(b'AT+SQNWL="sqndcc"\r\n')
461+
response = self.read_rsp(size=100)
462+
if verbose: print('AT+SQNWL="sqndcc" returned {}'.format(response))
463+
self.__serial.read(100)
464+
465+
if verbose: print("Sending AT+CFUN=4")
466+
self.__serial.write(b'AT+CFUN=4\r\n')
467+
response = self.read_rsp(size=100)
468+
if verbose: print("AT+CFUN=4 returned {}".format(response))
469+
self.__serial.read(100)
470+
471+
if not (load_fff or mtools):
446472
self.__serial.write(b"AT+SMSWBOOT=3,1\r\n")
447473
resp = self.read_rsp(100)
448474
if debug: print('AT+SMSWBOOT=3,1 returned: {}'.format(resp))
@@ -465,6 +491,23 @@ def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_f
465491
self.wait_for_modem()
466492
self.__serial.write(b"AT\r\n")
467493

494+
if verbose: print("Sending AT+CFUN=4")
495+
self.__serial.write(b'AT+CFUN=4\r\n')
496+
response = self.read_rsp(size=100)
497+
if verbose: print("AT+CFUN=4 returned {}".format(response))
498+
499+
if verbose: print("Sending AT+SMLOG?")
500+
self.__serial.write(b'AT+SMLOG?\r\n')
501+
response = self.read_rsp(size=100)
502+
if verbose: print("AT+SMLOG? returned {}".format(response))
503+
504+
if verbose: print('Sending AT+FSRDFILE="/fs/crashdump"')
505+
self.__serial.write(b'AT+FSRDFILE="/fs/crashdump"\r\n')
506+
response = self.read_rsp(size=100)
507+
if verbose: print('AT+FSRDFILE="/fs/crashdump" returned {}'.format(response))
508+
self.__serial.read()
509+
510+
468511
else:
469512
self.__serial.read(100)
470513
if debug: print('Entering recovery mode')
@@ -494,10 +537,6 @@ def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_f
494537
print('Starting STP ON_THE_FLY')
495538

496539
self.__serial.read(100)
497-
if verbose: print("Sending AT+CFUN=4")
498-
resonse = self.__serial.write(b'AT+CFUN=4\r\n')
499-
if verbose: print("AT+CFUN=4 returned {}".format(response))
500-
self.__serial.read(100)
501540

502541
if load_fff:
503542
if debug: print("Sending AT+SMSTPU")
@@ -676,7 +715,15 @@ def __run(self, file_path=None, baudrate=921600, port=None, resume=False, load_f
676715
time.sleep(0.5)
677716

678717
if 'success' in sqnup_result:
718+
if verbose: print('Sending AT+SQNSUPGRADENTF="success"')
679719
self.__serial.write(b"AT+SQNSUPGRADENTF=\"success\"\r\n")
720+
resonse = self.read_rsp(100)
721+
if verbose: print('AT+SQNSUPGRADENTF="success" returned {}'.format(response))
722+
time.sleep(.25)
723+
if verbose: print('Sending AT+FSRDFILE="/fs/crashdump"')
724+
self.__serial.write(b'AT+FSRDFILE="/fs/crashdump"\r\n')
725+
resonse = self.read_rsp(100)
726+
if verbose: print('AT+FSRDFILE="/fs/crashdump" returned {}'.format(response))
680727
self.__serial.read()
681728
return True
682729
elif sqnup_result is None:
@@ -718,7 +765,7 @@ def wakeup_modem(self, baudrate, port, max_try, delay, debug, msg='Attempting AT
718765
count = 0
719766
if msg is not None:
720767
if debug:
721-
print(msg + 'with baudrate {}'.format(baudrate))
768+
print(msg + ' [{}]'.format(baudrate))
722769
else:
723770
print(msg)
724771

@@ -808,7 +855,7 @@ def success_message(self, port=None, verbose=False, debug=False):
808855
print("Here is the current firmware version:\n")
809856
self.show_info(port=port, verbose=verbose, debug=debug)
810857

811-
def upgrade(self, ffile, mfile=None, baudrate=921600, retry=False, resume=False, debug=False, pkgdebug=False, verbose=False, load_fff=True, load_only=False):
858+
def upgrade(self, ffile, mfile=None, baudrate=921600, retry=False, resume=False, debug=False, pkgdebug=False, verbose=False, load_fff=True, load_only=False, mtools=False):
812859
success = True
813860
if not retry and mfile is not None:
814861
if resume or self.__check_br(br_only=True, verbose=verbose, debug=debug):
@@ -833,7 +880,7 @@ def upgrade(self, ffile, mfile=None, baudrate=921600, retry=False, resume=False,
833880
print('Unable to upgrade bootrom.')
834881
if debug: print('Success2? {}'.format(success))
835882
if success:
836-
if self.__run(file_path=ffile, resume=True if mfile is not None else resume, baudrate=baudrate, direct=False, debug=debug, pkgdebug=pkgdebug, verbose=verbose, load_fff=False if mfile else load_fff):
883+
if self.__run(file_path=ffile, resume=True if mfile is not None else resume, baudrate=baudrate, direct=False, debug=debug, pkgdebug=pkgdebug, verbose=verbose, load_fff=False if mfile else load_fff, mtools=mtools):
837884
if self.__check_br(verbose=verbose, debug=debug):
838885
self.__run(bootrom=True, debug=debug, direct=False, pkgdebug=pkgdebug, verbose=verbose, load_fff=True)
839886
self.success_message(verbose=verbose, debug=debug)
@@ -925,6 +972,7 @@ def run(ffile, mfile=None, baudrate=921600, verbose=False, debug=False, load_fff
925972
print_welcome()
926973
retry = False
927974
resume = False
975+
mtools = False
928976
sqnup = sqnsupgrade()
929977
if sqnup.check_files(ffile, mfile, debug):
930978
state = sqnup.detect_modem_state(debug=debug, hangup=hangup)
@@ -937,11 +985,13 @@ def run(ffile, mfile=None, baudrate=921600, verbose=False, debug=False, load_fff
937985
print('Your modem is in recovery mode. Please specify updater.elf file')
938986
reconnect_uart()
939987
sys.exit(1)
940-
elif state == 4 or state == 1:
988+
elif state == 4:
941989
resume = True
990+
elif state == 1:
991+
mtools = True
942992
elif state == -1:
943993
detect_error()
944-
sqnup.upgrade(ffile=ffile, mfile=mfile, baudrate=baudrate, retry=retry, resume=resume, debug=debug, pkgdebug=False, verbose=verbose, load_fff=load_fff)
994+
sqnup.upgrade(ffile=ffile, mfile=mfile, baudrate=baudrate, retry=retry, resume=resume, debug=debug, pkgdebug=False, verbose=verbose, load_fff=load_fff, mtools=mtools)
945995
reconnect_uart()
946996

947997
def uart(ffh_mode=False, mfile=None, color=0x050505, verbose=False, debug=False, hangup=True):

0 commit comments

Comments
 (0)