---
plugins/ofono.hwdb | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
plugins/udevng.c | 41 +++++------------------------------------
2 files changed, 56 insertions(+), 36 deletions(-)
diff --git a/plugins/ofono.hwdb b/plugins/ofono.hwdb
index 1097b8c..66cc0a1 100644
--- a/plugins/ofono.hwdb
+++ b/plugins/ofono.hwdb
@@ -1,3 +1,54 @@
+# Huawei
+usb:v201E*
+usb:v12D1*
+ OFONO_DRIVER=huawei
+
+usb:v201E*icFFisc01ip01*
+usb:v201E*icFFisc02ip01*
+usb:v201E*icFFisc03ip01*
+usb:v201E*icFFisc01ip31*
+usb:v201E*icFFiscFFipFFin00
+usb:v12D1*icFFisc01ip01*
+usb:v12D1*icFFisc02ip01*
+usb:v12D1*icFFisc03ip01*
+usb:v12D1*icFFisc01ip31*
+usb:v12D1*icFFiscFFipFFin00
+ OFONO_LABEL=modem
+
+usb:v201E*icFFisc01ip02*
+usb:v201E*icFFisc02ip02*
+usb:v201E*icFFisc02ip12*
+usb:v201E*icFFisc03ip12*
+usb:v201E*icFFisc01ip32*
+usb:v201E*icFFiscFFipFFin0[1234]
+usb:v12D1*icFFisc01ip02*
+usb:v12D1*icFFisc02ip02*
+usb:v12D1*icFFisc02ip12*
+usb:v12D1*icFFisc03ip12*
+usb:v12D1*icFFisc01ip32*
+usb:v12D1*icFFiscFFipFFin0[1234]
+ OFONO_LABEL=pcui
+
+usb:v201E*icFFisc01ip03*
+usb:v201E*icFFisc02ip03*
+usb:v201E*icFFisc01ip33*
+usb:v12D1*icFFisc01ip03*
+usb:v12D1*icFFisc02ip03*
+usb:v12D1*icFFisc01ip33*
+ OFONO_LABEL=diag
+
+usb:v201E*icFFisc01ip08*
+usb:v201E*icFFisc01ip38*
+usb:v12D1*icFFisc01ip08*
+usb:v12D1*icFFisc01ip38*
+ OFONO_LABEL=net
+
+usb:v201E*icFFisc01ip09*
+usb:v201E*icFFisc01ip39*
+usb:v12D1*icFFisc01ip09*
+usb:v12D1*icFFisc01ip39*
+ OFONO_LABEL=qmi
+
# Novatel
usb:v1410*icFFiscFFipFF*
OFONO_DRIVER=novatel
diff --git a/plugins/udevng.c b/plugins/udevng.c
index ff14869..d8f077a 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -336,42 +336,16 @@ static gboolean setup_huawei(struct modem_info *modem)
DBG("%s %s %s %s", info->devnode, info->interface,
info->number, info->label);
- if (g_strcmp0(info->label, "modem") == 0 ||
- g_strcmp0(info->interface, "255/1/1") == 0 ||
- g_strcmp0(info->interface, "255/2/1") == 0 ||
- g_strcmp0(info->interface, "255/3/1") == 0 ||
- g_strcmp0(info->interface, "255/1/49") == 0) {
+ if (g_strcmp0(info->label, "modem") == 0)
mdm = info->devnode;
- } else if (g_strcmp0(info->label, "pcui") == 0 ||
- g_strcmp0(info->interface, "255/1/2") == 0 ||
- g_strcmp0(info->interface, "255/2/2") == 0 ||
- g_strcmp0(info->interface, "255/2/18") == 0 ||
- g_strcmp0(info->interface, "255/3/18") == 0 ||
- g_strcmp0(info->interface, "255/1/50") == 0) {
+ else if (g_strcmp0(info->label, "pcui") == 0)
pcui = info->devnode;
- } else if (g_strcmp0(info->label, "diag") == 0 ||
- g_strcmp0(info->interface, "255/1/3") == 0 ||
- g_strcmp0(info->interface, "255/2/3") == 0 ||
- g_strcmp0(info->interface, "255/1/51") == 0) {
+ else if (g_strcmp0(info->label, "diag") == 0)
diag = info->devnode;
- } else if (g_strcmp0(info->interface, "255/1/8") == 0 ||
- g_strcmp0(info->interface, "255/1/56") == 0) {
+ else if (g_strcmp0(info->label, "net") == 0)
net = info->devnode;
- } else if (g_strcmp0(info->interface, "255/1/9") == 0 ||
- g_strcmp0(info->interface, "255/1/57") == 0) {
+ else if (g_strcmp0(info->label, "qmi") == 0)
qmi = info->devnode;
- } else if (g_strcmp0(info->interface, "255/255/255") == 0) {
- if (g_strcmp0(info->number, "00") == 0)
- mdm = info->devnode;
- else if (g_strcmp0(info->number, "01") == 0)
- pcui = info->devnode;
- else if (g_strcmp0(info->number, "02") == 0)
- pcui = info->devnode;
- else if (g_strcmp0(info->number, "03") == 0)
- pcui = info->devnode;
- else if (g_strcmp0(info->number, "04") == 0)
- pcui = info->devnode;
- }
}
if (qmi != NULL && net != NULL) {
@@ -1410,11 +1384,6 @@ static struct {
{ "sierra", "sierra" },
{ "sierra", "sierra_net" },
{ "option", "option", "0af0" },
- { "huawei", "option", "201e" },
- { "huawei", "cdc_wdm", "12d1" },
- { "huawei", "cdc_ether", "12d1" },
- { "huawei", "qmi_wwan", "12d1" },
- { "huawei", "option", "12d1" },
{ "speedupcdma","option", "1c9e", "9e00" },
{ "speedup", "option", "1c9e" },
{ "speedup", "option", "2020" },
--
2.9.3
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono