ublox-gsm-config: Add factory reset feature
BugzID: 57487
This commit is contained in:
parent
bb22100f77
commit
3548aee12a
|
|
@ -114,6 +114,25 @@ def apn_setup(ser):
|
|||
print("Full functionality mode")
|
||||
execute_and_check(ser, b'AT+CFUN=1\r')
|
||||
|
||||
def reset_modem(ser):
|
||||
print("Resetting modem")
|
||||
ser.write(b'AT+CFUN=16\r')
|
||||
ser.close()
|
||||
while os.path.exists(SERIAL_DEV):
|
||||
time.sleep(1)
|
||||
while not os.path.exists(SERIAL_DEV):
|
||||
time.sleep(1)
|
||||
return serial.Serial(SERIAL_DEV, 115200, timeout=0.5)
|
||||
|
||||
def factory_reset():
|
||||
print('factory reset the modem')
|
||||
if not os.path.exists(SERIAL_DEV):
|
||||
print('serial interface is not available, abort')
|
||||
return -1
|
||||
ser = serial.Serial(SERIAL_DEV, 115200, timeout=0.5)
|
||||
execute_and_check(ser, b'AT+UFACTORY=2,1')
|
||||
reset_modem(ser)
|
||||
|
||||
def poweroff(gpio):
|
||||
print('poweroff')
|
||||
if not os.path.exists(SERIAL_DEV):
|
||||
|
|
@ -128,12 +147,20 @@ def poweroff(gpio):
|
|||
|
||||
gpio.set_value(0)
|
||||
|
||||
def help():
|
||||
print('Usage : {} [stop|factory-reset]'.format(sys.argv[0]))
|
||||
|
||||
def main():
|
||||
line = gpiod.find_line('GSM_SUP_EN')
|
||||
line.request(consumer='ublox-config', type=gpiod.LINE_REQ_DIR_OUT)
|
||||
|
||||
if len(sys.argv) == 2 and sys.argv[1] == 'stop':
|
||||
return poweroff(line)
|
||||
if len(sys.argv) == 2:
|
||||
if sys.argv[1] == 'stop':
|
||||
return poweroff(line)
|
||||
elif sys.argv[1] == 'factory-reset':
|
||||
return factory_reset()
|
||||
else:
|
||||
return help()
|
||||
|
||||
# Power on
|
||||
line.set_value(1)
|
||||
|
|
@ -158,15 +185,7 @@ def main():
|
|||
rst = sim_config(ser) or rst
|
||||
|
||||
if rst:
|
||||
print("Resetting modem")
|
||||
ser.write(b'AT+CFUN=16\r')
|
||||
|
||||
ser.close()
|
||||
while os.path.exists(SERIAL_DEV):
|
||||
time.sleep(1)
|
||||
while not os.path.exists(SERIAL_DEV):
|
||||
time.sleep(1)
|
||||
ser = serial.Serial(SERIAL_DEV, 115200, timeout=0.5)
|
||||
ser = reset_modem(ser)
|
||||
|
||||
apn_setup(ser)
|
||||
config_dump.dump_modem_config(ser)
|
||||
|
|
|
|||
Loading…
Reference in New Issue