ublox-gsm-config: Add factory reset feature
BugzID: 57487
This commit is contained in:
parent
1658fc3621
commit
e578b54105
|
|
@ -114,6 +114,25 @@ def apn_setup(ser):
|
||||||
print("Full functionality mode")
|
print("Full functionality mode")
|
||||||
execute_and_check(ser, b'AT+CFUN=1\r')
|
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):
|
def poweroff(gpio):
|
||||||
print('poweroff')
|
print('poweroff')
|
||||||
if not os.path.exists(SERIAL_DEV):
|
if not os.path.exists(SERIAL_DEV):
|
||||||
|
|
@ -128,12 +147,20 @@ def poweroff(gpio):
|
||||||
|
|
||||||
gpio.set_value(0)
|
gpio.set_value(0)
|
||||||
|
|
||||||
|
def help():
|
||||||
|
print('Usage : {} [stop|factory-reset]'.format(sys.argv[0]))
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
line = gpiod.find_line('GSM_SUP_EN')
|
line = gpiod.find_line('GSM_SUP_EN')
|
||||||
line.request(consumer='ublox-config', type=gpiod.LINE_REQ_DIR_OUT)
|
line.request(consumer='ublox-config', type=gpiod.LINE_REQ_DIR_OUT)
|
||||||
|
|
||||||
if len(sys.argv) == 2 and sys.argv[1] == 'stop':
|
if len(sys.argv) == 2:
|
||||||
return poweroff(line)
|
if sys.argv[1] == 'stop':
|
||||||
|
return poweroff(line)
|
||||||
|
elif sys.argv[1] == 'factory-reset':
|
||||||
|
return factory_reset()
|
||||||
|
else:
|
||||||
|
return help()
|
||||||
|
|
||||||
# Power on
|
# Power on
|
||||||
line.set_value(1)
|
line.set_value(1)
|
||||||
|
|
@ -158,15 +185,7 @@ def main():
|
||||||
rst = sim_config(ser) or rst
|
rst = sim_config(ser) or rst
|
||||||
|
|
||||||
if rst:
|
if rst:
|
||||||
print("Resetting modem")
|
ser = reset_modem(ser)
|
||||||
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)
|
|
||||||
|
|
||||||
apn_setup(ser)
|
apn_setup(ser)
|
||||||
config_dump.dump_modem_config(ser)
|
config_dump.dump_modem_config(ser)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue