NetworkTimeChanged signal doesn't seems to be working for Quectel

Aleksander Morgado aleksandermj at
Wed May 3 13:11:54 UTC 2023

Hey Thomas,

> I do get the +CTZU notification, but it worked differently for quectel because it doesn't receive the new time we need to check for +CTZE that's the URC that we get when we receive notification that the time has been changed.

What is the format of the +CTZE URC? is it similar to +CTZU? how are
they different?

> For my use case, I would like to update my local time automatically on a linux environment using modemmanager with quectel modules.
> So right now I manage to change cinterion's function to process +CTZE events and I receive the signal like this
> GDBusProxy *proxy = g_dbus_proxy_new_sync(connection,
> "org.freedesktop.ModemManager1",
> modemPath,
> "org.freedesktop.ModemManager1.Modem.Time",
> &error);
> if (error != NULL) {
> g_printerr("Error creating ModemManager1.Modem proxy: %s\n", error->message);
> g_error_free(error);
> return 1;
> }
> g_signal_connect(proxy, "g-properties-changed", G_CALLBACK(update_local_time), NULL);
> }
> But I'm not sure it's the best way to process the signal

Wondering, why not use the libmm-glib  we ship with ModemManager
instead of manually creating the proxies and parsing the list of
updated properties?
E.g. you could:
 * create a new MMManager with mm_manager_new()
 * list the MMObjects it handles with g_dbus_object_manager_get_objects()
 * get a MMModemTime interface object with mm_object_get_modem_time()
 * listen to the "network-time-changed" signal


More information about the ModemManager-devel mailing list