RC7620 network time incorrect by up to 2 minutes

Hi,

I’m using modemmanager to control a Sierra Wireless RC7620 device. The time returned by the mm_modem_time_get_network_time() function of the modemmanager API is up to 2 minutes earlier than real time. Sometimes the time is 55 seconds earlier than real-time, sometimes it is 30 seconds earlier than real-time, the time offset to real-time varies.

Any thoughts as to why this may be happening?

have you checked AT+CCLK? to see whether the clock of the module is correct?

Yes, the time is still incorrect (by 21 seconds). I have also updated the modem firmware to be the latest (version 10). I have also updated the MBPL to be the latest.

Without connecting USB, can you connect the module’s UART to windows to check AT+CCLK?

Sadly I’m not able to do that. I only have access to the USB interface of the module, on a Linux host, and I am using /dev/ttyUSB2 to send AT commands

then what is changing the time wrongly?

Linux?

Network ?

It seems to me to be an issue with the modem. I would expect running “AT+CCLK?” to return the correct time, at least to be accurate to a few seconds. Is the NITZ time known to be inaccurate up to 2 minutes?

I don’t see problem with my module:


+CEREG: 1,“2775”,“360A20”,7
at+cgdcont?
+CGDCONT: 1,“IP”,“smartone”,“0.0.0.0”,0,0,0,0
+CGDCONT: 2,“IP”,“internet”,“0.0.0.0”,0,0,0,0
+CGDCONT: 3,“IPV4V6”,“sos”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,1

OK
at+cclk?
+cclk: “25/09/30,10:59:56+32”

OK
ati3
Manufacturer: Sierra Wireless, Incorporated
Model: RC7620-1
Revision: SWI9X07H_00.09.10.00 85890e jenkins 2023/09/25 03:16:56
IMEI: 353635110212345
IMEI SV: 29
FSN: 7T118701512345
+GCAP: +CGSM

OK
at!impref?
!IMPREF:
preferred fw version: 00.09.10.00
preferred carrier name: GENERIC
preferred config name: GENERIC_001.164_000
preferred subpri index: 000
current fw version: 00.09.10.00
current carrier name: GENERIC
current config name: GENERIC_001.164_000
current subpri index: 000

OK
at!gstatus?
!GSTATUS:
Current Time: 65 Temperature: 32
Modem Mitigate Level: 0 ModemProc Mitigate Level: 0
Reset Counter: 1 Mode: ONLINE
System mode: LTE PS state: Attached
IMS reg state: UNKNOWN IMS mode: Not Support
IMS Srv State: UNKNOWN SMS,UNKNOWN VoIP
LTE band: B1 LTE bw: 15 MHz
LTE Rx chan: 374 LTE Tx chan: 18374
LTE CA state: INACTIVE
EMM state: Registered Normal Service
RRC state: RRC Idle

PCC RxM RSSI: -56 RSRP (dBm): -93
PCC RxD RSSI: -80 RSRP (dBm): -117
Tx Power: – TAC: 2775 (10101)
RSRQ (dB): -18 Cell ID: 00360A20 (3541536)
SINR (dB): -2.4

OK

It seems that after turning the modem off and back on again quickly, it keeps the previous time. However if I power the modem off, then wait 30 seconds, then power the modem again, the response from AT+CCLK? is “80/01/06,00:00:00”, then after 20 seconds or so the time becomes correct, which is expected behaviour.

Perhaps the modem isnt being shut off correctly. Do you know of a way to reset the time on the modem and trigger it to get the time from NITZ again?

You can use at+cfun=0 to enter flight mode.

And then reset the clock to all zero.

And then at+cfun=1 to ask for network registeation

Thank you for the help so far. I tried that but it didnt seem to invoke the module to get time from NITZ again.

By “reset the clock to all zero”, I ran the following command

AT+CCLK=“80/01/06,00:00:00+00”

Is this correct?

yes, i think so, you can double check by AT+CCLK? after setting to all zero

Yeah if I run “AT+CCLK?” and the response is indeed: “80/01/06,00:00:00+00”

After running “AT+CFUN=1”, the modem never updates its time to real time, it just increments every second since “80/01/06,00:00:00+00”

then how about you reset the module by AT+CFUN=-1,1?

Can it update the time?

I presume you mean AT+CFUN=1,1 rather than AT+CFUN=-1,1?

I tried AT+CFUN=-1,1 and that returned an error

Using AT+CFUN=1,1 rebooted the modem but the time did not update.

you can try UDP communication to NTP server and manually decode the NTP to update your +CCLK manually":

My application already uses NTP. However there is a need for some users to get the time via NITZ due as they are using custom APNs with no internet access

As an aside, I tried to downgrade the firmware version on the modem back to version 8, which is what I was using before, and now the modem is stuck in a bootloop. I have just enough time to send AT!BOOTHOLD and I get an OK response, yet it reboots still. Any way to stop a bootloop?

it could be the network problem as you mentioned that it can be updated at the beginning

BTW, have you tried other network operator and see if the NITZ time is correctly reported?

here says there is anti-rollback mechanism in R10 to downgrade to previous version :

https://source.sierrawireless.com/resources/airprime/software/rc76xx/rc76xx-firmware-release-10,-d-,0/#sthash.ogfG5ZKu.dpbs