aboutsummaryrefslogtreecommitdiff
path: root/plugins/dell/mm-plugin-dell.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dell/mm-plugin-dell.c')
-rw-r--r--plugins/dell/mm-plugin-dell.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/plugins/dell/mm-plugin-dell.c b/plugins/dell/mm-plugin-dell.c
index 2a059cf4..a30c2f47 100644
--- a/plugins/dell/mm-plugin-dell.c
+++ b/plugins/dell/mm-plugin-dell.c
@@ -43,6 +43,7 @@
#if defined WITH_MBIM
#include "mm-broadband-modem-mbim.h"
+#include "mm-broadband-modem-dell-dw5821e.h"
#endif
#define MAX_PORT_PROBE_TIMEOUTS 3
@@ -395,6 +396,15 @@ create_modem (MMPlugin *self,
#if defined WITH_MBIM
if (mm_port_probe_list_has_mbim_port (probes)) {
+ /* Specific implementation for the DW5821e */
+ if (vendor == 0x413c && product == 0x81d7) {
+ mm_dbg ("MBIM-powered DW5821e modem found...");
+ return MM_BASE_MODEM (mm_broadband_modem_dell_dw5821e_new (uid,
+ drivers,
+ mm_plugin_get_name (self),
+ vendor,
+ product));
+ }
mm_dbg ("MBIM-powered Dell-branded modem found...");
return MM_BASE_MODEM (mm_broadband_modem_mbim_new (uid,
drivers,
@@ -442,10 +452,10 @@ create_modem (MMPlugin *self,
/*****************************************************************************/
static gboolean
-grab_port (MMPlugin *self,
- MMBaseModem *modem,
- MMPortProbe *probe,
- GError **error)
+grab_port (MMPlugin *self,
+ MMBaseModem *modem,
+ MMPortProbe *probe,
+ GError **error)
{
if (MM_IS_BROADBAND_MODEM_SIERRA (modem))
return mm_common_sierra_grab_port (self, modem, probe, error);