aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mm-modem-anydata-cdma.c6
-rw-r--r--plugins/mm-modem-anydata-cdma.h4
-rw-r--r--plugins/mm-modem-gobi-gsm.c6
-rw-r--r--plugins/mm-modem-gobi-gsm.h4
-rw-r--r--plugins/mm-modem-hso.c6
-rw-r--r--plugins/mm-modem-hso.h4
-rw-r--r--plugins/mm-modem-huawei-cdma.c6
-rw-r--r--plugins/mm-modem-huawei-cdma.h4
-rw-r--r--plugins/mm-modem-huawei-gsm.c6
-rw-r--r--plugins/mm-modem-huawei-gsm.h4
-rw-r--r--plugins/mm-modem-longcheer-gsm.c6
-rw-r--r--plugins/mm-modem-longcheer-gsm.h4
-rw-r--r--plugins/mm-modem-mbm.c6
-rw-r--r--plugins/mm-modem-mbm.h4
-rw-r--r--plugins/mm-modem-moto-c-gsm.c6
-rw-r--r--plugins/mm-modem-moto-c-gsm.h4
-rw-r--r--plugins/mm-modem-nokia.c6
-rw-r--r--plugins/mm-modem-nokia.h4
-rw-r--r--plugins/mm-modem-novatel-cdma.c4
-rw-r--r--plugins/mm-modem-novatel-cdma.h4
-rw-r--r--plugins/mm-modem-novatel-gsm.c6
-rw-r--r--plugins/mm-modem-novatel-gsm.h4
-rw-r--r--plugins/mm-modem-option.c6
-rw-r--r--plugins/mm-modem-option.h4
-rw-r--r--plugins/mm-modem-sierra-cdma.c6
-rw-r--r--plugins/mm-modem-sierra-cdma.h4
-rw-r--r--plugins/mm-modem-sierra-gsm.c6
-rw-r--r--plugins/mm-modem-sierra-gsm.h4
-rw-r--r--plugins/mm-modem-simtech-gsm.c6
-rw-r--r--plugins/mm-modem-simtech-gsm.h4
-rw-r--r--plugins/mm-modem-x22x-gsm.c6
-rw-r--r--plugins/mm-modem-x22x-gsm.h4
-rw-r--r--plugins/mm-modem-zte.c6
-rw-r--r--plugins/mm-modem-zte.h4
-rw-r--r--plugins/mm-plugin-anydata.c10
-rw-r--r--plugins/mm-plugin-generic.c14
-rw-r--r--plugins/mm-plugin-gobi.c14
-rw-r--r--plugins/mm-plugin-hso.c10
-rw-r--r--plugins/mm-plugin-huawei.c14
-rw-r--r--plugins/mm-plugin-longcheer.c14
-rw-r--r--plugins/mm-plugin-mbm.c10
-rw-r--r--plugins/mm-plugin-moto-c.c10
-rw-r--r--plugins/mm-plugin-nokia.c14
-rw-r--r--plugins/mm-plugin-novatel.c14
-rw-r--r--plugins/mm-plugin-option.c10
-rw-r--r--plugins/mm-plugin-sierra.c14
-rw-r--r--plugins/mm-plugin-simtech.c14
-rw-r--r--plugins/mm-plugin-x22x.c10
-rw-r--r--plugins/mm-plugin-zte.c14
49 files changed, 293 insertions, 61 deletions
diff --git a/plugins/mm-modem-anydata-cdma.c b/plugins/mm-modem-anydata-cdma.c
index c7cca460..3bf15ed8 100644
--- a/plugins/mm-modem-anydata-cdma.c
+++ b/plugins/mm-modem-anydata-cdma.c
@@ -39,7 +39,9 @@ mm_modem_anydata_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA)
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -52,6 +54,8 @@ mm_modem_anydata_cdma_new (const char *device,
MM_GENERIC_CDMA_EVDO_REV0, evdo_rev0,
MM_GENERIC_CDMA_EVDO_REVA, evdo_revA,
MM_GENERIC_CDMA_REGISTRATION_TRY_CSS, FALSE,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-anydata-cdma.h b/plugins/mm-modem-anydata-cdma.h
index d2695d5f..5a9fc4b1 100644
--- a/plugins/mm-modem-anydata-cdma.h
+++ b/plugins/mm-modem-anydata-cdma.h
@@ -40,6 +40,8 @@ MMModem *mm_modem_anydata_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA);
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_ANYDATA_CDMA_H */
diff --git a/plugins/mm-modem-gobi-gsm.c b/plugins/mm-modem-gobi-gsm.c
index 3b9e9ece..7e2fa4ca 100644
--- a/plugins/mm-modem-gobi-gsm.c
+++ b/plugins/mm-modem-gobi-gsm.c
@@ -36,7 +36,9 @@ G_DEFINE_TYPE_EXTENDED (MMModemGobiGsm, mm_modem_gobi_gsm, MM_TYPE_GENERIC_GSM,
MMModem *
mm_modem_gobi_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -46,6 +48,8 @@ mm_modem_gobi_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-gobi-gsm.h b/plugins/mm-modem-gobi-gsm.h
index 4bd262fb..b1af1643 100644
--- a/plugins/mm-modem-gobi-gsm.h
+++ b/plugins/mm-modem-gobi-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_gobi_gsm_get_type (void);
MMModem *mm_modem_gobi_gsm_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_GOBI_GSM_H */
diff --git a/plugins/mm-modem-hso.c b/plugins/mm-modem-hso.c
index 1fd46333..81fe51a7 100644
--- a/plugins/mm-modem-hso.c
+++ b/plugins/mm-modem-hso.c
@@ -74,7 +74,9 @@ typedef struct {
MMModem *
mm_modem_hso_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -85,6 +87,8 @@ mm_modem_hso_new (const char *device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
MM_MODEM_IP_METHOD, MM_MODEM_IP_METHOD_STATIC,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-hso.h b/plugins/mm-modem-hso.h
index e2d7623a..7e79886c 100644
--- a/plugins/mm-modem-hso.h
+++ b/plugins/mm-modem-hso.h
@@ -38,7 +38,9 @@ GType mm_modem_hso_get_type (void);
MMModem *mm_modem_hso_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
void mm_hso_modem_authenticate (MMModemHso *self,
const char *username,
diff --git a/plugins/mm-modem-huawei-cdma.c b/plugins/mm-modem-huawei-cdma.c
index 523578f1..7faa9f08 100644
--- a/plugins/mm-modem-huawei-cdma.c
+++ b/plugins/mm-modem-huawei-cdma.c
@@ -39,7 +39,9 @@ mm_modem_huawei_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA)
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product)
{
gboolean try_css = TRUE;
@@ -61,6 +63,8 @@ mm_modem_huawei_cdma_new (const char *device,
MM_GENERIC_CDMA_EVDO_REV0, evdo_rev0,
MM_GENERIC_CDMA_EVDO_REVA, evdo_revA,
MM_GENERIC_CDMA_REGISTRATION_TRY_CSS, try_css,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-huawei-cdma.h b/plugins/mm-modem-huawei-cdma.h
index 738f2d9e..88b425ce 100644
--- a/plugins/mm-modem-huawei-cdma.h
+++ b/plugins/mm-modem-huawei-cdma.h
@@ -40,6 +40,8 @@ MMModem *mm_modem_huawei_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA);
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_HUAWEI_CDMA_H */
diff --git a/plugins/mm-modem-huawei-gsm.c b/plugins/mm-modem-huawei-gsm.c
index 5123e7f0..545d0831 100644
--- a/plugins/mm-modem-huawei-gsm.c
+++ b/plugins/mm-modem-huawei-gsm.c
@@ -50,7 +50,9 @@ typedef struct {
MMModem *
mm_modem_huawei_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -60,6 +62,8 @@ mm_modem_huawei_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-huawei-gsm.h b/plugins/mm-modem-huawei-gsm.h
index 9c2ec34b..05f1f291 100644
--- a/plugins/mm-modem-huawei-gsm.h
+++ b/plugins/mm-modem-huawei-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_huawei_gsm_get_type (void);
MMModem *mm_modem_huawei_gsm_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_HUAWEI_GSM_H */
diff --git a/plugins/mm-modem-longcheer-gsm.c b/plugins/mm-modem-longcheer-gsm.c
index 62980f76..33763e27 100644
--- a/plugins/mm-modem-longcheer-gsm.c
+++ b/plugins/mm-modem-longcheer-gsm.c
@@ -30,7 +30,9 @@ G_DEFINE_TYPE (MMModemLongcheerGsm, mm_modem_longcheer_gsm, MM_TYPE_GENERIC_GSM)
MMModem *
mm_modem_longcheer_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -40,6 +42,8 @@ mm_modem_longcheer_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-longcheer-gsm.h b/plugins/mm-modem-longcheer-gsm.h
index 5383c52d..e9abfbe4 100644
--- a/plugins/mm-modem-longcheer-gsm.h
+++ b/plugins/mm-modem-longcheer-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_longcheer_gsm_get_type (void);
MMModem *mm_modem_longcheer_gsm_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_LONGCHEER_H */
diff --git a/plugins/mm-modem-mbm.c b/plugins/mm-modem-mbm.c
index 7f6bc9c8..9002ddcf 100644
--- a/plugins/mm-modem-mbm.c
+++ b/plugins/mm-modem-mbm.c
@@ -82,7 +82,9 @@ mbm_modem_authenticate (MMModemMbm *self,
MMModem *
mm_modem_mbm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -93,6 +95,8 @@ mm_modem_mbm_new (const char *device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
MM_MODEM_IP_METHOD, MM_MODEM_IP_METHOD_DHCP,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-mbm.h b/plugins/mm-modem-mbm.h
index db0f6272..bb1c2ff5 100644
--- a/plugins/mm-modem-mbm.h
+++ b/plugins/mm-modem-mbm.h
@@ -43,6 +43,8 @@ GType mm_modem_mbm_get_type (void);
MMModem *mm_modem_mbm_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_MBM_H */
diff --git a/plugins/mm-modem-moto-c-gsm.c b/plugins/mm-modem-moto-c-gsm.c
index 5910ff29..cd7b4ed0 100644
--- a/plugins/mm-modem-moto-c-gsm.c
+++ b/plugins/mm-modem-moto-c-gsm.c
@@ -35,7 +35,9 @@ G_DEFINE_TYPE_EXTENDED (MMModemMotoCGsm, mm_modem_moto_c_gsm, MM_TYPE_GENERIC_GS
MMModem *
mm_modem_moto_c_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -45,6 +47,8 @@ mm_modem_moto_c_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-moto-c-gsm.h b/plugins/mm-modem-moto-c-gsm.h
index eb1dad12..a8ddd6df 100644
--- a/plugins/mm-modem-moto-c-gsm.h
+++ b/plugins/mm-modem-moto-c-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_moto_c_gsm_get_type (void);
MMModem *mm_modem_moto_c_gsm_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_MOTO_C_GSM_H */
diff --git a/plugins/mm-modem-nokia.c b/plugins/mm-modem-nokia.c
index 3cbea00b..56b8c919 100644
--- a/plugins/mm-modem-nokia.c
+++ b/plugins/mm-modem-nokia.c
@@ -30,7 +30,9 @@ G_DEFINE_TYPE_EXTENDED (MMModemNokia, mm_modem_nokia, MM_TYPE_GENERIC_GSM, 0,
MMModem *
mm_modem_nokia_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -40,6 +42,8 @@ mm_modem_nokia_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-nokia.h b/plugins/mm-modem-nokia.h
index 0e24619f..0873d2de 100644
--- a/plugins/mm-modem-nokia.h
+++ b/plugins/mm-modem-nokia.h
@@ -38,6 +38,8 @@ GType mm_modem_nokia_get_type (void);
MMModem *mm_modem_nokia_new (const char *data,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_NOKIA_H */
diff --git a/plugins/mm-modem-novatel-cdma.c b/plugins/mm-modem-novatel-cdma.c
index b7da80ac..6b8c4aa9 100644
--- a/plugins/mm-modem-novatel-cdma.c
+++ b/plugins/mm-modem-novatel-cdma.c
@@ -37,7 +37,9 @@ mm_modem_novatel_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA)
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
diff --git a/plugins/mm-modem-novatel-cdma.h b/plugins/mm-modem-novatel-cdma.h
index 4d38d8ed..c2319efb 100644
--- a/plugins/mm-modem-novatel-cdma.h
+++ b/plugins/mm-modem-novatel-cdma.h
@@ -40,6 +40,8 @@ MMModem *mm_modem_novatel_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA);
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_NOVATEL_CDMA_H */
diff --git a/plugins/mm-modem-novatel-gsm.c b/plugins/mm-modem-novatel-gsm.c
index 584156fc..64a81bd5 100644
--- a/plugins/mm-modem-novatel-gsm.c
+++ b/plugins/mm-modem-novatel-gsm.c
@@ -33,7 +33,9 @@ G_DEFINE_TYPE_EXTENDED (MMModemNovatelGsm, mm_modem_novatel_gsm, MM_TYPE_GENERIC
MMModem *
mm_modem_novatel_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -43,6 +45,8 @@ mm_modem_novatel_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-novatel-gsm.h b/plugins/mm-modem-novatel-gsm.h
index c2e11387..12b0060d 100644
--- a/plugins/mm-modem-novatel-gsm.h
+++ b/plugins/mm-modem-novatel-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_novatel_gsm_get_type (void);
MMModem *mm_modem_novatel_gsm_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_NOVATEL_GSM_H */
diff --git a/plugins/mm-modem-option.c b/plugins/mm-modem-option.c
index ac04b0bd..b15e7045 100644
--- a/plugins/mm-modem-option.c
+++ b/plugins/mm-modem-option.c
@@ -36,7 +36,9 @@ typedef struct {
MMModem *
mm_modem_option_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -46,6 +48,8 @@ mm_modem_option_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-option.h b/plugins/mm-modem-option.h
index 4e88607e..3af9b1e9 100644
--- a/plugins/mm-modem-option.h
+++ b/plugins/mm-modem-option.h
@@ -38,6 +38,8 @@ GType mm_modem_option_get_type (void);
MMModem *mm_modem_option_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_OPTION_H */
diff --git a/plugins/mm-modem-sierra-cdma.c b/plugins/mm-modem-sierra-cdma.c
index fc62bf6b..1168c834 100644
--- a/plugins/mm-modem-sierra-cdma.c
+++ b/plugins/mm-modem-sierra-cdma.c
@@ -51,7 +51,9 @@ mm_modem_sierra_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA)
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -63,6 +65,8 @@ mm_modem_sierra_cdma_new (const char *device,
MM_MODEM_PLUGIN, plugin,
MM_GENERIC_CDMA_EVDO_REV0, evdo_rev0,
MM_GENERIC_CDMA_EVDO_REVA, evdo_revA,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-sierra-cdma.h b/plugins/mm-modem-sierra-cdma.h
index 9111b739..a33b1bc1 100644
--- a/plugins/mm-modem-sierra-cdma.h
+++ b/plugins/mm-modem-sierra-cdma.h
@@ -40,6 +40,8 @@ MMModem *mm_modem_sierra_cdma_new (const char *device,
const char *driver,
const char *plugin,
gboolean evdo_rev0,
- gboolean evdo_revA);
+ gboolean evdo_revA,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_SIERRA_CDMA_H */
diff --git a/plugins/mm-modem-sierra-gsm.c b/plugins/mm-modem-sierra-gsm.c
index bf5df313..c86c1c5e 100644
--- a/plugins/mm-modem-sierra-gsm.c
+++ b/plugins/mm-modem-sierra-gsm.c
@@ -38,7 +38,9 @@ typedef struct {
MMModem *
mm_modem_sierra_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -48,6 +50,8 @@ mm_modem_sierra_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-sierra-gsm.h b/plugins/mm-modem-sierra-gsm.h
index dd84b307..8f2391d9 100644
--- a/plugins/mm-modem-sierra-gsm.h
+++ b/plugins/mm-modem-sierra-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_sierra_gsm_get_type (void);
MMModem *mm_modem_sierra_gsm_new (const char *device,
const char *driver,
- const char *plugin_name);
+ const char *plugin_name,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_SIERRA_GSM_H */
diff --git a/plugins/mm-modem-simtech-gsm.c b/plugins/mm-modem-simtech-gsm.c
index 07820b3c..4a626947 100644
--- a/plugins/mm-modem-simtech-gsm.c
+++ b/plugins/mm-modem-simtech-gsm.c
@@ -34,7 +34,9 @@ G_DEFINE_TYPE_EXTENDED (MMModemSimtechGsm, mm_modem_simtech_gsm, MM_TYPE_GENERIC
MMModem *
mm_modem_simtech_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -44,6 +46,8 @@ mm_modem_simtech_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-simtech-gsm.h b/plugins/mm-modem-simtech-gsm.h
index 0ba3c431..85e421c3 100644
--- a/plugins/mm-modem-simtech-gsm.h
+++ b/plugins/mm-modem-simtech-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_simtech_gsm_get_type (void);
MMModem *mm_modem_simtech_gsm_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_SIMTECH_H */
diff --git a/plugins/mm-modem-x22x-gsm.c b/plugins/mm-modem-x22x-gsm.c
index 8356b49d..ff232971 100644
--- a/plugins/mm-modem-x22x-gsm.c
+++ b/plugins/mm-modem-x22x-gsm.c
@@ -31,7 +31,9 @@ G_DEFINE_TYPE (MMModemX22xGsm, mm_modem_x22x_gsm, MM_TYPE_GENERIC_GSM)
MMModem *
mm_modem_x22x_gsm_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -41,6 +43,8 @@ mm_modem_x22x_gsm_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-x22x-gsm.h b/plugins/mm-modem-x22x-gsm.h
index 8922afbf..61cc14d6 100644
--- a/plugins/mm-modem-x22x-gsm.h
+++ b/plugins/mm-modem-x22x-gsm.h
@@ -38,6 +38,8 @@ GType mm_modem_x22x_gsm_get_type (void);
MMModem *mm_modem_x22x_gsm_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_X22X_H */
diff --git a/plugins/mm-modem-zte.c b/plugins/mm-modem-zte.c
index ba8a1db6..558260ec 100644
--- a/plugins/mm-modem-zte.c
+++ b/plugins/mm-modem-zte.c
@@ -41,7 +41,9 @@ typedef struct {
MMModem *
mm_modem_zte_new (const char *device,
const char *driver,
- const char *plugin)
+ const char *plugin,
+ guint32 vendor,
+ guint32 product)
{
g_return_val_if_fail (device != NULL, NULL);
g_return_val_if_fail (driver != NULL, NULL);
@@ -51,6 +53,8 @@ mm_modem_zte_new (const char *device,
MM_MODEM_MASTER_DEVICE, device,
MM_MODEM_DRIVER, driver,
MM_MODEM_PLUGIN, plugin,
+ MM_MODEM_HW_VID, vendor,
+ MM_MODEM_HW_PID, product,
NULL));
}
diff --git a/plugins/mm-modem-zte.h b/plugins/mm-modem-zte.h
index 112bae00..f2f068b8 100644
--- a/plugins/mm-modem-zte.h
+++ b/plugins/mm-modem-zte.h
@@ -38,6 +38,8 @@ GType mm_modem_zte_get_type (void);
MMModem *mm_modem_zte_new (const char *device,
const char *driver,
- const char *plugin);
+ const char *plugin,
+ guint32 vendor,
+ guint32 product);
#endif /* MM_MODEM_ZTE_H */
diff --git a/plugins/mm-plugin-anydata.c b/plugins/mm-plugin-anydata.c
index 94f4f105..76df6734 100644
--- a/plugins/mm-plugin-anydata.c
+++ b/plugins/mm-plugin-anydata.c
@@ -110,6 +110,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -129,6 +130,11 @@ grab_port (MMPluginBase *base,
return NULL;
}
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & CAP_CDMA) {
@@ -136,7 +142,9 @@ grab_port (MMPluginBase *base,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-generic.c b/plugins/mm-plugin-generic.c
index d6847fd7..9704ae84 100644
--- a/plugins/mm-plugin-generic.c
+++ b/plugins/mm-plugin-generic.c
@@ -112,6 +112,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path, *driver;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -133,6 +134,11 @@ grab_port (MMPluginBase *base,
}
}
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
@@ -141,11 +147,15 @@ grab_port (MMPluginBase *base,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
} else if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_generic_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-gobi.c b/plugins/mm-plugin-gobi.c
index fbe38783..36771d12 100644
--- a/plugins/mm-plugin-gobi.c
+++ b/plugins/mm-plugin-gobi.c
@@ -106,6 +106,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *sysfs_path;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -113,19 +114,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_gobi_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_generic_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-hso.c b/plugins/mm-plugin-hso.c
index dc0a8fcb..7b719322 100644
--- a/plugins/mm-plugin-hso.c
+++ b/plugins/mm-plugin-hso.c
@@ -105,6 +105,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *sysfs_path;
char *devfile;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -112,6 +113,11 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
devfile = g_strdup (g_udev_device_get_device_file (port));
if (!devfile) {
if (!strcmp (subsys, "net")) {
@@ -139,7 +145,9 @@ grab_port (MMPluginBase *base,
if (!existing) {
modem = mm_modem_hso_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
if (modem) {
if (!mm_modem_grab_port (modem, subsys, name, MM_PORT_TYPE_UNKNOWN, NULL, error)) {
g_object_unref (modem);
diff --git a/plugins/mm-plugin-huawei.c b/plugins/mm-plugin-huawei.c
index eb141bfd..090bb0d5 100644
--- a/plugins/mm-plugin-huawei.c
+++ b/plugins/mm-plugin-huawei.c
@@ -268,7 +268,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path;
guint32 caps;
- guint16 product = 0;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -282,7 +282,7 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
- if (!mm_plugin_base_get_device_ids (base, subsys, name, NULL, &product)) {
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
g_set_error (error, 0, 0, "Could not get modem product ID.");
return NULL;
}
@@ -292,14 +292,18 @@ grab_port (MMPluginBase *base,
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_huawei_gsm_new (sysfs_path,
- mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_base_supports_task_get_driver (task),
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_modem_huawei_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-longcheer.c b/plugins/mm-plugin-longcheer.c
index dbbe186f..e63ff4e9 100644
--- a/plugins/mm-plugin-longcheer.c
+++ b/plugins/mm-plugin-longcheer.c
@@ -114,6 +114,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *sysfs_path;
guint32 caps;
MMPortType ptype = MM_PORT_TYPE_UNKNOWN;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -138,19 +139,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_longcheer_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_generic_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-mbm.c b/plugins/mm-plugin-mbm.c
index 5554d84f..dd64cc66 100644
--- a/plugins/mm-plugin-mbm.c
+++ b/plugins/mm-plugin-mbm.c
@@ -132,6 +132,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *sysfs_path;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -143,11 +144,18 @@ grab_port (MMPluginBase *base,
if (!(caps & MM_PLUGIN_BASE_PORT_CAP_GSM) && strcmp (subsys, "net"))
return NULL;
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
modem = mm_modem_mbm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
if (modem) {
if (!mm_modem_grab_port (modem, subsys, name, MM_PORT_TYPE_UNKNOWN, NULL, error)) {
g_object_unref (modem);
diff --git a/plugins/mm-plugin-moto-c.c b/plugins/mm-plugin-moto-c.c
index d798af4c..21b737e2 100644
--- a/plugins/mm-plugin-moto-c.c
+++ b/plugins/mm-plugin-moto-c.c
@@ -105,6 +105,7 @@ grab_port (MMPluginBase *base,
GUdevDevice *port = NULL;
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -118,11 +119,18 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
modem = mm_modem_moto_c_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
if (modem) {
if (!mm_modem_grab_port (modem, subsys, name, MM_PORT_TYPE_UNKNOWN, NULL, error)) {
diff --git a/plugins/mm-plugin-nokia.c b/plugins/mm-plugin-nokia.c
index 2d0d6aff..938f8c57 100644
--- a/plugins/mm-plugin-nokia.c
+++ b/plugins/mm-plugin-nokia.c
@@ -109,6 +109,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -122,19 +123,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_nokia_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_generic_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-novatel.c b/plugins/mm-plugin-novatel.c
index a968836a..53844566 100644
--- a/plugins/mm-plugin-novatel.c
+++ b/plugins/mm-plugin-novatel.c
@@ -115,6 +115,7 @@ grab_port (MMPluginBase *base,
MMModem *modem = NULL;
const char *name, *subsys, *devfile, *sysfs_path;
guint32 caps;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -128,19 +129,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_novatel_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_modem_novatel_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-option.c b/plugins/mm-plugin-option.c
index 101f9bd4..ab2bd3d5 100644
--- a/plugins/mm-plugin-option.c
+++ b/plugins/mm-plugin-option.c
@@ -107,6 +107,7 @@ grab_port (MMPluginBase *base,
guint32 caps;
int usbif;
MMPortType ptype = MM_PORT_TYPE_SECONDARY;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -129,13 +130,20 @@ grab_port (MMPluginBase *base,
if (usbif == 0)
ptype = MM_PORT_TYPE_PRIMARY;
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_option_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-sierra.c b/plugins/mm-plugin-sierra.c
index 8ace6532..51ab9025 100644
--- a/plugins/mm-plugin-sierra.c
+++ b/plugins/mm-plugin-sierra.c
@@ -128,6 +128,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *devfile, *sysfs_path;
guint32 caps;
MMPortType ptype = MM_PORT_TYPE_UNKNOWN;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -145,19 +146,28 @@ grab_port (MMPluginBase *base,
if (g_object_get_data (G_OBJECT (task), TAG_SIERRA_SECONDARY_PORT))
ptype = MM_PORT_TYPE_SECONDARY;
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if ((caps & MM_PLUGIN_BASE_PORT_CAP_GSM) || (ptype != MM_PORT_TYPE_UNKNOWN)) {
modem = mm_modem_sierra_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_modem_sierra_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-simtech.c b/plugins/mm-plugin-simtech.c
index 3c448738..611d2d20 100644
--- a/plugins/mm-plugin-simtech.c
+++ b/plugins/mm-plugin-simtech.c
@@ -114,6 +114,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *sysfs_path;
guint32 caps;
MMPortType ptype = MM_PORT_TYPE_UNKNOWN;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -138,19 +139,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_simtech_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_generic_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-x22x.c b/plugins/mm-plugin-x22x.c
index ecad48ed..5a8253fe 100644
--- a/plugins/mm-plugin-x22x.c
+++ b/plugins/mm-plugin-x22x.c
@@ -115,6 +115,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *sysfs_path;
guint32 caps;
MMPortType ptype = MM_PORT_TYPE_UNKNOWN;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -139,13 +140,20 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_x22x_gsm_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
}
if (modem) {
diff --git a/plugins/mm-plugin-zte.c b/plugins/mm-plugin-zte.c
index e943bbfe..97bbcc36 100644
--- a/plugins/mm-plugin-zte.c
+++ b/plugins/mm-plugin-zte.c
@@ -121,6 +121,7 @@ grab_port (MMPluginBase *base,
const char *name, *subsys, *sysfs_path;
guint32 caps;
MMPortType ptype = MM_PORT_TYPE_UNKNOWN;
+ guint16 vendor = 0, product = 0;
port = mm_plugin_base_supports_task_get_port (task);
g_assert (port);
@@ -134,19 +135,28 @@ grab_port (MMPluginBase *base,
subsys = g_udev_device_get_subsystem (port);
name = g_udev_device_get_name (port);
+ if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) {
+ g_set_error (error, 0, 0, "Could not get modem product ID.");
+ return NULL;
+ }
+
caps = mm_plugin_base_supports_task_get_probed_capabilities (task);
sysfs_path = mm_plugin_base_supports_task_get_physdev_path (task);
if (!existing) {
if (caps & MM_PLUGIN_BASE_PORT_CAP_GSM) {
modem = mm_modem_zte_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
- mm_plugin_get_name (MM_PLUGIN (base)));
+ mm_plugin_get_name (MM_PLUGIN (base)),
+ vendor,
+ product);
} else if (caps & CAP_CDMA) {
modem = mm_generic_cdma_new (sysfs_path,
mm_plugin_base_supports_task_get_driver (task),
mm_plugin_get_name (MM_PLUGIN (base)),
!!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856),
- !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A));
+ !!(caps & MM_PLUGIN_BASE_PORT_CAP_IS856_A),
+ vendor,
+ product);
}
if (modem) {