Merge request !1420 from 'uml290-network-time-broken'

broadband-modem,pantech: network time broken on UML290

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1420
This commit is contained in:
Dan Williams
2026-01-09 06:04:21 -06:00
4 changed files with 51 additions and 0 deletions
+13
View File
@@ -337,6 +337,19 @@
*/ */
#define ID_MM_INITIAL_QMAP_MUX_ID "ID_MM_INITIAL_QMAP_MUX_ID" #define ID_MM_INITIAL_QMAP_MUX_ID "ID_MM_INITIAL_QMAP_MUX_ID"
/**
* ID_MM_AT_NETWORK_TIME_BROKEN:
*
* This is a device-specific tag that allows users to prevent ModemManager from
* attempting to read network time using AT commands, even if the device
* supports them.
*
* An integer value of 1 prevents reading network time with AT commands.
*
* Since: 1.26
*/
#define ID_MM_AT_NETWORK_TIME_BROKEN "ID_MM_AT_NETWORK_TIME_BROKEN"
/* /*
* The following symbols are deprecated. We don't add them to -compat * The following symbols are deprecated. We don't add them to -compat
* because this -tags file is not really part of the installed API. * because this -tags file is not really part of the installed API.
+22
View File
@@ -28,6 +28,7 @@
#include <ModemManager.h> #include <ModemManager.h>
#define _LIBMM_INSIDE_MM #define _LIBMM_INSIDE_MM
#include <libmm-glib.h> #include <libmm-glib.h>
#include <ModemManager-tags.h>
#include "mm-base-modem-at.h" #include "mm-base-modem-at.h"
#include "mm-broadband-modem.h" #include "mm-broadband-modem.h"
@@ -10968,6 +10969,27 @@ modem_time_check_support (MMIfaceModemTime *self,
GAsyncReadyCallback callback, GAsyncReadyCallback callback,
gpointer user_data) gpointer user_data)
{ {
MMIfacePortAt *port;
GError *error = NULL;
port = mm_base_modem_peek_best_at_port (MM_BASE_MODEM (self), &error);
if (!port) {
g_task_report_error (self, callback, user_data, modem_time_check_support, error);
return;
}
if (mm_kernel_device_get_global_property_as_boolean (mm_port_peek_kernel_device (MM_PORT (port)),
ID_MM_AT_NETWORK_TIME_BROKEN)) {
g_task_report_new_error (self,
callback,
user_data,
modem_time_check_support,
MM_MOBILE_EQUIPMENT_ERROR,
MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED,
"AT network time tagged as broken");
return;
}
mm_base_modem_at_sequence (MM_BASE_MODEM (self), mm_base_modem_at_sequence (MM_BASE_MODEM (self),
time_check_sequence, time_check_sequence,
NULL, /* response_processor_context */ NULL, /* response_processor_context */
+2
View File
@@ -857,6 +857,8 @@ if plugins_options['pantech']
'plugin': true, 'plugin': true,
'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': '-DMM_MODULE_NAME="pantech"'}, 'module': {'sources': sources, 'include_directories': plugins_incs, 'c_args': '-DMM_MODULE_NAME="pantech"'},
}} }}
plugins_udev_rules += files('pantech/77-mm-pantech.rules')
endif endif
# plugin: qcom-soc # plugin: qcom-soc
+14
View File
@@ -0,0 +1,14 @@
# do not edit this file, it will be overwritten on update
ACTION!="add|change|move|bind", GOTO="mm_pantech_end"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="106c", GOTO="mm_pantech_generic"
GOTO="mm_pantech_end"
LABEL="mm_pantech_generic"
# UML290 software L0290VWBB12F.248 crashes when AT network time is requested
ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3718", ENV{ID_MM_AT_NETWORK_TIME_BROKEN}="1"
GOTO="mm_pantech_end"
LABEL="mm_pantech_end"