diff options
-rw-r--r-- | plugins/huawei/mm-plugin-huawei.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/plugins/huawei/mm-plugin-huawei.c b/plugins/huawei/mm-plugin-huawei.c index e66d287b..98d16694 100644 --- a/plugins/huawei/mm-plugin-huawei.c +++ b/plugins/huawei/mm-plugin-huawei.c @@ -25,6 +25,7 @@ #include "mm-serial-enums-types.h" #include "mm-log.h" #include "mm-plugin-huawei.h" +#include "mm-broadband-modem-qmi.h" #include "mm-broadband-modem-huawei.h" G_DEFINE_TYPE (MMPluginHuawei, mm_plugin_huawei, MM_TYPE_PLUGIN) @@ -423,6 +424,15 @@ create_modem (MMPlugin *self, { propagate_port_mode_results (probes); + if (mm_port_probe_list_has_qmi_port (probes)) { + mm_dbg ("QMI-powered Huawei modem found..."); + return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path, + drivers, + mm_plugin_get_name (self), + vendor, + product)); + } + return MM_BASE_MODEM (mm_broadband_modem_huawei_new (sysfs_path, drivers, mm_plugin_get_name (self), @@ -460,7 +470,7 @@ grab_port (MMPlugin *self, G_MODULE_EXPORT MMPlugin * mm_plugin_create (void) { - static const gchar *subsystems[] = { "tty", "net", NULL }; + static const gchar *subsystems[] = { "tty", "net", "usb", NULL }; static const guint16 vendor_ids[] = { 0x12d1, 0 }; static const MMAsyncMethod custom_init = { .async = G_CALLBACK (huawei_custom_init), |