summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2016-08-05 14:41:34 +0200
committerDidier Raboud <odyx@debian.org>2016-08-05 14:41:34 +0200
commita08ace7aa03f64ba149a3375287c2b06ae245bbf (patch)
treef43ba5e0ac7a1e2167ad10065b2aac7317d24c77
parent8a5ddc017a35cd91cc81d80d439c894898211c06 (diff)
parent84a444fe9a21da06eaa5918b015ee61f48c95b69 (diff)
Merge tag 'upstream/20160803' into debian/master
Upstream version 20160803
-rw-r--r--40-usb_modeswitch.rules108
-rw-r--r--ChangeLog32
-rw-r--r--Makefile28
-rw-r--r--README49
-rw-r--r--REFERENCE15
-rwxr-xr-xgen-rules.tcl21
-rw-r--r--usb_modeswitch.d/03f0:521d2
-rw-r--r--usb_modeswitch.d/03f0:531d2
-rw-r--r--usb_modeswitch.d/03f0:541d2
-rw-r--r--usb_modeswitch.d/03f0:581d2
-rw-r--r--usb_modeswitch.d/03f0:631d2
-rw-r--r--usb_modeswitch.d/03f0:641d2
-rw-r--r--usb_modeswitch.d/03f0:681d2
-rw-r--r--usb_modeswitch.d/03f0:911d2
-rw-r--r--usb_modeswitch.d/03f0:931d2
-rw-r--r--usb_modeswitch.d/03f0:9a1d2
-rw-r--r--usb_modeswitch.d/0408:f0002
-rw-r--r--usb_modeswitch.d/0408:f000:uMa=Yota4
-rw-r--r--usb_modeswitch.d/04e8:689a3
-rw-r--r--usb_modeswitch.d/057c:62ff6
-rw-r--r--usb_modeswitch.d/057c:84ff6
-rw-r--r--usb_modeswitch.d/05c6:1000:uMa=CELOT4
-rw-r--r--usb_modeswitch.d/072f:100d3
-rw-r--r--usb_modeswitch.d/07d1:a8006
-rw-r--r--usb_modeswitch.d/0922:10013
-rw-r--r--usb_modeswitch.d/0922:10033
-rw-r--r--usb_modeswitch.d/0922:10073
-rw-r--r--usb_modeswitch.d/0ace:20113
-rw-r--r--usb_modeswitch.d/0ace:20ff3
-rw-r--r--usb_modeswitch.d/0af0:40073
-rw-r--r--usb_modeswitch.d/0af0:67113
-rw-r--r--usb_modeswitch.d/0af0:67313
-rw-r--r--usb_modeswitch.d/0af0:67513
-rw-r--r--usb_modeswitch.d/0af0:67713
-rw-r--r--usb_modeswitch.d/0af0:67913
-rw-r--r--usb_modeswitch.d/0af0:68113
-rw-r--r--usb_modeswitch.d/0af0:69113
-rw-r--r--usb_modeswitch.d/0af0:69513
-rw-r--r--usb_modeswitch.d/0af0:69713
-rw-r--r--usb_modeswitch.d/0af0:70113
-rw-r--r--usb_modeswitch.d/0af0:70313
-rw-r--r--usb_modeswitch.d/0af0:70513
-rw-r--r--usb_modeswitch.d/0af0:70713
-rw-r--r--usb_modeswitch.d/0af0:71113
-rw-r--r--usb_modeswitch.d/0af0:72113
-rw-r--r--usb_modeswitch.d/0af0:72513
-rw-r--r--usb_modeswitch.d/0af0:72713
-rw-r--r--usb_modeswitch.d/0af0:73013
-rw-r--r--usb_modeswitch.d/0af0:73113
-rw-r--r--usb_modeswitch.d/0af0:73613
-rw-r--r--usb_modeswitch.d/0af0:73813
-rw-r--r--usb_modeswitch.d/0af0:74013
-rw-r--r--usb_modeswitch.d/0af0:75013
-rw-r--r--usb_modeswitch.d/0af0:76013
-rw-r--r--usb_modeswitch.d/0af0:77013
-rw-r--r--usb_modeswitch.d/0af0:77063
-rw-r--r--usb_modeswitch.d/0af0:78013
-rw-r--r--usb_modeswitch.d/0af0:79013
-rw-r--r--usb_modeswitch.d/0af0:7a013
-rw-r--r--usb_modeswitch.d/0af0:7a053
-rw-r--r--usb_modeswitch.d/0af0:80063
-rw-r--r--usb_modeswitch.d/0af0:82003
-rw-r--r--usb_modeswitch.d/0af0:82013
-rw-r--r--usb_modeswitch.d/0af0:83003
-rw-r--r--usb_modeswitch.d/0af0:83023
-rw-r--r--usb_modeswitch.d/0af0:83043
-rw-r--r--usb_modeswitch.d/0af0:84003
-rw-r--r--usb_modeswitch.d/0af0:86003
-rw-r--r--usb_modeswitch.d/0af0:87003
-rw-r--r--usb_modeswitch.d/0af0:88003
-rw-r--r--usb_modeswitch.d/0af0:89003
-rw-r--r--usb_modeswitch.d/0af0:90003
-rw-r--r--usb_modeswitch.d/0af0:92003
-rw-r--r--usb_modeswitch.d/0af0:c0313
-rw-r--r--usb_modeswitch.d/0af0:c1003
-rw-r--r--usb_modeswitch.d/0af0:d0013
-rw-r--r--usb_modeswitch.d/0af0:d0133
-rw-r--r--usb_modeswitch.d/0af0:d0313
-rw-r--r--usb_modeswitch.d/0af0:d0333
-rw-r--r--usb_modeswitch.d/0af0:d0353
-rw-r--r--usb_modeswitch.d/0af0:d0553
-rw-r--r--usb_modeswitch.d/0af0:d0573
-rw-r--r--usb_modeswitch.d/0af0:d0583
-rw-r--r--usb_modeswitch.d/0af0:d1553
-rw-r--r--usb_modeswitch.d/0af0:d1573
-rw-r--r--usb_modeswitch.d/0af0:d2553
-rw-r--r--usb_modeswitch.d/0af0:d2573
-rw-r--r--usb_modeswitch.d/0af0:d3573
-rw-r--r--usb_modeswitch.d/0cf3:20ff3
-rw-r--r--usb_modeswitch.d/0df7:08003
-rw-r--r--usb_modeswitch.d/0e8d:71093
-rw-r--r--usb_modeswitch.d/1004:610c4
-rw-r--r--usb_modeswitch.d/1004:61901
-rw-r--r--usb_modeswitch.d/106c:3b143
-rw-r--r--usb_modeswitch.d/10a9:606f3
-rw-r--r--usb_modeswitch.d/1199:0fff3
-rw-r--r--usb_modeswitch.d/1199:90113
-rw-r--r--usb_modeswitch.d/1199:90133
-rw-r--r--usb_modeswitch.d/1199:90173
-rw-r--r--usb_modeswitch.d/1199:901b3
-rw-r--r--usb_modeswitch.d/1199:901c3
-rw-r--r--usb_modeswitch.d/1199:901f3
-rw-r--r--usb_modeswitch.d/1199:90413
-rw-r--r--usb_modeswitch.d/1199:90513
-rw-r--r--usb_modeswitch.d/1199:90533
-rw-r--r--usb_modeswitch.d/1199:90633
-rw-r--r--usb_modeswitch.d/12d1:10303
-rw-r--r--usb_modeswitch.d/12d1:10313
-rw-r--r--usb_modeswitch.d/12d1:15274
-rw-r--r--usb_modeswitch.d/12d1:15702
-rw-r--r--usb_modeswitch.d/12d1:15712
-rw-r--r--usb_modeswitch.d/12d1:15722
-rw-r--r--usb_modeswitch.d/12d1:15804
-rw-r--r--usb_modeswitch.d/12d1:15814
-rw-r--r--usb_modeswitch.d/12d1:15bb2
-rw-r--r--usb_modeswitch.d/12d1:15c02
-rw-r--r--usb_modeswitch.d/12d1:15f02
-rw-r--r--usb_modeswitch.d/12d1:1c0b2
-rw-r--r--usb_modeswitch.d/12d1:1c1b3
-rw-r--r--usb_modeswitch.d/12d1:1c252
-rw-r--r--usb_modeswitch.d/12d1:1f013
-rw-r--r--usb_modeswitch.d/12d1:1f023
-rw-r--r--usb_modeswitch.d/12d1:1f033
-rw-r--r--usb_modeswitch.d/12d1:1f044
-rw-r--r--usb_modeswitch.d/12d1:1f054
-rw-r--r--usb_modeswitch.d/12d1:1f064
-rw-r--r--usb_modeswitch.d/12d1:1f073
-rw-r--r--usb_modeswitch.d/12d1:1f093
-rw-r--r--usb_modeswitch.d/1307:11693
-rw-r--r--usb_modeswitch.d/148f:25783
-rw-r--r--usb_modeswitch.d/1614:08003
-rw-r--r--usb_modeswitch.d/1614:08023
-rw-r--r--usb_modeswitch.d/16d5:f0004
-rw-r--r--usb_modeswitch.d/1726:19004
-rw-r--r--usb_modeswitch.d/1782:00232
-rw-r--r--usb_modeswitch.d/198f:bccd3
-rw-r--r--usb_modeswitch.d/19d2:10013
-rw-r--r--usb_modeswitch.d/19d2:10133
-rw-r--r--usb_modeswitch.d/19d2:10194
-rw-r--r--usb_modeswitch.d/19d2:10204
-rw-r--r--usb_modeswitch.d/19d2:10224
-rw-r--r--usb_modeswitch.d/19d2:10264
-rw-r--r--usb_modeswitch.d/19d2:10344
-rw-r--r--usb_modeswitch.d/19d2:10424
-rw-r--r--usb_modeswitch.d/19d2:10464
-rw-r--r--usb_modeswitch.d/19d2:11713
-rw-r--r--usb_modeswitch.d/19d2:11753
-rw-r--r--usb_modeswitch.d/19d2:11793
-rw-r--r--usb_modeswitch.d/19d2:bccd3
-rw-r--r--usb_modeswitch.d/1c9e:60003
-rw-r--r--usb_modeswitch.d/1c9e:9e083
-rw-r--r--usb_modeswitch.d/1c9e:f0104
-rw-r--r--usb_modeswitch.d/2001:76002
-rw-r--r--usb_modeswitch.d/2015:00013
-rw-r--r--usb_modeswitch.d/2020:f00e4
-rw-r--r--usb_modeswitch.d/2077:f0004
-rw-r--r--usb_modeswitch.d/22f4:00212
-rw-r--r--usb_modeswitch.d/230d:000c2
-rw-r--r--usb_modeswitch.d/6000:10004
159 files changed, 509 insertions, 209 deletions
diff --git a/40-usb_modeswitch.rules b/40-usb_modeswitch.rules
index 94bd742..3fc198a 100644
--- a/40-usb_modeswitch.rules
+++ b/40-usb_modeswitch.rules
@@ -1,4 +1,4 @@
-# Part of usb-modeswitch-data, version 20160612
+# Part of usb-modeswitch-data, version 20160803
#
# Works with usb_modeswitch versions >= 2.4.0 (extension of StandardEject)
#
@@ -10,13 +10,42 @@ KERNEL=="ttyUSB*", ATTRS{bNumConfigurations}=="*", PROGRAM="usb_modeswitch --sym
SUBSYSTEM!="usb", ACTION!="add",, GOTO="modeswitch_rules_end"
-
# Generic entry for most Huawei devices, excluding Android phones
ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"
# HP LaserJet Professional P1102
ATTR{idVendor}=="03f0", ATTR{idProduct}=="002a", RUN+="usb_modeswitch '%b/%k'"
+# HP hs3110
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="521d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP hs3120
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="531d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP hs3114
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="541d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP hs4112
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="581d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4225
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="631d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4226
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="641d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4227
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="681d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4211
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="911d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4110
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="931d", RUN+="usb_modeswitch '%b/%k'"
+
+# HP lt4114
+ATTR{idVendor}=="03f0", ATTR{idProduct}=="9a1d", RUN+="usb_modeswitch '%b/%k'"
+
# Quanta MU-Q101
ATTR{idVendor}=="0408", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
@@ -29,7 +58,7 @@ ATTR{idVendor}=="0408", ATTR{idProduct}=="ea25", RUN+="usb_modeswitch '%b/%k'"
# Quanta MobileGenie 4G LTE, Quanta 1K6
ATTR{idVendor}=="0408", ATTR{idProduct}=="ea43", RUN+="usb_modeswitch '%b/%k'"
-# Yota Router (Quanta 1QDLZZZ0ST2)
+# MU-Q110, Yota Router (Quanta 1QDLZZZ0ST2)
ATTR{idVendor}=="0408", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# SpeedUp SU-8500U
@@ -62,6 +91,9 @@ ATTR{idVendor}=="0421", ATTR{idProduct}=="0632", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-21M-02
ATTR{idVendor}=="0421", ATTR{idProduct}=="0637", RUN+="usb_modeswitch '%b/%k'"
+# Logitech G920 Racing Wheel
+ATTR{idVendor}=="046d", ATTR{idProduct}=="c261", RUN+="usb_modeswitch '%b/%k'"
+
# Philips (?), Vodafone MD950 (Wisue Technology)
ATTR{idVendor}=="0471", ATTR{idProduct}=="1210", RUN+="usb_modeswitch '%b/%k'"
@@ -107,7 +139,7 @@ ATTR{idVendor}=="057c", ATTR{idProduct}=="84ff", RUN+="usb_modeswitch '%b/%k'"
# Axesstel Modems (w/ initial idProduct 0x0010)
ATTR{idVendor}=="05c6", ATTR{idProduct}=="0010", RUN+="usb_modeswitch '%b/%k'"
-# TechFaith Venus VT-18, AnyDATA devices, Bless UC165, Samsung SGH-Z810, StrongRising device, Vertex Wireless 100 Series, Celot K-300, Older Option devices, Prolink P2000 CDMA, Celot CT-680
+# Option GlobeTrotter GX0201, Older Option devices, AnyDATA devices, Bless UC165, Celot K-300 a.o., TechFaith Venus VT-18, Celot CT-680, Samsung SGH-Z810, Prolink P2000 CDMA, StrongRising device, Vertex Wireless 100 Series
ATTR{idVendor}=="05c6", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# Various USB modems
@@ -125,7 +157,7 @@ ATTR{idVendor}=="05c6", ATTR{idProduct}=="9024", RUN+="usb_modeswitch '%b/%k'"
# U901 (LTE modem)
ATTR{idVendor}=="05c6", ATTR{idProduct}=="98ff", RUN+="usb_modeswitch '%b/%k'"
-# Siptune LM-75 ("LinuxModem")
+# Siptune LM-75 ("LinuxModem"), EWangshikong 4G
ATTR{idVendor}=="05c6", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Qtronix EVDO 3G Modem (for TianYi)
@@ -137,7 +169,7 @@ ATTR{idVendor}=="0685", ATTR{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'"
# InfoCert Business Key (SmartCard/Reader emulation)
ATTR{idVendor}=="072f", ATTR{idProduct}=="100d", RUN+="usb_modeswitch '%b/%k'"
-# D-Link DWM-156 HSUPA 3.75G USB Modem
+# D-Link DWM-156 HSUPA 3.75G a.o.
ATTR{idVendor}=="07d1", ATTR{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 HSUPA 3.75G USB Modem
@@ -371,7 +403,7 @@ ATTR{idVendor}=="0d46", ATTR{idProduct}=="45a5", RUN+="usb_modeswitch '%b/%k'"
# Mobile Action ("Smart Cable")
ATTR{idVendor}=="0df7", ATTR{idProduct}=="0800", RUN+="usb_modeswitch '%b/%k'"
-# MediaTek/Medion S4222 and probably others, MediaTek MT6276M and others
+# MediaTek MT6276M and others, MediaTek/Medion S4222 and probably others
ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'"
# MediaTek Wimax USB Card
@@ -401,6 +433,9 @@ ATTR{idVendor}=="1004", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# LG HDM-2100 (EVDO Rev.A USB modem)
ATTR{idVendor}=="1004", ATTR{idProduct}=="607f", RUN+="usb_modeswitch '%b/%k'"
+# LG L-02A
+ATTR{idVendor}=="1004", ATTR{idProduct}=="610c", RUN+="usb_modeswitch '%b/%k'"
+
# LG L-05A
ATTR{idVendor}=="1004", ATTR{idProduct}=="613a", RUN+="usb_modeswitch '%b/%k'"
@@ -455,7 +490,7 @@ ATTR{idVendor}=="1076", ATTR{idProduct}=="7f40", RUN+="usb_modeswitch '%b/%k'"
# Hisense E910 EVDO Phone
ATTR{idVendor}=="109b", ATTR{idProduct}=="f009", RUN+="usb_modeswitch '%b/%k'"
-# Pantech/Verizon UML295, Use 1 for automatic choice, 2 for RNDIS, 4 for QMI
+# Pantech/Verizon UML295
ATTR{idVendor}=="10a9", ATTR{idProduct}=="606f", RUN+="usb_modeswitch '%b/%k'"
# Pantech LTE Modem
@@ -497,10 +532,10 @@ ATTR{idVendor}=="1199", ATTR{idProduct}=="9063", RUN+="usb_modeswitch '%b/%k'"
# Digicom 8E4455 (and all Pirelli devices - EXPERIMENTAL)
ATTR{idVendor}=="1266", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
-# Huawei ME909u-521
+# Huawei ME909u-521 (MBIM, handled by kernel, dummy config)
ATTR{idVendor}=="12d1", ATTR{idProduct}=="1573", RUN+="usb_modeswitch '%b/%k'"
-# Huawei ME906, ME909
+# Huawei ME906, ME909 (MBIM, handled by kernel, dummy config)
ATTR{idVendor}=="12d1", ATTR{idProduct}=="15c1", RUN+="usb_modeswitch '%b/%k'"
# Cisco AM10 "Valet Connector"
@@ -551,6 +586,9 @@ ATTR{idVendor}=="1614", ATTR{idProduct}=="0800", RUN+="usb_modeswitch '%b/%k'"
# Amoi H-02
ATTR{idVendor}=="1614", ATTR{idProduct}=="0802", RUN+="usb_modeswitch '%b/%k'"
+# Anydata ADU-890WH
+ATTR{idVendor}=="16d5", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+
# C-motech CHU-628S
ATTR{idVendor}=="16d8", ATTR{idProduct}=="6281", RUN+="usb_modeswitch '%b/%k'"
@@ -569,12 +607,18 @@ ATTR{idVendor}=="16d8", ATTR{idProduct}=="700b", RUN+="usb_modeswitch '%b/%k'"
# C-motech CGU-628 (aka "Franklin Wireless CGU-628A" aka "4G Systems XS Stick W12")
ATTR{idVendor}=="16d8", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# Axesstel MV210
+ATTR{idVendor}=="1726", ATTR{idProduct}=="1900", RUN+="usb_modeswitch '%b/%k'"
+
# Axesstel MU130
ATTR{idVendor}=="1726", ATTR{idProduct}=="f00e", RUN+="usb_modeswitch '%b/%k'"
# Spreadtrum SC7702
ATTR{idVendor}=="1782", ATTR{idProduct}=="0003", RUN+="usb_modeswitch '%b/%k'"
+# Spreadtrum SC7702 (Variant)
+ATTR{idVendor}=="1782", ATTR{idProduct}=="0023", RUN+="usb_modeswitch '%b/%k'"
+
# JOA Telecom LM-700r
ATTR{idVendor}=="198a", ATTR{idProduct}=="0003", RUN+="usb_modeswitch '%b/%k'"
@@ -662,12 +706,33 @@ ATTR{idVendor}=="19d2", ATTR{idProduct}=="1013", RUN+="usb_modeswitch '%b/%k'"
# Vodafone K5006Z (MF821)
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1017", RUN+="usb_modeswitch '%b/%k'"
+# Vodafone / ZTE R203 Router
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1019", RUN+="usb_modeswitch '%b/%k'"
+
+# Vodafone / ZTE R203 Router
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1020", RUN+="usb_modeswitch '%b/%k'"
+
+# Vodafone / ZTE K4201-z
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1022", RUN+="usb_modeswitch '%b/%k'"
+
+# Vodafone / ZTE R212 Router
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1026", RUN+="usb_modeswitch '%b/%k'"
+
# Vodafone K5008-z (MF823)
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1030", RUN+="usb_modeswitch '%b/%k'"
+# Vodafone / ZTE R206-z Router
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1034", RUN+="usb_modeswitch '%b/%k'"
+
# ZTE / Vodafone K4607-Z
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1038", RUN+="usb_modeswitch '%b/%k'"
+# Vodafone / ZTE R209-z Router
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1042", RUN+="usb_modeswitch '%b/%k'"
+
+# ZTE MF730
+ATTR{idVendor}=="19d2", ATTR{idProduct}=="1046", RUN+="usb_modeswitch '%b/%k'"
+
# Vodafone (ZTE) K4510-Z
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1171", RUN+="usb_modeswitch '%b/%k'"
@@ -794,7 +859,7 @@ ATTR{idVendor}=="1bbb", ATTR{idProduct}=="011f", RUN+="usb_modeswitch '%b/%k'"
# Alcatel X602D
ATTR{idVendor}=="1bbb", ATTR{idProduct}=="022c", RUN+="usb_modeswitch '%b/%k'"
-# Yota W8
+# Yota 4G LTE W8
ATTR{idVendor}=="1bbb", ATTR{idProduct}=="025e", RUN+="usb_modeswitch '%b/%k'"
# Alcatel X200/X200L/X060S/L100V, Archos G9 3G Key
@@ -845,6 +910,9 @@ ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e08", RUN+="usb_modeswitch '%b/%k'"
# Longcheer/Longsoon (aka Omega Technology) devices, MobiData MBD-200HU and others
ATTR{idVendor}=="1c9e", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
+# Micromax MMX400R / 4G Systems XSBOXGO
+ATTR{idVendor}=="1c9e", ATTR{idProduct}=="f010", RUN+="usb_modeswitch '%b/%k'"
+
# TechFaith BSNL Capitel
ATTR{idVendor}=="1d09", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
@@ -935,6 +1003,9 @@ ATTR{idVendor}=="1fac", ATTR{idProduct}=="0151", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-157 B1
ATTR{idVendor}=="2001", ATTR{idProduct}=="00a6", RUN+="usb_modeswitch '%b/%k'"
+# D-Link DWM-157 C1
+ATTR{idVendor}=="2001", ATTR{idProduct}=="7600", RUN+="usb_modeswitch '%b/%k'"
+
# D-Link DWM-221
ATTR{idVendor}=="2001", ATTR{idProduct}=="98ff", RUN+="usb_modeswitch '%b/%k'"
@@ -974,6 +1045,9 @@ ATTR{idVendor}=="2001", ATTR{idProduct}=="a805", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 (Variant)
ATTR{idVendor}=="2001", ATTR{idProduct}=="a80b", RUN+="usb_modeswitch '%b/%k'"
+# Venus VT-18
+ATTR{idVendor}=="2015", ATTR{idProduct}=="0001", RUN+="usb_modeswitch '%b/%k'"
+
# Haier CE682 (EVDO)
ATTR{idVendor}=="201e", ATTR{idProduct}=="1023", RUN+="usb_modeswitch '%b/%k'"
@@ -983,7 +1057,7 @@ ATTR{idVendor}=="201e", ATTR{idProduct}=="2009", RUN+="usb_modeswitch '%b/%k'"
# Mediatek MT6229, Micromax MMX 377G, Olicard 300
ATTR{idVendor}=="2020", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'"
-# SpeedUp SU-8000
+# SpeedUp SU-8000 and others
ATTR{idVendor}=="2020", ATTR{idProduct}=="f00e", RUN+="usb_modeswitch '%b/%k'"
# SpeedUp SU-8000U
@@ -992,7 +1066,7 @@ ATTR{idVendor}=="2020", ATTR{idProduct}=="f00f", RUN+="usb_modeswitch '%b/%k'"
# Changhong CH690, D-Link DWM-163 + DWM-168
ATTR{idVendor}=="2077", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
-# Telenet 3G dongle (T&W WU160) and others
+# Telenet 3G dongle (T&W WU160), Netgear AC327U and others
ATTR{idVendor}=="2077", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# BM WM78
@@ -1019,7 +1093,7 @@ ATTR{idVendor}=="22de", ATTR{idProduct}=="6801", RUN+="usb_modeswitch '%b/%k'"
# WeTelecom WM-D300
ATTR{idVendor}=="22de", ATTR{idProduct}=="6803", RUN+="usb_modeswitch '%b/%k'"
-# Tata Photon+
+# Tata Photon+, Olive VME102
ATTR{idVendor}=="22f4", ATTR{idProduct}=="0021", RUN+="usb_modeswitch '%b/%k'"
# Linktop LW272/LW273 (BSNL Teracom)
@@ -1034,6 +1108,9 @@ ATTR{idVendor}=="230d", ATTR{idProduct}=="0007", RUN+="usb_modeswitch '%b/%k'"
# Zoom 3G
ATTR{idVendor}=="230d", ATTR{idProduct}=="000b", RUN+="usb_modeswitch '%b/%k'"
+# Zoom 3G
+ATTR{idVendor}=="230d", ATTR{idProduct}=="000c", RUN+="usb_modeswitch '%b/%k'"
+
# Intex Speed 3G v7.2
ATTR{idVendor}=="230d", ATTR{idProduct}=="000d", RUN+="usb_modeswitch '%b/%k'"
@@ -1064,6 +1141,9 @@ ATTR{idVendor}=="257a", ATTR{idProduct}=="c000", RUN+="usb_modeswitch '%b/%k'"
# Unknown devices
ATTR{idVendor}=="257a", ATTR{idProduct}=="d000", RUN+="usb_modeswitch '%b/%k'"
+# BlueLink BL-EV08C
+ATTR{idVendor}=="6000", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
+
# Exiss Mobile E-190 series (made by C-motech)
ATTR{idVendor}=="8888", ATTR{idProduct}=="6500", RUN+="usb_modeswitch '%b/%k'"
diff --git a/ChangeLog b/ChangeLog
index ee3cd34..542afb0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+20160803:
+ Added devices: [03f0:521d] HP hs3110, [03f0:531d] HP hs3120,
+ [03f0:541d] HP hs3114, [03f0:581d] HP hs4112, [03f0:631d] HP lt4225,
+ [03f0:641d] HP lt4226, [03f0:681d] HP lt4227, [03f0:911d] HP lt4211,
+ [03f0:931d] HP lt4110, [03f0:9a1d] HP lt4114, [1004:610c] LG L-02A,
+ [12d1:1527] Vodafone/Huawei R206 Router , [12d1:1570] Huawei ME906E,
+ [12d1:1571] Huawei EM820W, [12d1:1572] Huawei MU733, [12d1:1580]
+ Vodafone/Huawei R210 Router, [12d1:1581] Vodafone/Huawei R208 Router,
+ [12d1:15bb] Huawei ME936, [12d1:15c0] Huawei ME906C, [12d1:15f0]
+ Huawei MU736, [12d1:1c25] Huawei MU709s-2 Module, [12d1:1f04]
+ Vodafone/Huawei R206_MR Router, [12d1:1f05] Vodafone/Huawei R207
+ Router, [12d1:1f06] Vodafone/Huawei R215_MR Router, [16d5:f000]
+ Anydata ADU-890WH, [1726:1900] Axesstel MV210, [1782:0023] Spreadtrum
+ SC7702 (Variant), [19d2:1019] Vodafone/ZTE R203 Router, [19d2:1020]
+ Vodafone/ZTE R203 Router, [19d2:1022] Vodafone/ZTE K4201-z, [19d2:1026]
+ Vodafone/ZTE R212 Router, [19d2:1034] Vodafone/ZTE R206-z Router,
+ [19d2:1042] Vodafone/ZTE R209-z Router, [19d2:1046] ZTE MF730,
+ [1c9e:f010] Micromax MMX400R/4G Systems XSBOXGO, [2001:7600] D-Link
+ DWM-157 C1, [2015:0001] Venus VT-18, [230d:000c] Zoom 3G, [6000:1000]
+ BlueLink BL-EV08C;
+ Corrected/amended configs: [0408:f000] MU-Q110, [0408:f000:uMa=Yota]
+ Yota Router (Quanta 1QDLZZZ0ST2), [057c:62ff] AVM Fritz!Wlan USB Stick
+ N v2, [057c:84ff] AVM Fritz!Wlan USB Stick N, [05c6:1000:uMa=CELOT]
+ Celot K-300 a.o., [07d1:a800] D-Link DWM-156 HSUPA 3.75G a.o.,
+ [1004:6190] LG AD600, [12d1:1c0b] Huawei E173s, [2020:f00e] SpeedUp
+ SU-8000 a.o., [2077:f000] Telenet 3G dongle a.o., [22f4:0021] Tata
+ Photon+, Olive VME102;
+ Removed devices (handled by kernel): [0bdb:190d] Ericsson F5521gw,
+ [0bdb:1910] Ericsson F5521gw (Variant); changes in Makefile to align
+ with Debian packaging requirements; small updates in "gen-rules.tcl";
+ "NoDriverLoading" parameter removed from all configs - this time for
+ real ...
20160612:
ATTENTION: requires usb-modeswitch version >= 2.4.0 due to appended
StandardEject sequence (affects D-Link devices);
diff --git a/Makefile b/Makefile
index e9a92ec..babdf1a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
PROG = usb-modeswitch-data
-VERS = 20160612
+VERS = 20160803
RM = /bin/rm -f
PREFIX = $(DESTDIR)/usr
ETCDIR = $(DESTDIR)/etc
@@ -13,9 +13,9 @@ all: 40-usb_modeswitch.rules
clean:
$(RM) 40-usb_modeswitch.rules
-install: all files-install db-install rules-reload
+install: all files-install db-install
-install-packed: files-install db-install-packed rules-reload
+install-packed: files-install db-install-packed
files-install:
install -d $(PREFIX)/share/usb_modeswitch
@@ -31,30 +31,12 @@ db-install: files-install
db-install-packed:
@# Create a compressed tar without gzip timestamp, so tar.gz
@# differs only if content is different
- cd ./usb_modeswitch.d; tar --mode=go=rX,u+rw,a-s -cf ../configPack.tar *
+ cd ./usb_modeswitch.d; find * -print0 | LC_ALL=C sort -z | tar --no-recursion --null --files-from=- --mode=go=rX,u+rw,a-s -cf ../configPack.tar
gzip -f9n ./configPack.tar
install --mode=644 -t $(PREFIX)/share/usb_modeswitch ./configPack.tar.gz
rm -f ./configPack.tar.gz
-rules-reload:
- @if [ -f $(ETCDIR)/issue ]; then \
- UDEVADM=`which udevadm 2>/dev/null`; \
- if [ "x$$UDEVADM" != "x" ]; then \
- UDEVADM_VER=`$$UDEVADM -V 2>/dev/null`; \
- if [ -z $$UDEVADM_VER ]; then \
- UDEVADM_VER=`$$UDEVADM --version 2>/dev/null`; \
- fi; \
- if [ $$UDEVADM_VER -gt 127 ]; then \
- $$UDEVADM control --reload-rules; \
- else \
- $$UDEVADM control --reload_rules; \
- fi \
- elif [ `which udevcontrol 2>/dev/null` ]; then \
- `which udevcontrol` reload_rules; \
- fi \
- fi
-
-uninstall: files-uninstall rules-reload
+uninstall: files-uninstall
files-uninstall:
$(RM) $(RULESDIR)/40-usb_modeswitch.rules
diff --git a/README b/README
index a532e28..f3547ad 100644
--- a/README
+++ b/README
@@ -17,33 +17,28 @@ This is a data package to complement the full release package of
USB_ModeSwitch, a tool to switch multi-mode USB devices.
It is used since usb-modeswitch version 1.0.3.
-Recommended version of usb-modeswitch package is 1.2.5 and above. From
-this version on, the rules file does not check for the class of inter-
-face 0 anymore, the check was moved to the dispatcher.
-The changes were necessary for future MBIM device support.
+Recommended version of usb-modeswitch package is 2.4.0 and above.
-Just do "make install". To re-generate udev rules file, type "make clean"
-and install again ("tcl" package required).
+
+Installation
+============
+
+Just run "make install". To re-generate udev rules file (Note: "tcl"
+package required), type "make clean" and install again .
Tasks initiated by the rules file:
==================================
-- call wrapper to initiate switching for known devices when plugged in
- (starting from version 1.1.4 at boot time too)
+- call tiny shell script in /lib/udev which in turn calls the wrapper
+ (/usr/sbin/usb_modeswitch_dispatcher) to initiate switching for known
+ devices when plugged in or present at boot time
- adding symlink "gsmmodem" to appropriate connection port (out of 2-5
ports provided by some devices); this is only a convenience feature and
NOT needed for switching or later port operation.
This action will be triggered for known modems only (at least switched
- once on this system)
-
-- loading and binding the "option" driver if the device arrives in modem
- state (not CDC/ACM) and the device ID is not yet known to the driver.
- This action will be triggered only for modems known to the system (at
- least switched once).
- To prevent the default driver binding, add NoDriverLoading=1 to the
- respective device configuration file
+ once before on this system)
Explanation about config file names:
@@ -58,7 +53,7 @@ to test can be attached after further colons:
The strings match if they are part of the attribute content. Use "_"
to match spaces (it will match "_" too!).
-Currently recognized attibutes are:
+Currently recognized attributes are:
uMa = USB, iManufacturer
uPr = USB, iProduct
@@ -67,7 +62,7 @@ sVe = SCSI, Vendor
sMo = SCSI, Model
sRe = SCSI, Revision
-This list is easily extendable if necessary.
+This list is easily extendable should it be necessary.
Example:
<vid>:<pid>:uPr=CDMA_Mo will match iProduct "CDMA Modem" or "MyCDMA_Mordor"
@@ -96,14 +91,7 @@ Parameters used only in config files:
These are not evaluated by the binary but by the wrapper.
-WaitBefore=<seconds> delay the switching process
-
-DriverModule=<module name> load a specific driver module after switch
-
-DriverIDPath=<path to attribute>
- if the driver has the ability to add new device IDs
- on-the-fly, this is the file node to use.
- Example: "/sys/bus/usb-serial/drivers/option1/new_id"
+- WaitBefore=<seconds> delay the switching process
See also complete parameter explanation in REFERENCE.
@@ -118,10 +106,6 @@ Notes about specific devices:
- 1266:1000 (Royaltek Q110): switching method very likely but unconfirmed
-- Some WiMAX and LTE devices are included since 20101222; for some of these
- drivers are work in progress or not available yet. Efforts are underway.
- Stand by or search for "staging drivers".
-
- 05c6:2000 (unnamed HSDPA modem from "dealextreme"): unusually long switching
time reported, even with MS Windoze - 30 to 40 seconds. Don't be alarmed.
@@ -129,6 +113,9 @@ Notes about specific devices:
targets and behaviour appeared. This is not fully confirmed yet, please
report problems.
+- 1004:6190 (LG AD600): seems to require an unusually wait before starting the
+ modeswitch (10 secs)
+
Legal
=====
@@ -149,4 +136,4 @@ Or find it as the file COPYING in this folder.
-Last revised: 2016-01-12, Josua Dietze
+Last revised: 2016-08-03, Josua Dietze
diff --git a/REFERENCE b/REFERENCE
index 2870ea9..2ff7226 100644
--- a/REFERENCE
+++ b/REFERENCE
@@ -1,7 +1,7 @@
Configuration File Reference for USB_ModeSwitch
-----------------------------------------------
-Last modified: 2016-01-12
+Last modified: 2016-08-03
@@ -10,7 +10,7 @@ General Rules:
Numbers can be decimal or hexadecimal, Bulk message strings must be
hexadecimal without prepended "0x". Digits 9-16 (message tag) in
mass storage messages (which start with "55534243") are random; I set
-them to "12345678". Not that you must make them unique if more than
+them to "12345678". Note that you must make them unique if more than
one MessageContent is used.
-> ALL MISTYPED PARAMETERS AND OTHER ENTRIES ARE SILENTLY IGNORED <-
@@ -97,7 +97,8 @@ switching, but still comes handy sometimes
Sends a specific bulk message sequence representing the SCSI commands
"ALLOW MEDIUM REMOVAL" and "START STOP UNIT", basically an eject
-action. Many modems are using this for mode switching
+action. Many modems are using this for mode switching.
+Can be combined with one additional 'MessageContent'
* HuaweiMode <0/1> -H
@@ -108,7 +109,7 @@ message. Don't use with recent devices
* HuaweiNewMode <0/1> -J
-The standard for all newer Huawei devices. Sends a specific bulk message,
+The standard for many newer Huawei devices. Sends a specific bulk message,
but different target layouts may be reached with variants of that
message; use MessageContent for these
@@ -149,7 +150,7 @@ all models were confirmed to support all modes. Possible values are:
3 - forced CDC Ether mode (internal switch, no usb_modeswitch action)
4 - forced MBIM mode
-Important: the -F parameter value for usb_modeswitch is directly used as
+Note: the -F parameter value for usb_modeswitch is directly used as
wValue in the control message!
@@ -185,7 +186,7 @@ might have the same effect as a manual replug)
* InquireDevice <0|1> -I (enables inquiry)
Formerly printed out SCSI device attributes. Obsolete and ignored since
-version 2.3.0.
+usb_modeswitch version 2.3.0.
* CheckSuccess -s <number>
@@ -202,6 +203,7 @@ usb_modeswitch where the success check is done by the wrapper script
* NoDriverLoading <0|1> (no command line parameter)
+(Obsolete, ignored since usb_modeswitch 2.4.0)
The binary tells the wrapper script NOT to check for and initiate
binding of the serial driver after switching.
Mostly useful for non-modem devices and newer modems which do not use
@@ -223,3 +225,4 @@ according to the MBIM standard. If so, it will search for the matching
kernel driver. It it's available, the device will be configured for
MBIM usage which is preferable to other modes and configurations
+--
diff --git a/gen-rules.tcl b/gen-rules.tcl
index 080900c..1b7329c 100755
--- a/gen-rules.tcl
+++ b/gen-rules.tcl
@@ -11,10 +11,10 @@
# Default version string
-set version "20160612"
+set version "20160803"
# Devices excluded from Huawei catch-all rule
-set x_huaweiList {12d1:1573}
+set x_huaweiList {12d1:1573 12d1:15c1}
if {[lindex $argv 0] == "--set-version" && [regexp {\d\d\d\d\d\d\d\d} [lindex $argv 1]]} {
set version [lindex $argv 1]
@@ -27,7 +27,7 @@ if {![file isdirectory usb_modeswitch.d]} {
exit
}
-set filelist [glob -nocomplain ./usb_modeswitch.d/*]
+set filelist [lsort [glob -nocomplain ./usb_modeswitch.d/*]]
if {[llength $filelist] == 0} {
puts "The \"usb_modeswitch.d\" subfolder is empty"
exit
@@ -40,7 +40,7 @@ set wc [open "40-usb_modeswitch.rules" w]
puts -nonewline $wc {# Part of usb-modeswitch-data, version }
puts $wc $version
puts $wc {#
-# Works with usb_modeswitch versions >= 2.2.2 (extension of PantechMode)
+# Works with usb_modeswitch versions >= 2.4.0 (extension of StandardEject)
#
ACTION!="add|change", GOTO="modeswitch_rules_end"
@@ -48,22 +48,11 @@ ACTION!="add|change", GOTO="modeswitch_rules_end"
# transfer; checked against a list of known modems, or else no action
KERNEL=="ttyUSB*", ATTRS{bNumConfigurations}=="*", PROGRAM="usb_modeswitch --symlink-name %p %s{idVendor} %s{idProduct} %E{PRODUCT}", SYMLINK+="%c"
-SUBSYSTEM!="usb", GOTO="modeswitch_rules_end"
-
-# Adds the device ID to the "option" driver after a warm boot
-# in cases when the device is yet unknown to the driver; checked
-# against a list of known modems, or else no action
-ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceNumber}=="00", ATTRS{bNumConfigurations}=="*", RUN+="usb_modeswitch --driver-bind %p %s{idVendor} %s{idProduct} %E{PRODUCT}"
-
-
-# Don't continue on "change" event, prevent trigger by changed configuration
-ACTION!="add", GOTO="modeswitch_rules_end"
-
+SUBSYSTEM!="usb", ACTION!="add",, GOTO="modeswitch_rules_end"
# Generic entry for most Huawei devices, excluding Android phones
ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"}
-
set vendorList ""
set dvid ""
diff --git a/usb_modeswitch.d/03f0:521d b/usb_modeswitch.d/03f0:521d
new file mode 100644
index 0000000..609c7a1
--- /dev/null
+++ b/usb_modeswitch.d/03f0:521d
@@ -0,0 +1,2 @@
+# HP hs3110
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:531d b/usb_modeswitch.d/03f0:531d
new file mode 100644
index 0000000..8b5a348
--- /dev/null
+++ b/usb_modeswitch.d/03f0:531d
@@ -0,0 +1,2 @@
+# HP hs3120
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:541d b/usb_modeswitch.d/03f0:541d
new file mode 100644
index 0000000..ecb0c48
--- /dev/null
+++ b/usb_modeswitch.d/03f0:541d
@@ -0,0 +1,2 @@
+# HP hs3114
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:581d b/usb_modeswitch.d/03f0:581d
new file mode 100644
index 0000000..b2f662d
--- /dev/null
+++ b/usb_modeswitch.d/03f0:581d
@@ -0,0 +1,2 @@
+# HP hs4112
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:631d b/usb_modeswitch.d/03f0:631d
new file mode 100644
index 0000000..ff2dcc7
--- /dev/null
+++ b/usb_modeswitch.d/03f0:631d
@@ -0,0 +1,2 @@
+# HP lt4225
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:641d b/usb_modeswitch.d/03f0:641d
new file mode 100644
index 0000000..131c9d7
--- /dev/null
+++ b/usb_modeswitch.d/03f0:641d
@@ -0,0 +1,2 @@
+# HP lt4226
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:681d b/usb_modeswitch.d/03f0:681d
new file mode 100644
index 0000000..60b7f75
--- /dev/null
+++ b/usb_modeswitch.d/03f0:681d
@@ -0,0 +1,2 @@
+# HP lt4227
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:911d b/usb_modeswitch.d/03f0:911d
new file mode 100644
index 0000000..b9a6a13
--- /dev/null
+++ b/usb_modeswitch.d/03f0:911d
@@ -0,0 +1,2 @@
+# HP lt4211
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:931d b/usb_modeswitch.d/03f0:931d
new file mode 100644
index 0000000..08a3290
--- /dev/null
+++ b/usb_modeswitch.d/03f0:931d
@@ -0,0 +1,2 @@
+# HP lt4110
+Configuration=0
diff --git a/usb_modeswitch.d/03f0:9a1d b/usb_modeswitch.d/03f0:9a1d
new file mode 100644
index 0000000..d3b8b9d
--- /dev/null
+++ b/usb_modeswitch.d/03f0:9a1d
@@ -0,0 +1,2 @@
+# HP lt4114
+Configuration=0
diff --git a/usb_modeswitch.d/0408:f000 b/usb_modeswitch.d/0408:f000
index 49dad5f..3e38133 100644
--- a/usb_modeswitch.d/0408:f000
+++ b/usb_modeswitch.d/0408:f000
@@ -1,4 +1,4 @@
-# Yota Router (Quanta 1QDLZZZ0ST2)
+# MU-Q110
TargetVendor=0x0408
TargetProduct=0xea03
QuantaMode=1
diff --git a/usb_modeswitch.d/0408:f000:uMa=Yota b/usb_modeswitch.d/0408:f000:uMa=Yota
new file mode 100644
index 0000000..0b18e44
--- /dev/null
+++ b/usb_modeswitch.d/0408:f000:uMa=Yota
@@ -0,0 +1,4 @@
+# Yota Router (Quanta 1QDLZZZ0ST2)
+TargetVendor=0x0408
+TargetProduct=0xd009
+MessageContent="5553424312345678000000000000061b004600000000000000000000000000"
diff --git a/usb_modeswitch.d/04e8:689a b/usb_modeswitch.d/04e8:689a
index 52705b0..55977b9 100644
--- a/usb_modeswitch.d/04e8:689a
+++ b/usb_modeswitch.d/04e8:689a
@@ -2,4 +2,5 @@
TargetVendor=0x04e8
TargetProduct=0x6889
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
-#NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/057c:62ff b/usb_modeswitch.d/057c:62ff
index c5a54ed..a73effb 100644
--- a/usb_modeswitch.d/057c:62ff
+++ b/usb_modeswitch.d/057c:62ff
@@ -1,5 +1,7 @@
# AVM Fritz!Wlan USB Stick N v2
TargetVendor=0x057c
TargetProductList="8501,8502"
-StandardEject=1
-NoDriverLoading=1
+# Std.Eject not working
+MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000"
+
+
diff --git a/usb_modeswitch.d/057c:84ff b/usb_modeswitch.d/057c:84ff
index 884c34f..3da7f76 100644
--- a/usb_modeswitch.d/057c:84ff
+++ b/usb_modeswitch.d/057c:84ff
@@ -1,5 +1,7 @@
# AVM Fritz!Wlan USB Stick N
TargetVendor=0x057c
TargetProduct=0x8401
-StandardEject=1
-NoDriverLoading=1
+# Std.Eject not working
+MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000"
+
+
diff --git a/usb_modeswitch.d/05c6:1000:uMa=CELOT b/usb_modeswitch.d/05c6:1000:uMa=CELOT
index 53cb5a1..044da01 100644
--- a/usb_modeswitch.d/05c6:1000:uMa=CELOT
+++ b/usb_modeswitch.d/05c6:1000:uMa=CELOT
@@ -1,4 +1,4 @@
-# Celot K-300
+# Celot K-300 a.o.
TargetVendor=0x211f
-TargetProduct=0x6801
+TargetProductList="6801,6802"
StandardEject=1
diff --git a/usb_modeswitch.d/072f:100d b/usb_modeswitch.d/072f:100d
index 01e730a..95f7c45 100644
--- a/usb_modeswitch.d/072f:100d
+++ b/usb_modeswitch.d/072f:100d
@@ -3,4 +3,5 @@ TargetVendor=0x072f
TargetProduct=0x90cc
MessageEndpoint=0x02
MessageContent="01b0000000000000000000000000000000000000000000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/07d1:a800 b/usb_modeswitch.d/07d1:a800
index 7e3c241..2adc178 100644
--- a/usb_modeswitch.d/07d1:a800
+++ b/usb_modeswitch.d/07d1:a800
@@ -1,4 +1,4 @@
-# D-Link DWM-156 HSUPA 3.75G USB Modem
+# D-Link DWM-156 HSUPA 3.75G a.o.
TargetVendor=0x07d1
-TargetProduct=0x3e02
-StandardEject=1
+TargetProductList="3e01,3e02,7e0c"
+StandardEject=1
diff --git a/usb_modeswitch.d/0922:1001 b/usb_modeswitch.d/0922:1001
index 29e74eb..86886a2 100644
--- a/usb_modeswitch.d/0922:1001
+++ b/usb_modeswitch.d/0922:1001
@@ -4,4 +4,5 @@ TargetProduct=0x1002
MessageEndpoint=0x01
ResponseEndpoint=0x01
MessageContent="1b5a01"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0922:1003 b/usb_modeswitch.d/0922:1003
index c3b0fe7..82f42e3 100644
--- a/usb_modeswitch.d/0922:1003
+++ b/usb_modeswitch.d/0922:1003
@@ -2,4 +2,5 @@
TargetVendor= 0x0922
TargetProduct= 0x1004
MessageContent="1b5a01"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0922:1007 b/usb_modeswitch.d/0922:1007
index e8c0fd6..2b48fb0 100644
--- a/usb_modeswitch.d/0922:1007
+++ b/usb_modeswitch.d/0922:1007
@@ -2,4 +2,5 @@
TargetVendor= 0x0922
TargetProduct= 0x1008
MessageContent="1b5a01"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0ace:2011 b/usb_modeswitch.d/0ace:2011
index e92d85e..9b5a78f 100644
--- a/usb_modeswitch.d/0ace:2011
+++ b/usb_modeswitch.d/0ace:2011
@@ -1,3 +1,4 @@
# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 1)
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0ace:20ff b/usb_modeswitch.d/0ace:20ff
index 160cc29..55178af 100644
--- a/usb_modeswitch.d/0ace:20ff
+++ b/usb_modeswitch.d/0ace:20ff
@@ -1,3 +1,4 @@
# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 2)
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:4007 b/usb_modeswitch.d/0af0:4007
index 1bc40ec..d209494 100644
--- a/usb_modeswitch.d/0af0:4007
+++ b/usb_modeswitch.d/0af0:4007
@@ -2,4 +2,5 @@
TargetVendor=0x0af0
TargetProduct=0x4005
SierraMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6711 b/usb_modeswitch.d/0af0:6711
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6711
+++ b/usb_modeswitch.d/0af0:6711
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6731 b/usb_modeswitch.d/0af0:6731
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6731
+++ b/usb_modeswitch.d/0af0:6731
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6751 b/usb_modeswitch.d/0af0:6751
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6751
+++ b/usb_modeswitch.d/0af0:6751
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6771 b/usb_modeswitch.d/0af0:6771
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6771
+++ b/usb_modeswitch.d/0af0:6771
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6791 b/usb_modeswitch.d/0af0:6791
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6791
+++ b/usb_modeswitch.d/0af0:6791
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6811 b/usb_modeswitch.d/0af0:6811
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6811
+++ b/usb_modeswitch.d/0af0:6811
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6911 b/usb_modeswitch.d/0af0:6911
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6911
+++ b/usb_modeswitch.d/0af0:6911
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6951 b/usb_modeswitch.d/0af0:6951
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6951
+++ b/usb_modeswitch.d/0af0:6951
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:6971 b/usb_modeswitch.d/0af0:6971
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:6971
+++ b/usb_modeswitch.d/0af0:6971
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7011 b/usb_modeswitch.d/0af0:7011
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7011
+++ b/usb_modeswitch.d/0af0:7011
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7031 b/usb_modeswitch.d/0af0:7031
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7031
+++ b/usb_modeswitch.d/0af0:7031
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7051 b/usb_modeswitch.d/0af0:7051
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7051
+++ b/usb_modeswitch.d/0af0:7051
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7071 b/usb_modeswitch.d/0af0:7071
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7071
+++ b/usb_modeswitch.d/0af0:7071
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7111 b/usb_modeswitch.d/0af0:7111
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7111
+++ b/usb_modeswitch.d/0af0:7111
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7211 b/usb_modeswitch.d/0af0:7211
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7211
+++ b/usb_modeswitch.d/0af0:7211
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7251 b/usb_modeswitch.d/0af0:7251
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7251
+++ b/usb_modeswitch.d/0af0:7251
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7271 b/usb_modeswitch.d/0af0:7271
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7271
+++ b/usb_modeswitch.d/0af0:7271
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7301 b/usb_modeswitch.d/0af0:7301
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7301
+++ b/usb_modeswitch.d/0af0:7301
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7311 b/usb_modeswitch.d/0af0:7311
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7311
+++ b/usb_modeswitch.d/0af0:7311
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7361 b/usb_modeswitch.d/0af0:7361
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7361
+++ b/usb_modeswitch.d/0af0:7361
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7381 b/usb_modeswitch.d/0af0:7381
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7381
+++ b/usb_modeswitch.d/0af0:7381
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7401 b/usb_modeswitch.d/0af0:7401
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7401
+++ b/usb_modeswitch.d/0af0:7401
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7501 b/usb_modeswitch.d/0af0:7501
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7501
+++ b/usb_modeswitch.d/0af0:7501
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7601 b/usb_modeswitch.d/0af0:7601
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7601
+++ b/usb_modeswitch.d/0af0:7601
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7701 b/usb_modeswitch.d/0af0:7701
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7701
+++ b/usb_modeswitch.d/0af0:7701
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7706 b/usb_modeswitch.d/0af0:7706
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7706
+++ b/usb_modeswitch.d/0af0:7706
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7801 b/usb_modeswitch.d/0af0:7801
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7801
+++ b/usb_modeswitch.d/0af0:7801
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7901 b/usb_modeswitch.d/0af0:7901
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7901
+++ b/usb_modeswitch.d/0af0:7901
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7a01 b/usb_modeswitch.d/0af0:7a01
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:7a01
+++ b/usb_modeswitch.d/0af0:7a01
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:7a05 b/usb_modeswitch.d/0af0:7a05
index e8dd2c3..ffaea9c 100644
--- a/usb_modeswitch.d/0af0:7a05
+++ b/usb_modeswitch.d/0af0:7a05
@@ -1,4 +1,5 @@
# Option iCon 461
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8006 b/usb_modeswitch.d/0af0:8006
index 407b15e..ccdd7f5 100644
--- a/usb_modeswitch.d/0af0:8006
+++ b/usb_modeswitch.d/0af0:8006
@@ -2,4 +2,5 @@
TargetVendor=0x0af0
TargetProduct=0x9100
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8200 b/usb_modeswitch.d/0af0:8200
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8200
+++ b/usb_modeswitch.d/0af0:8200
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8201 b/usb_modeswitch.d/0af0:8201
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8201
+++ b/usb_modeswitch.d/0af0:8201
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8300 b/usb_modeswitch.d/0af0:8300
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8300
+++ b/usb_modeswitch.d/0af0:8300
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8302 b/usb_modeswitch.d/0af0:8302
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8302
+++ b/usb_modeswitch.d/0af0:8302
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8304 b/usb_modeswitch.d/0af0:8304
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8304
+++ b/usb_modeswitch.d/0af0:8304
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8400 b/usb_modeswitch.d/0af0:8400
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8400
+++ b/usb_modeswitch.d/0af0:8400
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8600 b/usb_modeswitch.d/0af0:8600
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8600
+++ b/usb_modeswitch.d/0af0:8600
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8700 b/usb_modeswitch.d/0af0:8700
index 32348eb..2d73b1c 100644
--- a/usb_modeswitch.d/0af0:8700
+++ b/usb_modeswitch.d/0af0:8700
@@ -1,4 +1,5 @@
# Option GI0643 (aka XYFI)
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8800 b/usb_modeswitch.d/0af0:8800
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8800
+++ b/usb_modeswitch.d/0af0:8800
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:8900 b/usb_modeswitch.d/0af0:8900
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:8900
+++ b/usb_modeswitch.d/0af0:8900
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:9000 b/usb_modeswitch.d/0af0:9000
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:9000
+++ b/usb_modeswitch.d/0af0:9000
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:9200 b/usb_modeswitch.d/0af0:9200
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:9200
+++ b/usb_modeswitch.d/0af0:9200
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:c031 b/usb_modeswitch.d/0af0:c031
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:c031
+++ b/usb_modeswitch.d/0af0:c031
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:c100 b/usb_modeswitch.d/0af0:c100
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:c100
+++ b/usb_modeswitch.d/0af0:c100
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d001 b/usb_modeswitch.d/0af0:d001
index 7675b3f..4f2b39e 100644
--- a/usb_modeswitch.d/0af0:d001
+++ b/usb_modeswitch.d/0af0:d001
@@ -2,4 +2,5 @@
TargetVendor=0x0af0
TargetProductList="d157,d255,d257"
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d013 b/usb_modeswitch.d/0af0:d013
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d013
+++ b/usb_modeswitch.d/0af0:d013
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d031 b/usb_modeswitch.d/0af0:d031
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d031
+++ b/usb_modeswitch.d/0af0:d031
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d033 b/usb_modeswitch.d/0af0:d033
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d033
+++ b/usb_modeswitch.d/0af0:d033
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d035 b/usb_modeswitch.d/0af0:d035
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d035
+++ b/usb_modeswitch.d/0af0:d035
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d055 b/usb_modeswitch.d/0af0:d055
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d055
+++ b/usb_modeswitch.d/0af0:d055
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d057 b/usb_modeswitch.d/0af0:d057
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d057
+++ b/usb_modeswitch.d/0af0:d057
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d058 b/usb_modeswitch.d/0af0:d058
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d058
+++ b/usb_modeswitch.d/0af0:d058
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d155 b/usb_modeswitch.d/0af0:d155
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d155
+++ b/usb_modeswitch.d/0af0:d155
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d157 b/usb_modeswitch.d/0af0:d157
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d157
+++ b/usb_modeswitch.d/0af0:d157
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d255 b/usb_modeswitch.d/0af0:d255
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d255
+++ b/usb_modeswitch.d/0af0:d255
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d257 b/usb_modeswitch.d/0af0:d257
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d257
+++ b/usb_modeswitch.d/0af0:d257
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0af0:d357 b/usb_modeswitch.d/0af0:d357
index 372efcb..1a21ca2 100644
--- a/usb_modeswitch.d/0af0:d357
+++ b/usb_modeswitch.d/0af0:d357
@@ -1,4 +1,5 @@
# Option HSO device
TargetClass=0xff
OptionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0cf3:20ff b/usb_modeswitch.d/0cf3:20ff
index a6157ca..3ce9058 100644
--- a/usb_modeswitch.d/0cf3:20ff
+++ b/usb_modeswitch.d/0cf3:20ff
@@ -2,4 +2,5 @@
TargetVendor=0x0cf3
TargetProduct=0x7010
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0df7:0800 b/usb_modeswitch.d/0df7:0800
index 306e8db..826501c 100644
--- a/usb_modeswitch.d/0df7:0800
+++ b/usb_modeswitch.d/0df7:0800
@@ -1,4 +1,5 @@
# Mobile Action ("Smart Cable")
TargetClass=0xff
MobileActionMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/0e8d:7109 b/usb_modeswitch.d/0e8d:7109
index 90361b1..a71557f 100644
--- a/usb_modeswitch.d/0e8d:7109
+++ b/usb_modeswitch.d/0e8d:7109
@@ -2,4 +2,5 @@
TargetVendor=0x0e8d
TargetProductList="7115,7118"
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1004:610c b/usb_modeswitch.d/1004:610c
new file mode 100644
index 0000000..dc25e1f
--- /dev/null
+++ b/usb_modeswitch.d/1004:610c
@@ -0,0 +1,4 @@
+# LG L-02A
+TargetVendor=0x1004
+TargetProduct=0x6109
+StandardEject=1
diff --git a/usb_modeswitch.d/1004:6190 b/usb_modeswitch.d/1004:6190
index 75ae4dc..4334c0a 100644
--- a/usb_modeswitch.d/1004:6190
+++ b/usb_modeswitch.d/1004:6190
@@ -1,4 +1,5 @@
# LG AD600
TargetVendor=0x1004
TargetProduct=0x61a7
+WaitBefore=10
StandardEject=1
diff --git a/usb_modeswitch.d/106c:3b14 b/usb_modeswitch.d/106c:3b14
index 4688fd8..eb351af 100644
--- a/usb_modeswitch.d/106c:3b14
+++ b/usb_modeswitch.d/106c:3b14
@@ -2,4 +2,5 @@
TargetVendor=0x106c
TargetProduct=0x3721
MessageContent="555342431234567824000000800008ff024445564348470000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/10a9:606f b/usb_modeswitch.d/10a9:606f
index 5ffb0a4..45dda80 100644
--- a/usb_modeswitch.d/10a9:606f
+++ b/usb_modeswitch.d/10a9:606f
@@ -3,4 +3,5 @@ TargetVendor=0x10a9
TargetProductList="6064,6074"
# Use 1 for automatic choice, 2 for RNDIS, 4 for QMI
PantechMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:0fff b/usb_modeswitch.d/1199:0fff
index 5145187..88c8882 100644
--- a/usb_modeswitch.d/1199:0fff
+++ b/usb_modeswitch.d/1199:0fff
@@ -2,4 +2,5 @@
TargetVendor= 0x1199
TargetProductList="0017,0018,0019,0020,0021,0022,0023,0024,0025,0026,0027,0028,0029,0112,0120,0218,0220,0224,0301,6802,6803,6804,6805,6808,6809,6812,6813,6815,6816,6820,6821,6822,6832,6833,6834,6835,6838,6839,683a,683b,683c,683d,683e,6850,6851,6852,6853,6855,6856,6859,685a,6880,6890,6891,6892,6893,68a2,68a3,68aa,9011,9012,9051"
SierraMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9011 b/usb_modeswitch.d/1199:9011
index af4718e..e1ac1fe 100644
--- a/usb_modeswitch.d/1199:9011
+++ b/usb_modeswitch.d/1199:9011
@@ -1,3 +1,4 @@
# Sierra MC8305
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9013 b/usb_modeswitch.d/1199:9013
index b8d7de4..d60fac0 100644
--- a/usb_modeswitch.d/1199:9013
+++ b/usb_modeswitch.d/1199:9013
@@ -1,3 +1,4 @@
# Sierra MC8355
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9017 b/usb_modeswitch.d/1199:9017
index d5f78ad..d33a899 100644
--- a/usb_modeswitch.d/1199:9017
+++ b/usb_modeswitch.d/1199:9017
@@ -1,3 +1,4 @@
# Sierra MC8355 Variant
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:901b b/usb_modeswitch.d/1199:901b
index a7549d7..f291e83 100644
--- a/usb_modeswitch.d/1199:901b
+++ b/usb_modeswitch.d/1199:901b
@@ -1,3 +1,4 @@
# Sierra MC7770
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:901c b/usb_modeswitch.d/1199:901c
index 8726dc4..3a13e2f 100644
--- a/usb_modeswitch.d/1199:901c
+++ b/usb_modeswitch.d/1199:901c
@@ -1,3 +1,4 @@
# Sierra EM7700
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:901f b/usb_modeswitch.d/1199:901f
index 83b8b3d..ca03f4c 100644
--- a/usb_modeswitch.d/1199:901f
+++ b/usb_modeswitch.d/1199:901f
@@ -1,3 +1,4 @@
# Sierra EM7355
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9041 b/usb_modeswitch.d/1199:9041
index 74534e3..2389f40 100644
--- a/usb_modeswitch.d/1199:9041
+++ b/usb_modeswitch.d/1199:9041
@@ -1,3 +1,4 @@
# Sierra EM7305
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9051 b/usb_modeswitch.d/1199:9051
index 4e55ee8..0e10ef2 100644
--- a/usb_modeswitch.d/1199:9051
+++ b/usb_modeswitch.d/1199:9051
@@ -1,3 +1,4 @@
# Sierra AC340U
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9053 b/usb_modeswitch.d/1199:9053
index ec0ddb2..debd945 100644
--- a/usb_modeswitch.d/1199:9053
+++ b/usb_modeswitch.d/1199:9053
@@ -1,3 +1,4 @@
# Sierra AC770S
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1199:9063 b/usb_modeswitch.d/1199:9063
index 74534e3..2389f40 100644
--- a/usb_modeswitch.d/1199:9063
+++ b/usb_modeswitch.d/1199:9063
@@ -1,3 +1,4 @@
# Sierra EM7305
Configuration=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1030 b/usb_modeswitch.d/12d1:1030
index fd7461e..d5c73d7 100644
--- a/usb_modeswitch.d/12d1:1030
+++ b/usb_modeswitch.d/12d1:1030
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x1034
MessageContent="55534243123456780600000080010a11060000000000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1031 b/usb_modeswitch.d/12d1:1031
index 1a79b83..cc262da 100644
--- a/usb_modeswitch.d/12d1:1031
+++ b/usb_modeswitch.d/12d1:1031
@@ -3,4 +3,5 @@ TargetVendor=0x12d1
TargetProduct=0x1035
MessageContent="55534243123456780600000080010a11060000000000000000000000000000"
# for Android SDK
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1527 b/usb_modeswitch.d/12d1:1527
new file mode 100644
index 0000000..84fe445
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1527
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R206 Router
+TargetVendor=0x12d1
+TargetProduct=0x1594
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1570 b/usb_modeswitch.d/12d1:1570
new file mode 100644
index 0000000..5b8ac78
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1570
@@ -0,0 +1,2 @@
+# Huawei ME906E
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:1571 b/usb_modeswitch.d/12d1:1571
new file mode 100644
index 0000000..2b2eb6b
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1571
@@ -0,0 +1,2 @@
+# Huawei EM820W
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:1572 b/usb_modeswitch.d/12d1:1572
new file mode 100644
index 0000000..20b6e2e
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1572
@@ -0,0 +1,2 @@
+# Huawei MU733
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:1580 b/usb_modeswitch.d/12d1:1580
new file mode 100644
index 0000000..9b27048
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1580
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R210 Router
+TargetVendor=0x12d1
+TargetProduct=0x1585
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1581 b/usb_modeswitch.d/12d1:1581
new file mode 100644
index 0000000..507ab0e
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1581
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R208 Router
+TargetVendor=0x12d1
+TargetProduct=0x1587
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:15bb b/usb_modeswitch.d/12d1:15bb
new file mode 100644
index 0000000..d6b1add
--- /dev/null
+++ b/usb_modeswitch.d/12d1:15bb
@@ -0,0 +1,2 @@
+# Huawei ME936
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:15c0 b/usb_modeswitch.d/12d1:15c0
new file mode 100644
index 0000000..c0b7769
--- /dev/null
+++ b/usb_modeswitch.d/12d1:15c0
@@ -0,0 +1,2 @@
+# Huawei ME906C
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:15f0 b/usb_modeswitch.d/12d1:15f0
new file mode 100644
index 0000000..c98abfd
--- /dev/null
+++ b/usb_modeswitch.d/12d1:15f0
@@ -0,0 +1,2 @@
+# Huawei MU736
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:1c0b b/usb_modeswitch.d/12d1:1c0b
index 9b96b76..c6bb69f 100644
--- a/usb_modeswitch.d/12d1:1c0b
+++ b/usb_modeswitch.d/12d1:1c0b
@@ -1,4 +1,4 @@
# Huawei E173s
TargetVendor=0x12d1
-TargetProductList="1c05,1c07,1c08,1c10"
+TargetProductList="1c05,1c06,1c07,1c08,1c10"
HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1c1b b/usb_modeswitch.d/12d1:1c1b
index 579e8ef..3773123 100644
--- a/usb_modeswitch.d/12d1:1c1b
+++ b/usb_modeswitch.d/12d1:1c1b
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x1506
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1c25 b/usb_modeswitch.d/12d1:1c25
new file mode 100644
index 0000000..fa88d4d
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1c25
@@ -0,0 +1,2 @@
+# Huawei MU709s-2 Module
+Configuration=0
diff --git a/usb_modeswitch.d/12d1:1f01 b/usb_modeswitch.d/12d1:1f01
index 3dc34dd..68cea57 100644
--- a/usb_modeswitch.d/12d1:1f01
+++ b/usb_modeswitch.d/12d1:1f01
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProductList="14db,14dc"
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1f02 b/usb_modeswitch.d/12d1:1f02
index c6c2165..32a87b0 100644
--- a/usb_modeswitch.d/12d1:1f02
+++ b/usb_modeswitch.d/12d1:1f02
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x14dc
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1f03 b/usb_modeswitch.d/12d1:1f03
index 6a577ec..a9db535 100644
--- a/usb_modeswitch.d/12d1:1f03
+++ b/usb_modeswitch.d/12d1:1f03
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x14db
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1f04 b/usb_modeswitch.d/12d1:1f04
new file mode 100644
index 0000000..aad96a9
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1f04
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R206_MR Router
+TargetVendor=0x12d1
+TargetProduct=0x15bc
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1f05 b/usb_modeswitch.d/12d1:1f05
new file mode 100644
index 0000000..cbde895
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1f05
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R207 Router
+TargetVendor=0x12d1
+TargetProduct=0x15bd
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1f06 b/usb_modeswitch.d/12d1:1f06
new file mode 100644
index 0000000..844e858
--- /dev/null
+++ b/usb_modeswitch.d/12d1:1f06
@@ -0,0 +1,4 @@
+# Vodafone / Huawei R215_MR Router
+TargetVendor=0x12d1
+TargetProduct=0x15c7
+HuaweiNewMode=1
diff --git a/usb_modeswitch.d/12d1:1f07 b/usb_modeswitch.d/12d1:1f07
index 62e7e4b..0a023f7 100644
--- a/usb_modeswitch.d/12d1:1f07
+++ b/usb_modeswitch.d/12d1:1f07
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x15bf
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/12d1:1f09 b/usb_modeswitch.d/12d1:1f09
index 5973339..6a99608 100644
--- a/usb_modeswitch.d/12d1:1f09
+++ b/usb_modeswitch.d/12d1:1f09
@@ -2,4 +2,5 @@
TargetVendor=0x12d1
TargetProduct=0x1c50
HuaweiNewMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1307:1169 b/usb_modeswitch.d/1307:1169
index 1b50109..823c9ec 100644
--- a/usb_modeswitch.d/1307:1169
+++ b/usb_modeswitch.d/1307:1169
@@ -2,4 +2,5 @@
TargetVendor=0x13b1
TargetProduct=0x0031
CiscoMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/148f:2578 b/usb_modeswitch.d/148f:2578
index 2067240..7fd5163 100644
--- a/usb_modeswitch.d/148f:2578
+++ b/usb_modeswitch.d/148f:2578
@@ -2,4 +2,5 @@
TargetVendor=0x148f
TargetProduct=0x9021
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1614:0800 b/usb_modeswitch.d/1614:0800
index 9f41bda..9dd94a0 100644
--- a/usb_modeswitch.d/1614:0800
+++ b/usb_modeswitch.d/1614:0800
@@ -1,4 +1,5 @@
# Amoi H-01
TargetClass=0xff
MessageContent="55534243123456780000000000000601000000000000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1614:0802 b/usb_modeswitch.d/1614:0802
index 5c29057..67d5946 100644
--- a/usb_modeswitch.d/1614:0802
+++ b/usb_modeswitch.d/1614:0802
@@ -1,4 +1,5 @@
# Amoi H-02
TargetClass=0xff
MessageContent="55534243123456780000000000000601000000000000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/16d5:f000 b/usb_modeswitch.d/16d5:f000
new file mode 100644
index 0000000..b140d0f
--- /dev/null
+++ b/usb_modeswitch.d/16d5:f000
@@ -0,0 +1,4 @@
+# Anydata ADU-890WH
+TargetVendor=0x16d5
+TargetProduct=0x6603
+StandardEject=1
diff --git a/usb_modeswitch.d/1726:1900 b/usb_modeswitch.d/1726:1900
new file mode 100644
index 0000000..fd8acfd
--- /dev/null
+++ b/usb_modeswitch.d/1726:1900
@@ -0,0 +1,4 @@
+# Axesstel MV210
+TargetVendor=0x1726
+TargetProduct=0x1000
+StandardEject=1
diff --git a/usb_modeswitch.d/1782:0023 b/usb_modeswitch.d/1782:0023
new file mode 100644
index 0000000..e5f0e4a
--- /dev/null
+++ b/usb_modeswitch.d/1782:0023
@@ -0,0 +1,2 @@
+# Spreadtrum SC7702 (Variant)
+Configuration=2
diff --git a/usb_modeswitch.d/198f:bccd b/usb_modeswitch.d/198f:bccd
index 2e45fdf..20e6c85 100644
--- a/usb_modeswitch.d/198f:bccd
+++ b/usb_modeswitch.d/198f:bccd
@@ -2,4 +2,5 @@
TargetVendor=0x198f
TargetProduct=0x0220
MessageContent="55534243f0298d8124000000800006bc626563240000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:1001 b/usb_modeswitch.d/19d2:1001
index f5c16a5..2d66c17 100644
--- a/usb_modeswitch.d/19d2:1001
+++ b/usb_modeswitch.d/19d2:1001
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProductList="1002,1003"
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:1013 b/usb_modeswitch.d/19d2:1013
index 4e6aaf6..58f33cb 100644
--- a/usb_modeswitch.d/19d2:1013
+++ b/usb_modeswitch.d/19d2:1013
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProduct=0x1015
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:1019 b/usb_modeswitch.d/19d2:1019
new file mode 100644
index 0000000..ef133ca
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1019
@@ -0,0 +1,4 @@
+# Vodafone / ZTE R203 Router
+TargetVendor=0x19d2
+TargetProduct=0x1021
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1020 b/usb_modeswitch.d/19d2:1020
new file mode 100644
index 0000000..ef133ca
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1020
@@ -0,0 +1,4 @@
+# Vodafone / ZTE R203 Router
+TargetVendor=0x19d2
+TargetProduct=0x1021
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1022 b/usb_modeswitch.d/19d2:1022
new file mode 100644
index 0000000..de52f8c
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1022
@@ -0,0 +1,4 @@
+# Vodafone / ZTE K4201-z
+TargetVendor=0x19d2
+TargetProductList="1023,1024"
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1026 b/usb_modeswitch.d/19d2:1026
new file mode 100644
index 0000000..a6762cc
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1026
@@ -0,0 +1,4 @@
+# Vodafone / ZTE R212 Router
+TargetVendor=0x19d2
+TargetProductList="1027,1028,1029"
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1034 b/usb_modeswitch.d/19d2:1034
new file mode 100644
index 0000000..03372d1
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1034
@@ -0,0 +1,4 @@
+# Vodafone / ZTE R206-z Router
+TargetVendor=0x19d2
+TargetProductList="1035,1036,1037"
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1042 b/usb_modeswitch.d/19d2:1042
new file mode 100644
index 0000000..878b3fc
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1042
@@ -0,0 +1,4 @@
+# Vodafone / ZTE R209-z Router
+TargetVendor=0x19d2
+TargetProduct=0x1043
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1046 b/usb_modeswitch.d/19d2:1046
new file mode 100644
index 0000000..ebf0d0e
--- /dev/null
+++ b/usb_modeswitch.d/19d2:1046
@@ -0,0 +1,4 @@
+# ZTE MF730
+TargetVendor=0x19d2
+TargetProduct=0x1047
+StandardEject=1
diff --git a/usb_modeswitch.d/19d2:1171 b/usb_modeswitch.d/19d2:1171
index 170ed26..4c722c4 100644
--- a/usb_modeswitch.d/19d2:1171
+++ b/usb_modeswitch.d/19d2:1171
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProduct=0x1173
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:1175 b/usb_modeswitch.d/19d2:1175
index a33f73a..61ef605 100644
--- a/usb_modeswitch.d/19d2:1175
+++ b/usb_modeswitch.d/19d2:1175
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProduct=0x1177
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:1179 b/usb_modeswitch.d/19d2:1179
index ad8087d..086ade9 100644
--- a/usb_modeswitch.d/19d2:1179
+++ b/usb_modeswitch.d/19d2:1179
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProduct=0x1181
StandardEject=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/19d2:bccd b/usb_modeswitch.d/19d2:bccd
index 2f449aa..dd47bee 100644
--- a/usb_modeswitch.d/19d2:bccd
+++ b/usb_modeswitch.d/19d2:bccd
@@ -2,4 +2,5 @@
TargetVendor=0x19d2
TargetProduct=0x0172
MessageContent="555342431234567824000000800006bc626563240000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1c9e:6000 b/usb_modeswitch.d/1c9e:6000
index 8f81565..77cb169 100644
--- a/usb_modeswitch.d/1c9e:6000
+++ b/usb_modeswitch.d/1c9e:6000
@@ -1,4 +1,5 @@
# TU930, IVIO IV-2010u
TargetClass=0xff
MessageContent="55534243123456780000000000000601000000000000000000000000000000"
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1c9e:9e08 b/usb_modeswitch.d/1c9e:9e08
index 6055b2c..e90fd46 100644
--- a/usb_modeswitch.d/1c9e:9e08
+++ b/usb_modeswitch.d/1c9e:9e08
@@ -2,4 +2,5 @@
TargetVendor=0x1c9e
TargetProduct=0x9e18
SierraMode=1
-NoDriverLoading=1
+
+
diff --git a/usb_modeswitch.d/1c9e:f010 b/usb_modeswitch.d/1c9e:f010
new file mode 100644
index 0000000..d1d007b
--- /dev/null
+++ b/usb_modeswitch.d/1c9e:f010
@@ -0,0 +1,4 @@
+# Micromax MMX400R / 4G Systems XSBOXGO
+TargetVendor=0x1c9e
+TargetProduct=0xf101
+MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
diff --git a/usb_modeswitch.d/2001:7600 b/usb_modeswitch.d/2001:7600
new file mode 100644
index 0000000..b1fe1f7
--- /dev/null
+++ b/usb_modeswitch.d/2001:7600
@@ -0,0 +1,2 @@
+# D-Link DWM-157 C1
+Configuration=2
diff --git a/usb_modeswitch.d/2015:0001 b/usb_modeswitch.d/2015:0001
new file mode 100644
index 0000000..02a559f
--- /dev/null
+++ b/usb_modeswitch.d/2015:0001
@@ -0,0 +1,3 @@
+# Venus VT-18
+TargetClass=0xff
+StandardEject=1
diff --git a/usb_modeswitch.d/2020:f00e b/usb_modeswitch.d/2020:f00e
index 3eeccce..ec38550 100644
--- a/usb_modeswitch.d/2020:f00e
+++ b/usb_modeswitch.d/2020:f00e
@@ -1,5 +1,5 @@
-# SpeedUp SU-8000
+# SpeedUp SU-8000 and others
TargetVendor=0x2020
-TargetProduct=0x1008
+TargetProductList="1005,1008"
StandardEject=1
WaitBefore=2
diff --git a/usb_modeswitch.d/2077:f000 b/usb_modeswitch.d/2077:f000
index 7dbe529..e65c97b 100644
--- a/usb_modeswitch.d/2077:f000
+++ b/usb_modeswitch.d/2077:f000
@@ -1,5 +1,5 @@
-# Telenet 3G dongle (T&W WU160) and others
+# Telenet 3G dongle (T&W WU160), Netgear AC327U and others
TargetVendor=0x2077
-TargetProductList="9000,9062,a000"
+TargetProductList="9000,9062,a000,a003"
StandardEject=1
MessageContent="55534243123456700000000000000616aa0000000000000000000000000000"
diff --git a/usb_modeswitch.d/22f4:0021 b/usb_modeswitch.d/22f4:0021
index 1e033d5..7980f66 100644
--- a/usb_modeswitch.d/22f4:0021
+++ b/usb_modeswitch.d/22f4:0021
@@ -1,3 +1,3 @@
-# Tata Photon+
+# Tata Photon+, Olive VME102
TargetClass=0xff
StandardEject=1
diff --git a/usb_modeswitch.d/230d:000c b/usb_modeswitch.d/230d:000c
new file mode 100644
index 0000000..e8dd4bb
--- /dev/null
+++ b/usb_modeswitch.d/230d:000c
@@ -0,0 +1,2 @@
+# Zoom 3G
+Configuration=3
diff --git a/usb_modeswitch.d/6000:1000 b/usb_modeswitch.d/6000:1000
new file mode 100644
index 0000000..e9d346f
--- /dev/null
+++ b/usb_modeswitch.d/6000:1000
@@ -0,0 +1,4 @@
+# BlueLink BL-EV08C
+TargetVendor=0x05c6
+TargetProduct=0x6000
+MessageContent="5553424312345678c000000080000671010000000000000000000000000000"