aboutsummaryrefslogtreecommitdiff
path: root/plugins/longcheer
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-09-18 15:43:30 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-09-18 15:43:30 +0200
commitc7d8ac622a56142325af1e9b51d0cce1f06eaa3d (patch)
tree6713acc93267b3e988c74f761496196c64234b98 /plugins/longcheer
parentaa0e1081070b1062c696d31ed3c68e9511733ad1 (diff)
udev: fix tagging per interface number
Commit 7ff57f9808f35d434b638a67b84481271c67c90e introduced a change to try to use ATTRS{bInterfaceNumber} as a common way to match by interface number, but this logic is broken because all the rules that we use to match by interface number (attribute in the interface device) also require matching by idVendor and idProduct (attributes in the physdev device), and udev rules forbid matches from more than one parent device at a time. We could use ATTR{bInterfaceNumber} (instead of ATTRS) to tag the actual USB interface device, but that would require a change in all the plugins to look for the tag not in the TTY device, but in its parent. So, recover the original behavior, where a hidden property is created containing the first bInterfaceNumber found in the list of parent devices, and then run the matches against idVendor and idProduct only if the hidden property is found with the expected value.
Diffstat (limited to 'plugins/longcheer')
-rw-r--r--plugins/longcheer/77-mm-longcheer-port-types.rules168
1 files changed, 85 insertions, 83 deletions
diff --git a/plugins/longcheer/77-mm-longcheer-port-types.rules b/plugins/longcheer/77-mm-longcheer-port-types.rules
index 256c8f17..512c3ded 100644
--- a/plugins/longcheer/77-mm-longcheer-port-types.rules
+++ b/plugins/longcheer/77-mm-longcheer-port-types.rules
@@ -18,152 +18,154 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1bbb", GOTO="mm_tamobile_vendorcheck"
GOTO="mm_longcheer_port_types_end"
LABEL="mm_longcheer_vendorcheck"
+SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="3197", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="3197", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="3197", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="3197", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="3197", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6000", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6000", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6000", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6000", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6000", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6060", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6060", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6060", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6060", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6060", ENV{ID_MM_LONGCHEER_TAGGED}="1"
# Alcatel One Touch X020
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7001", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7002", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ATTRS{bInterfaceNumber}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7101", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ATTRS{bInterfaceNumber}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ATTRS{bInterfaceNumber}=="06", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ENV{.MM_USBIFNUM}=="06", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="7102", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ATTRS{bInterfaceNumber}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ENV{.MM_USBIFNUM}=="05", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8000", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8001", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="8002", ENV{ID_MM_LONGCHEER_TAGGED}="1"
# ChinaBird PL68
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9000", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9000", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9000", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9000", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9000", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9001", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9002", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9003", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9004", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9004", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9004", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9004", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9004", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9005", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9005", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9005", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9005", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9005", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9010", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9012", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9020", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9022", ENV{ID_MM_LONGCHEER_TAGGED}="1"
# Zoom products
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9602", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9603", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9604", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9605", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9606", ENV{ID_MM_LONGCHEER_TAGGED}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ATTRS{bInterfaceNumber}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ATTRS{bInterfaceNumber}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ATTRS{bInterfaceNumber}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
-ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9607", ENV{ID_MM_LONGCHEER_TAGGED}="1"
GOTO="mm_longcheer_port_types_end"
LABEL="mm_tamobile_vendorcheck"
+SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
# Alcatel One Touch X060s
-ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0000", ATTRS{bInterfaceNumber}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
-ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0000", ATTRS{bInterfaceNumber}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0000", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_LONGCHEER_PORT_TYPE_MODEM}="1"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0000", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_LONGCHEER_PORT_TYPE_AUX}="1"
ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0000", ENV{ID_MM_LONGCHEER_TAGGED}="1"
GOTO="mm_longcheer_port_types_end"