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:
@@ -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.
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user