---
plugins/ofono.rules | 11 +++++++++++
plugins/udevng.c | 32 ++++++++++++--------------------
2 files changed, 23 insertions(+), 20 deletions(-)
diff --git a/plugins/ofono.rules b/plugins/ofono.rules
index f783aab..34ff9ce 100644
--- a/plugins/ofono.rules
+++ b/plugins/ofono.rules
@@ -51,6 +51,17 @@
DRIVER=="qmi_wwan",ENV{OFONO_DRIVER}="gobi",ENV{OFONO_LABEL}="qmi"
# in order to keep the below rules as minimal as possible. The below
# should be considered only as a fallback.
+DRIVER=="qcserial",ATTRS{idVendor}="1199",ENV{OFONO_DRIVER}="sierra"
+DRIVER=="sierra",ENV{OFONO_DRIVER}="sierra"
+DRIVER=="sierra_net",ENV{OFONO_DRIVER}="sierra
+ENV{OFONO_DRIVER}!="sierra",GOTO="sierra_end"
+ENV{INTERFACE}!="255/255/255",GOTO="sierra_end"
+ATTR{bInterfaceNumber}=="01",ENV{OFONO_LABEL}="diag"
+ATTR{bInterfaceNumber}=="03",ENV{OFONO_LABEL}="modem"
+ATTR{bInterfaceNumber}=="04",ENV{OFONO_LABEL}="app"
+ATTR{bInterfaceNumber}=="07",ENV{OFONO_LABEL}="net"
+LABEL="sierra_end"
+
DRIVER=="qcserial",ENV{OFONO_DRIVER}="gobi"
ENV{OFONO_DRIVER}!="gobi",GOTO="gobi_end"
ENV{INTERFACE}!="255/255/255",GOTO="gobi_end"
diff --git a/plugins/udevng.c b/plugins/udevng.c
index b5c5c86..c4eb9fd 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -246,23 +246,19 @@ static gboolean setup_sierra(struct modem_info *modem)
DBG("%s %s %s %s %s", info->devnode, info->interface,
info->number, info->label, info->subsystem);
- if (g_strcmp0(info->interface, "255/255/255") == 0) {
- if (g_strcmp0(info->number, "01") == 0)
- diag = info->devnode;
- if (g_strcmp0(info->number, "03") == 0)
- mdm = info->devnode;
- else if (g_strcmp0(info->number, "04") == 0)
- app = info->devnode;
- else if (g_strcmp0(info->number, "07") == 0)
+ if (g_strcmp0(info->label, "qmi") == 0) {
+ if (g_strcmp0(info->subsystem, "net") == 0)
net = info->devnode;
- else if (g_strcmp0(info->number, "0a") == 0) {
- if (g_strcmp0(info->subsystem, "net") == 0)
- net = info->devnode;
- else if (g_strcmp0(info->subsystem,
- "usbmisc") == 0)
- qmi = info->devnode;
- }
- }
+ else if (g_strcmp0(info->subsystem, "usbmisc") == 0)
+ qmi = info->devnode;
+ } else if (g_strcmp0(info->label, "net") == 0)
+ net = info->devnode;
+ else if (g_strcmp0(info->label, "modem") == 0)
+ mdm = info->devnode;
+ else if (g_strcmp0(info->label, "diag") == 0)
+ diag = info->devnode;
+ else if (g_strcmp0(info->label, "app") == 0)
+ app = info->devnode;
}
if (qmi != NULL && net != NULL) {
@@ -1326,10 +1322,6 @@ static struct {
{ "mbm", "cdc_acm", "0930" },
{ "mbm", "cdc_ether", "0930" },
{ "mbm", "cdc_ncm", "0930" },
- { "sierra", "qmi_wwan", "1199" },
- { "sierra", "qcserial", "1199" },
- { "sierra", "sierra" },
- { "sierra", "sierra_net" },
{ "telit", "usbserial", "1bc7" },
{ "telit", "option", "1bc7" },
{ "telit", "cdc_acm", "1bc7", "0021" },
--
2.9.3
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono