summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-09-15 11:22:09 +0200
committerAleksander Morgado <aleksander@aleksander.es>2014-09-15 11:22:09 +0200
commit331ee94af7758a573ff7a2020b535bd72ecbca9d (patch)
treedafbcff0e32acf6db649056234340680f067135c
parent8718ed53bee53519fb11f313dfbe55be527f6d76 (diff)
downloadModemManager-aleksander/pots.tar.gz
pots: setup blacklist for known POTS modem devicesaleksander/pots
For now just ignore them.
-rw-r--r--src/77-mm-usb-pots.rules10
-rw-r--r--src/Makefile.am1
-rw-r--r--src/mm-base-manager.c6
3 files changed, 17 insertions, 0 deletions
diff --git a/src/77-mm-usb-pots.rules b/src/77-mm-usb-pots.rules
new file mode 100644
index 000000000..629a372ed
--- /dev/null
+++ b/src/77-mm-usb-pots.rules
@@ -0,0 +1,10 @@
+# do not edit this file, it will be overwritten on update
+
+ACTION!="add|change|move", GOTO="mm_usb_pots_end"
+SUBSYSTEM!="usb", GOTO="mm_usb_pots_end"
+ENV{DEVTYPE}!="usb_device", GOTO="mm_usb_pots_end"
+
+# Agere Systems, Inc. (Lucent) Systems Soft Modem
+ATTRS{idVendor}=="047e", ATTRS{idProduct}=="2892", ENV{ID_MM_POTS}="1"
+
+LABEL="mm_usb_pots_end"
diff --git a/src/Makefile.am b/src/Makefile.am
index 6912b00e7..2d9258915 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -6,6 +6,7 @@ udevrules_DATA = \
77-mm-pcmcia-device-blacklist.rules \
77-mm-platform-serial-whitelist.rules \
77-mm-usb-serial-adapters-greylist.rules \
+ 77-mm-usb-pots.rules \
80-mm-candidate.rules
noinst_LTLIBRARIES = libmodem-helpers.la libport.la
diff --git a/src/mm-base-manager.c b/src/mm-base-manager.c
index 3900af5b6..8601771f6 100644
--- a/src/mm-base-manager.c
+++ b/src/mm-base-manager.c
@@ -298,6 +298,12 @@ device_added (MMBaseManager *manager,
goto out;
}
+ /* Is the device a (still unsupported) POTS modem? */
+ if (g_udev_device_get_property_as_boolean (physdev, "ID_MM_POTS")) {
+ mm_dbg ("(%s/%s): blacklisted POTS modem", subsys, name);
+ goto out;
+ }
+
/* Is the device in the manual-only greylist? If so, return if this is an
* automatic scan. */
if (!manual_scan && g_udev_device_get_property_as_boolean (physdev, "ID_MM_DEVICE_MANUAL_SCAN_ONLY")) {