aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-09-16 12:19:47 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-11-23 14:20:39 +0100
commit291300cfcb2e3f101c0f08de65fc03e0ceb2718f (patch)
tree7cea1cb3606991fb01f33fbc52c12643207792cb
parent7119b8ebb252ca3775a1be16f446e99b735f5b98 (diff)
sierra: enable QMI connection status polling in Netgear AC341U
The Netgear AC341U seems to delay reporting packet service status indications or actually not even send them. This leaves us with modems in connected state in ModemManager but actually disconnected. We can detect this situation by actively polling ourselves the connection status. See e.g. this case where the indication is received 2.5 mins after the first OutOfCall error detected when loading statistics. Aug 30 22:52:50 ModemManager[574]: <info> Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> connected) Aug 30 22:52:50 ModemManager[574]: <info> Simple connect state (8/8): All done Aug 30 22:52:50 ModemManager[574]: <warn> Reloading stats failed: Couldn't get packet statistics: QMI protocol error (15): 'OutOfCall' Aug 30 22:53:20 ModemManager[574]: <warn> Reloading stats failed: Couldn't get packet statistics: QMI protocol error (15): 'OutOfCall' Aug 30 22:53:50 ModemManager[574]: <warn> Reloading stats failed: Couldn't get packet statistics: QMI protocol error (15): 'OutOfCall' Aug 30 22:54:20 ModemManager[574]: <warn> Reloading stats failed: Couldn't get packet statistics: QMI protocol error (15): 'OutOfCall' Aug 30 22:56:21 ModemManager[574]: <info> bearer call end reason (2): 'generic-client-end' Aug 30 22:56:21 ModemManager[574]: <info> bearer verbose call end reason (3,2000): [cm] client-end Aug 30 22:56:21 ModemManager[574]: <info> Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> registered)
-rw-r--r--plugins/Makefile.am2
-rw-r--r--plugins/sierra/77-mm-sierra.rules12
2 files changed, 14 insertions, 0 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index c1b0917b..a6a6aac0 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -350,6 +350,8 @@ libmm_plugin_option_hso_la_LIBADD = $(OPTION_COMMON_LIBADD_FLAGS)
# plugin: sierra (new QMI or MBIM modems)
################################################################################
+dist_udevrules_DATA += sierra/77-mm-sierra.rules
+
pkglib_LTLIBRARIES += libmm-plugin-sierra.la
libmm_plugin_sierra_la_SOURCES = \
sierra/mm-plugin-sierra.c \
diff --git a/plugins/sierra/77-mm-sierra.rules b/plugins/sierra/77-mm-sierra.rules
new file mode 100644
index 00000000..cea83bdb
--- /dev/null
+++ b/plugins/sierra/77-mm-sierra.rules
@@ -0,0 +1,12 @@
+
+# do not edit this file, it will be overwritten on update
+ACTION!="add|change|move", GOTO="mm_sierra_end"
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="1199", GOTO="mm_sierra"
+GOTO="mm_sierra_end"
+
+LABEL="mm_sierra"
+
+# Netgear AC341U: enable connection status polling explicitly
+ATTRS{idVendor}=="1199", ATTRS{idProduct}=="9057", ENV{ID_MM_QMI_CONNECTION_STATUS_POLLING_ENABLE}="1"
+
+LABEL="mm_sierra_end" \ No newline at end of file