aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/foxconn/mm-broadband-modem-mbim-foxconn.c15
-rw-r--r--plugins/foxconn/mm-plugin-foxconn.c29
2 files changed, 22 insertions, 22 deletions
diff --git a/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c b/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c
index b8157389..a69e87df 100644
--- a/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c
+++ b/plugins/foxconn/mm-broadband-modem-mbim-foxconn.c
@@ -137,10 +137,17 @@ firmware_load_update_settings (MMIfaceModemFirmware *self,
}
input = qmi_message_dms_foxconn_get_firmware_version_input_new ();
- qmi_message_dms_foxconn_get_firmware_version_input_set_version_type (
- input,
- QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG,
- NULL);
+ /* 0x105b is the T99W175 module, T99W175 needs to compare the apps version. */
+ if (mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)) == 0x105b)
+ qmi_message_dms_foxconn_get_firmware_version_input_set_version_type (
+ input,
+ QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG_APPS,
+ NULL);
+ else
+ qmi_message_dms_foxconn_get_firmware_version_input_set_version_type (
+ input,
+ QMI_DMS_FOXCONN_FIRMWARE_VERSION_TYPE_FIRMWARE_MCFG,
+ NULL);
qmi_client_dms_foxconn_get_firmware_version (
QMI_CLIENT_DMS (client),
input,
diff --git a/plugins/foxconn/mm-plugin-foxconn.c b/plugins/foxconn/mm-plugin-foxconn.c
index b8e3017e..0eef97ef 100644
--- a/plugins/foxconn/mm-plugin-foxconn.c
+++ b/plugins/foxconn/mm-plugin-foxconn.c
@@ -66,22 +66,12 @@ create_modem (MMPlugin *self,
#if defined WITH_MBIM
if (mm_port_probe_list_has_mbim_port (probes)) {
- /* Specific implementation for the T77W968 */
- if (product == 0xe0b4 || product == 0xe0b5) {
- mm_obj_dbg (self, "MBIM-powered T77W968 modem found...");
- return MM_BASE_MODEM (mm_broadband_modem_mbim_foxconn_new (uid,
- drivers,
- mm_plugin_get_name (self),
- vendor,
- product));
- }
-
mm_obj_dbg (self, "MBIM-powered Foxconn-branded modem found...");
- return MM_BASE_MODEM (mm_broadband_modem_mbim_new (uid,
- drivers,
- mm_plugin_get_name (self),
- vendor,
- product));
+ return MM_BASE_MODEM (mm_broadband_modem_mbim_foxconn_new (uid,
+ drivers,
+ mm_plugin_get_name (self),
+ vendor,
+ product));
}
#endif
@@ -98,14 +88,17 @@ create_modem (MMPlugin *self,
G_MODULE_EXPORT MMPlugin *
mm_plugin_create (void)
{
- static const gchar *subsystems[] = { "tty", "net", "usbmisc", NULL };
- static const guint16 vendors[] = { 0x0489, 0 };
+ static const gchar *subsystems[] = { "tty", "net", "usbmisc", "wwan", NULL };
+ static const guint16 vendor_ids[] = {
+ 0x0489, /* usb vid */
+ 0x105b, /* pci vid */
+ 0 };
return MM_PLUGIN (
g_object_new (MM_TYPE_PLUGIN_FOXCONN,
MM_PLUGIN_NAME, MM_MODULE_NAME,
MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
- MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
+ MM_PLUGIN_ALLOWED_VENDOR_IDS, vendor_ids,
MM_PLUGIN_ALLOWED_AT, TRUE,
MM_PLUGIN_ALLOWED_QCDM, TRUE,
MM_PLUGIN_ALLOWED_QMI, TRUE,