---
plugins/ofono.hwdb | 46 ++++++++++++++++++++++++++++++++++++++++++++++
plugins/udevng.c | 36 +++++++-----------------------------
2 files changed, 53 insertions(+), 29 deletions(-)
diff --git a/plugins/ofono.hwdb b/plugins/ofono.hwdb
index 02db1cd..d3a19aa 100644
--- a/plugins/ofono.hwdb
+++ b/plugins/ofono.hwdb
@@ -213,3 +213,49 @@ usb:v230D*ic02isc02ip01in01
usb:v230D*ic02isc02ip01in03
OFONO_LABEL=modem
+# Telit
+usb:v1BC7*icFFiscFFipFF*
+usb:v1BC7p0021*icFFiscFFipFF*
+usb:v1BC7p0036*icFFiscFFipFF*
+ OFONO_DRIVER=telit
+
+usb:v1BC7*icFFiscFFipFFin00
+usb:v1BC7p0021*icFFiscFFipFFin00
+usb:v1BC7p0036*icFFiscFFipFFin00
+ OFONO_LABEL=modem
+
+usb:v1BC7*icFFiscFFipFFin02
+usb:v1BC7p0021*icFFiscFFipFFin02
+usb:v1BC7p0036*icFFiscFFipFFin02
+ OFONO_LABEL=gps
+
+usb:v1BC7*icFFiscFFipFFin03
+usb:v1BC7p0021*icFFiscFFipFFin03
+usb:v1BC7p0036*icFFiscFFipFFin03
+ OFONO_LABEL=aux
+
+usb:v1BC7*ic02isc02ip01in00
+usb:v1BC7p0021*ic02isc02ip01in00
+usb:v1BC7p0036*ic02isc02ip01in00
+ OFONO_LABEL=modem
+
+usb:v1BC7*ic02isc02ip01in06
+usb:v1BC7p0021*ic02isc02ip01in06
+usb:v1BC7p0036*ic02isc02ip01in06
+ OFONO_LABEL=aux
+
+usb:v1BC7*ic02isc02ip01in0a
+usb:v1BC7p0021*ic02isc02ip01in0a
+usb:v1BC7p0036*ic02isc02ip01in0a
+ OFONO_LABEL=gps
+
+
+# The Telit catch-all vendor rule above prevents us from using the generic
+# qmi udev rule for QMI devices. Replace the above catch-all rule and
+# the following can be dropped
+usb:v1BC7p1201*icFFiscFFipFF*
+ OFONO_DRIVER=telitqmi
+
+usb:v1BC7p1201*icFFiscFFipFFin02
+ OFONO_LABEL=qmi
+
diff --git a/plugins/udevng.c b/plugins/udevng.c
index d02cc6e..45b64bd 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -573,32 +573,15 @@ static gboolean setup_telit(struct modem_info *modem)
DBG("%s %s %s %s", info->devnode, info->interface,
info->number, info->label);
- if (g_strcmp0(info->label, "aux") == 0) {
+ if (g_strcmp0(info->label, "aux") == 0)
aux = info->devnode;
- if (mdm != NULL)
- break;
- } else if (g_strcmp0(info->label, "modem") == 0) {
+ else if (g_strcmp0(info->label, "modem") == 0)
mdm = info->devnode;
- if (aux != NULL)
- break;
- } 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, "02") == 0)
- gps = info->devnode;
- else if (g_strcmp0(info->number, "03") == 0)
- aux = info->devnode;
- } else if (g_strcmp0(info->interface, "2/2/1") == 0) {
- if (g_strcmp0(info->number, "00") == 0)
- mdm = info->devnode;
- else if (g_strcmp0(info->number, "06") == 0)
- aux = info->devnode;
- else if (g_strcmp0(info->number, "0a") == 0)
- gps = info->devnode;
- } else if (info->sysattr && (g_str_has_suffix(info->sysattr,
- "CDC NCM") == TRUE)) {
- net = info->devnode;
- }
+ else if (g_strcmp0(info->label, "gps") == 0)
+ gps = info->devnode;
+ else if (info->sysattr)
+ if (g_str_has_suffix(info->sysattr, "CDC NCM"))
+ net = info->devnode;
}
if (aux == NULL || mdm == NULL)
@@ -1321,12 +1304,7 @@ static struct {
{ "mbm", "cdc_acm", "0930" },
{ "mbm", "cdc_ether", "0930" },
{ "mbm", "cdc_ncm", "0930" },
- { "telit", "usbserial", "1bc7" },
- { "telit", "option", "1bc7" },
- { "telit", "cdc_acm", "1bc7", "0021" },
{ "quectel", "option", "05c6", "9090" },
- { "telit", "cdc_ncm", "1bc7", "0036" },
- { "telit", "cdc_acm", "1bc7", "0036" },
{ }
};
--
2.9.3
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono