diff options
author | Didier Raboud <odyx@debian.org> | 2014-06-09 11:06:27 +0200 |
---|---|---|
committer | Didier Raboud <odyx@debian.org> | 2014-06-09 11:06:27 +0200 |
commit | 95010ef64cd7b2b843285e250b09e6296455c77d (patch) | |
tree | 9a71ee9a4a0a16eb65bc8806f48fec69267d5cd8 | |
parent | eae9ce74c8b3a58b172e87cd251fe3ad97b952f2 (diff) |
Imported Upstream version 20140529
90 files changed, 447 insertions, 237 deletions
diff --git a/40-usb_modeswitch.rules b/40-usb_modeswitch.rules index d24a77d..e122ce9 100644 --- a/40-usb_modeswitch.rules +++ b/40-usb_modeswitch.rules @@ -1,6 +1,6 @@ -# Part of usb-modeswitch-data, version 20140327 +# Part of usb-modeswitch-data, version 20140529 # -# Works with usb_modeswitch versions >= 2.1.0 (introduction of StandardEject) +# Works with usb_modeswitch versions >= 2.2.0 (introduction of HuaweiNewMode) # ACTION!="add|change", GOTO="modeswitch_rules_end" @@ -20,6 +20,8 @@ ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceNumber}=="00", ATTRS{bNumConfigurati ACTION!="add", GOTO="modeswitch_rules_end" +# Generic entry for all Huawei devices +ATTRS{idVendor}=="12d1", 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'" @@ -36,6 +38,9 @@ ATTR{idVendor}=="0408", ATTR{idProduct}=="ea43", RUN+="usb_modeswitch '%b/%k'" # Yota Router (Quanta 1QDLZZZ0ST2) ATTR{idVendor}=="0408", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" +# SpeedUp SU-8500U +ATTR{idVendor}=="0408", ATTR{idProduct}=="f001", RUN+="usb_modeswitch '%b/%k'" + # Nokia CS-10 ATTR{idVendor}=="0421", ATTR{idProduct}=="060c", RUN+="usb_modeswitch '%b/%k'" @@ -78,6 +83,12 @@ ATTR{idVendor}=="04bb", ATTR{idProduct}=="bccd", RUN+="usb_modeswitch '%b/%k'" # Alcatel-Lucent T930S ATTR{idVendor}=="04cc", ATTR{idProduct}=="225c", RUN+="usb_modeswitch '%b/%k'" +# Nexperia TM TD-SCDMA +ATTR{idVendor}=="04cc", ATTR{idProduct}=="226e", RUN+="usb_modeswitch '%b/%k'" + +# Nexperia TM TD-SCDMA (Variant) +ATTR{idVendor}=="04cc", ATTR{idProduct}=="226f", RUN+="usb_modeswitch '%b/%k'" + # Samsung GT-B1110 ATTR{idVendor}=="04e8", ATTR{idProduct}=="680c", RUN+="usb_modeswitch '%b/%k'" @@ -87,6 +98,9 @@ ATTR{idVendor}=="04e8", ATTR{idProduct}=="689a", RUN+="usb_modeswitch '%b/%k'" # Samsung U209 ATTR{idVendor}=="04e8", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" +# Sunplus Techn. SU-3200U +ATTR{idVendor}=="04fc", ATTR{idProduct}=="2140", RUN+="usb_modeswitch '%b/%k'" + # AVM Fritz!Wlan USB Stick N v2 ATTR{idVendor}=="057c", ATTR{idProduct}=="62ff", RUN+="usb_modeswitch '%b/%k'" @@ -96,7 +110,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'" -# Prolink P2000 CDMA, Samsung SGH-Z810, Older Option devices, Vertex Wireless 100 Series, AnyDATA devices, Bless UC165, Option GlobeTrotter GX0201, Celot K-300, Celot CT-680, StrongRising device +# Prolink P2000 CDMA, Samsung SGH-Z810, older Option devices, Vertex Wireless 100 Series, AnyDATA devices, Bless UC165, Option GlobeTrotter GX0201, Celot K-300, Celot CT-680, StrongRising device ATTR{idVendor}=="05c6", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'" # HSDPA USB modem from dealextreme @@ -123,7 +137,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 USB Modem ATTR{idVendor}=="07d1", ATTR{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'" # D-Link DWM-156 HSUPA 3.75G USB Modem @@ -324,6 +338,18 @@ ATTR{idVendor}=="0b3c", ATTR{idProduct}=="c700", RUN+="usb_modeswitch '%b/%k'" # Olivetti Olicard 145, 155 ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" +# Olivetti Olicard 500 +ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f00c", RUN+="usb_modeswitch '%b/%k'" + +# Olivetti Olicard 160 +ATTR{idVendor}=="0b3c", ATTR{idProduct}=="f017", RUN+="usb_modeswitch '%b/%k'" + +# Ericsson F5521gw +ATTR{idVendor}=="0bdb", ATTR{idProduct}=="190d", RUN+="usb_modeswitch '%b/%k'" + +# Ericsson F5521gw (Variant) +ATTR{idVendor}=="0bdb", ATTR{idProduct}=="1910", RUN+="usb_modeswitch '%b/%k'" + # Atheros Wireless / Netgear WNDA3200 ATTR{idVendor}=="0cf3", ATTR{idProduct}=="20ff", RUN+="usb_modeswitch '%b/%k'" @@ -336,7 +362,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 MT6276M +# MediaTek MT6276M and others ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'" # MediaTek Wimax USB Card @@ -348,6 +374,9 @@ ATTR{idVendor}=="0fca", ATTR{idProduct}=="8020", RUN+="usb_modeswitch '%b/%k'" # Sony Ericsson MD300 ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0cf", RUN+="usb_modeswitch '%b/%k'" +# Sony Ericsson EC400 +ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0df", RUN+="usb_modeswitch '%b/%k'" + # Sony Ericsson MD400 ATTR{idVendor}=="0fce", ATTR{idProduct}=="d0e1", RUN+="usb_modeswitch '%b/%k'" @@ -426,156 +455,6 @@ ATTR{idVendor}=="1199", ATTR{idProduct}=="0fff", RUN+="usb_modeswitch '%b/%k'" # Digicom 8E4455 (and all Pirelli devices - EXPERIMENTAL) ATTR{idVendor}=="1266", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'" -# Huawei E169 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E220, E230, E270, E870 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1003", RUN+="usb_modeswitch '%b/%k'" - -# Huawei V725 Phone (aka Vodafone 725) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1009", RUN+="usb_modeswitch '%b/%k'" - -# Huawei U7510 / U7517 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="101e", RUN+="usb_modeswitch '%b/%k'" - -# Huawei U8220, T-Mobile Pulse (Android smartphone) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1030", RUN+="usb_modeswitch '%b/%k'" - -# Huawei U8110 / Joy, Vodafone 845 (Android smartphone), for Android SDK -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1031", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E180 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1414", RUN+="usb_modeswitch '%b/%k'" - -# Huawei, newer modems -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E352 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1449", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone (Huawei) K3806 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14ad", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E173 (Viettel 3G) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14b5", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone (Huawei) K4511 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14b7", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E173u-2, E177 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14ba", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone (Huawei) K4605 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c1", RUN+="usb_modeswitch '%b/%k'" - -# K5005 Vodafone/Huawei -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c3", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone/Huawei K3771 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c4", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone (Huawei) K4510 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14c5", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei K3770 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14d1", RUN+="usb_modeswitch '%b/%k'" - -# T-Mobile NL (Huawei E352) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="14fe", RUN+="usb_modeswitch '%b/%k'" - -# Huawei EC156, Huawei E372u-8 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E392u-12, E3131 (Variant) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="151a", RUN+="usb_modeswitch '%b/%k'" - -# Huawei K3765 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1520", RUN+="usb_modeswitch '%b/%k'" - -# Huawei K4505 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1521", RUN+="usb_modeswitch '%b/%k'" - -# Huawei R201 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1523", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei K3772 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1526", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E1553 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1553", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E173 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1557", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E171 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="155b", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E3276s-151 and E3251 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="156a", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E3276-s150 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="157c", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E3331 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="157d", RUN+="usb_modeswitch '%b/%k'" - -# Huawei U2800 Phone -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1805", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E173s -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c0b", RUN+="usb_modeswitch '%b/%k'" - -# Huawei GP02 (E587 Variant) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c1b", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E173 (Moviestar) -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1c24", RUN+="usb_modeswitch '%b/%k'" - -# Huawei ET302 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1d50", RUN+="usb_modeswitch '%b/%k'" - -# Huawei ET8282, Huawei ET127 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1da1", RUN+="usb_modeswitch '%b/%k'" - -# Huawei E353 (3.se) and others -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f01", RUN+="usb_modeswitch '%b/%k'" - -# KDDI (Huawei) HWD12 LTE -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f03", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei K3773 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f11", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone K4305 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f15", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone K5150 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f16", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone K4201 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f17", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone K4202 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f18", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone K4606 -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f19", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei Kxxxx -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1b", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei Kxxxx -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1c", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei Kxxxx -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1d", RUN+="usb_modeswitch '%b/%k'" - -# Vodafone / Huawei Kxxxx -ATTR{idVendor}=="12d1", ATTR{idProduct}=="1f1e", RUN+="usb_modeswitch '%b/%k'" - -# Huawei BM358 WiMAX -ATTR{idVendor}=="12d1", ATTR{idProduct}=="380b", RUN+="usb_modeswitch '%b/%k'" - # Cisco AM10 "Valet Connector" ATTR{idVendor}=="1307", ATTR{idProduct}=="1169", RUN+="usb_modeswitch '%b/%k'" @@ -597,6 +476,9 @@ ATTR{idVendor}=="1410", ATTR{idProduct}=="5031", RUN+="usb_modeswitch '%b/%k'" # Novatel Generic MiFi 2352 / Vodafone MiFi 2352 ATTR{idVendor}=="1410", ATTR{idProduct}=="5041", RUN+="usb_modeswitch '%b/%k'" +# Novatel MiFi 4082 +ATTR{idVendor}=="1410", ATTR{idProduct}=="5055", RUN+="usb_modeswitch '%b/%k'" + # Novatel Wireless MC545 HSPA, U679 LTE ATTR{idVendor}=="1410", ATTR{idProduct}=="5059", RUN+="usb_modeswitch '%b/%k'" @@ -748,6 +630,9 @@ ATTR{idVendor}=="19d2", ATTR{idProduct}=="1225", RUN+="usb_modeswitch '%b/%k'" ATTR{idVendor}=="19d2", ATTR{idProduct}=="1227", RUN+="usb_modeswitch '%b/%k'" # ZTE MFxxx +ATTR{idVendor}=="19d2", ATTR{idProduct}=="1232", RUN+="usb_modeswitch '%b/%k'" + +# ZTE MFxxx ATTR{idVendor}=="19d2", ATTR{idProduct}=="1233", RUN+="usb_modeswitch '%b/%k'" # ZTE MF825A @@ -804,7 +689,7 @@ ATTR{idVendor}=="1a8d", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'" # BandRich BandLuxe C339 ATTR{idVendor}=="1a8d", ATTR{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'" -# Hummer DTM5731, Aircard 901 +# Hummer DTM5731, Aircard 901 ATTR{idVendor}=="1ab7", ATTR{idProduct}=="5700", RUN+="usb_modeswitch '%b/%k'" # EpiValley SEC-7089 (featured by Alegro and Starcomms / iZAP) @@ -831,25 +716,34 @@ ATTR{idVendor}=="1bbb", ATTR{idProduct}=="f052", RUN+="usb_modeswitch '%b/%k'" # Alcatel One Touch X020 ATTR{idVendor}=="1c9e", ATTR{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'" -# Vibe 3G Modem +# Vibe 3G Modem ATTR{idVendor}=="1c9e", ATTR{idProduct}=="6061", RUN+="usb_modeswitch '%b/%k'" +# Emobile D21LC (Variant) +ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9101", RUN+="usb_modeswitch '%b/%k'" + # MyWave SW006 Sport Phone/Modem Combination ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9200", RUN+="usb_modeswitch '%b/%k'" +# Emobile D21LC +ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9401", RUN+="usb_modeswitch '%b/%k'" + # Longcheer SU9800 ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9800", RUN+="usb_modeswitch '%b/%k'" # Telewell TW-3G HSPA+, FS01BU 3G ATTR{idVendor}=="1c9e", ATTR{idProduct}=="98ff", RUN+="usb_modeswitch '%b/%k'" +# Prolink PCM100 +ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9d00", RUN+="usb_modeswitch '%b/%k'" + # BSNL Capitel ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e00", RUN+="usb_modeswitch '%b/%k'" # Explay Slim ATTR{idVendor}=="1c9e", ATTR{idProduct}=="9e08", RUN+="usb_modeswitch '%b/%k'" -# MobiData MBD-200HU and others +# MobiData MBD-200HU and others, Longcheer/Longsoon (aka Omega Technology) devices ATTR{idVendor}=="1c9e", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" # Qisda H21 Flying Beetle @@ -927,19 +821,22 @@ ATTR{idVendor}=="2001", ATTR{idProduct}=="a80b", RUN+="usb_modeswitch '%b/%k'" # Haier CE682 (EVDO) ATTR{idVendor}=="201e", ATTR{idProduct}=="1023", RUN+="usb_modeswitch '%b/%k'" -# Haier CE 100 +# Haier CE 100 ATTR{idVendor}=="201e", ATTR{idProduct}=="2009", RUN+="usb_modeswitch '%b/%k'" # Mediatek MT6229 ATTR{idVendor}=="2020", ATTR{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'" -# SpeedUp SU-8000U +# SpeedUp SU-8000 ATTR{idVendor}=="2020", ATTR{idProduct}=="f00e", RUN+="usb_modeswitch '%b/%k'" +# SpeedUp SU-8000U +ATTR{idVendor}=="2020", ATTR{idProduct}=="f00f", RUN+="usb_modeswitch '%b/%k'" + # Changhong CH690 ATTR{idVendor}=="2077", ATTR{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'" -# Telenet 3G dongle (T&W WU160) +# Telenet 3G dongle (T&W WU160) and others ATTR{idVendor}=="2077", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" # StrongRising (China Telcom), Air FlexiNet @@ -972,6 +869,9 @@ ATTR{idVendor}=="2357", ATTR{idProduct}=="0200", RUN+="usb_modeswitch '%b/%k'" # TP-Link MA260 ATTR{idVendor}=="2357", ATTR{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'" +# Titan 3.5G +ATTR{idVendor}=="23a2", ATTR{idProduct}=="1010", 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'" @@ -1,8 +1,20 @@ +20140529: + ATTENTION: requires usb-modeswitch version >= 2.2.0 due to new para- + meter HuaweiNewMode (further reducing config file size); + Added devices: Nexperia TM TD-SCDMA, Sunplus SU-3200U, Olivetti + Olicard 160 and Olicard 500, Ericsson F5521gw, Sony Ericsson EC400, + Huawei EC168, Huawei/Vod. W5101 Router, Huawei E3531, Huawei E3131 + (Variant), Novatel MiFi 4082, Emobile D12LC, Emobile D21LC, Prolink + PCM100, Titan 3.5G, several nameless ZTE modems, several minor device + configuration corrections (thanks once again to Lars Melin for the + tedious device research and compilation!); + Substantial change in handling of Huawei devices - generic udev rule and + additional generic configuration files (as fallback for unknown models + or as OS-specific catch-all); see README for details 20140327: Plenty of Huawei and ZTE devices added, several target IDs added (thanks to Lars Melin for the compilation); fix for Option GI1515 (0af0:d001) to - be used with usb-modeswitch >= 2.1.1; unified switching message for - nearly all Huawei devices + be used with usb-modeswitch >= 2.1.1 20140129: Minor bug fix in configs 19d2:0149 and 19d2:2000 (Lars Melin reported) 20140128: @@ -1,5 +1,5 @@ PROG = usb-modeswitch-data -VERS = 20140327 +VERS = 20140529 RM = /bin/rm -f PREFIX = $(DESTDIR)/usr ETCDIR = $(DESTDIR)/etc @@ -68,6 +68,23 @@ Example: <vid>:<pid>:uPr=CDMA_Mo will match iProduct "CDMA Modem" or "MyCDMA_Mordor" +Generic config files (per vendor ID): +===================================== + +Introduced in program package 2.2.0, this feature allows config files with a +name in the form <idVendor>:#<system flavour>. The default flavour is "linux". + +The system parameter is taken from "/proc/version". The main use currently is +a sort of OS switch to treat all Huawei devices differently on Android. +There is no guarantee though that the /proc/version information will always +point to Android, so this method may change in future versions. + +Annother form of usage is a fallback if the device ID is yet unknown. For +Huawei devices, the switching method is uniform and not likely to change, +so it is possible to provide a generic configuration. + +Example files: see "12d1:#android" and "12d1:#linux" + Parameters used only in config files: ===================================== @@ -88,6 +105,11 @@ DriverIDPath=<path to attribute> Notes about specific devices: ============================= +- Huawei devices have a generic entry in the rules file; also there are + generic config files for these devices (Linux/Android) as fall-back or + as OS-specific mode control. This was suggested and approved by the + manufacturer + - 1004:607f (LG KP500): switching message derived from report but untested - 1266:1000 (Royaltek Q110): switching method very likely but unconfirmed @@ -123,4 +145,4 @@ Or find it as the file COPYING in this folder. -Last revised: 2013-06-02, Josua Dietze +Last revised: 2014-05-29, Josua Dietze diff --git a/REFERENCE b/REFERENCE new file mode 100644 index 0000000..0fc8326 --- /dev/null +++ b/REFERENCE @@ -0,0 +1,203 @@ +Configuration File Reference for USB_ModeSwitch +----------------------------------------------- + +Last modified: 2014-05-29 + + + +General Rules: + +Numbers can be decimal or hexadecimal, Bulk message strings must be +hexadecimal without prepended "0x". Digits 9-16 (command tag) in +mass storage messages (starting with "55534243") are random; I set +them to "12345678". Mind that you should make them unique if more +than one MessageContent is used. + +-> ALL MISTYPED PARAMETERS AND OTHER ENTRIES ARE SILENTLY IGNORED <- + + + +Parameter Reference: + +Note: if there is a short command line flag for a parameter, then it +is appended to the line. For the full command line parameter reference +see the usb_modeswitch(1) man page. + + +* DefaultVendor -v <hex number> +* DefaultProduct -p <hex number> + +This is the ID the USB device shows after having been plugged in. +The program needs this, either on the command line or in the config +file; if not found -> no action. + +Note: newer config files do not contain these parameters because of +the redundancy with regard to the config file name. + + +* TargetVendor -V <hex number> +* TargetProduct -P <hex number> + +These are the IDs of the USB device after successful mode switching. +They are optional, but required for a proper success check + + +* TargetProductList <comma separated hex strings without "0x"> + +Like TargetProduct, but multiple targets + + +* TargetClass -C <hex number> + +Some devices don't change their ID, only their layout. To check for a +successfull mode switch, the class of the first interface is checked + + +* MessageEndpoint -m <hex number> +* ResponseEndpoint -r <hex number> + +A kind of address inside the interface to which the "message" +(the sequence that does the actual switching) is directed or +from which the reply is read if NeedResponse is active. +OBSOLETE since version 0.9.7 due to autodetection, only useful for +testing + + +* MessageContent -M <hex string> + +A hex string containing the "message" sequence; it will be +sent as a USB bulk transfer + + +* MessageContent2, ...3 -2/-3 <hex string> + +Additional "messages". Use with "NeedResponse"! + + +* ReleaseDelay -w <milliseconds> + +Waiting time after message transfers. Helps with some sensitive devices +that don't want any traffic after the mode switch initialisation + + +* NeedResponse <0/1> -n + +Some devices were reported to require receiving the response of the +bulk transfer to do the switching properly. Usually not needed. + + +* DetachStorageOnly <0/1> -d + +Some early devices just needed to be detached from the usb-storage +driver to initiate the mode switching. Now practically obsolete for +switching, but still comes handy sometimes + + +* StandardEject <0/1> -K + +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 + + +* HuaweiMode <0/1> -H + +Some early Huawei devices can be switched by a special control +message. Don't use with recent devices + + +* HuaweiNewMode <0/1> -J + +The standard for all newer Huawei devices. Sends a specific bulk message, +but different target layouts may be reached with variants of that +message; use MessageContent for these + + +* SonyMode <0/1> -O + +Some Sony-Ericsson devices can be switched by a special control +message. May take a long time (20+ seconds). + + +* SierraMode <0/1> -S +* KobilMode <0/1> -T +* GCTMode <0/1> -G +* SequansMode <0/1> -N +* MobileActionMode <0/1> -A +* QisdaMode <0/1> -B +* QuantaMode <0/1> -E +* PantechMode <0/1> -F +* BlackberryMode <0/1> -Z +* CiscoMode <0/1> -L + + +Flags to support devices that need special control messages. +The names are referring to the respective manufacturers. + + +* ResetUSB <0/1> -R + +Few devices or systems need a rougher treatment. If the switching seems +to do something but your system does not reflect it, try this somewhat +brutal method to do a reset after switching. May also be useful for +all kinds of experiments + + +* Configuration -u <hex number> + +Some devices are doing the "right" thing and provide different layouts +in the standard-compliant way. They don't "restart", so don't have to be +rediscovered by the system after the change. Strictly speaking, they are +not doing a mode switch + + +* Interface -i <hex number> +* AltSetting -a <hex number> + +More USB parameter to help with tricky devices and for doing lots +of cruel experiments; usually not needed ... + + +Note: +AltSetting/Configuration changes and ResetUSB are executed after all +other steps and can be combined or used on their own (e.g. a reset +might have the same effect as a manual replug) + + +* InquireDevice <0|1> -I (enables inquiry) + +Prints out SCSI device attributes in addition to USB device attributes. +These may be used later to tell apart ambiguous device IDs. Only needed +for creating new configurations + + +* CheckSuccess -s <number> + +Check continuously if the switch succeeded for max <number> seconds. +If the target ID is given, the check waits for it to appear. +Otherwise, the check waits for the device to "go away"; most devices +vanish after switching and can't be accessed anymore. It also checks +the bus/device count, trying to determine if the device "came back" + +Note: this feature is not used in the full-featured Linux package of +usb_modeswitch where the success check is done by the wrapper script + + +* NoDriverLoading <0|1> (no command line parameter) + +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 +the serial driver. + + +* WaitBefore <seconds> (no command line parameter) + +Waiting time before taking any action. Helps with some sensitive setups. + + +* NoMBIMCheck <0|1> (no command line parameter) + +Disable the check for new MBIM standard devices, which is always done +by default. + diff --git a/gen-rules.tcl b/gen-rules.tcl index 53e8b70..3ec405d 100755 --- a/gen-rules.tcl +++ b/gen-rules.tcl @@ -9,7 +9,7 @@ # Default version string -set version "20140327" +set version "20140529" if {[lindex $argv 0] == "--set-version" && [regexp {\d\d\d\d\d\d\d\d} [lindex $argv 1]]} { set version [lindex $argv 1] @@ -35,7 +35,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.1.0 (introduction of StandardEject) +# Works with usb_modeswitch versions >= 2.2.0 (introduction of HuaweiNewMode) # ACTION!="add|change", GOTO="modeswitch_rules_end" @@ -53,13 +53,18 @@ ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceNumber}=="00", ATTRS{bNumConfigurati # Don't continue on "change" event, prevent trigger by changed configuration ACTION!="add", GOTO="modeswitch_rules_end" -} + + +# Generic entry for all Huawei devices +ATTRS{idVendor}=="12d1", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch '%b/%k'"} + set vendorList "" set dvid "" foreach idfile $filelist { if {![regexp -nocase {./([0-9A-F]{4}:[0-9A-F]{4})} $idfile d id]} {continue} + if [regexp -nocase {^12d1:} $id] {continue} if [info exists entry($id)] { append entry($id) ", " } diff --git a/usb_modeswitch.d/0408:f000 b/usb_modeswitch.d/0408:f000 index 0b18e44..49dad5f 100644 --- a/usb_modeswitch.d/0408:f000 +++ b/usb_modeswitch.d/0408:f000 @@ -1,4 +1,4 @@ # Yota Router (Quanta 1QDLZZZ0ST2) TargetVendor=0x0408 -TargetProduct=0xd009 -MessageContent="5553424312345678000000000000061b004600000000000000000000000000" +TargetProduct=0xea03 +QuantaMode=1 diff --git a/usb_modeswitch.d/0408:f001 b/usb_modeswitch.d/0408:f001 new file mode 100644 index 0000000..3cb57a0 --- /dev/null +++ b/usb_modeswitch.d/0408:f001 @@ -0,0 +1,4 @@ +# SpeedUp SU-8500U +TargetVendor=0x0408 +TargetProduct=0xea03 +QuantaMode=1 diff --git a/usb_modeswitch.d/0482:024d b/usb_modeswitch.d/0482:024d index 9c69989..570794f 100644 --- a/usb_modeswitch.d/0482:024d +++ b/usb_modeswitch.d/0482:024d @@ -1,3 +1,2 @@ # Kyocera W06K CDMA modem -TargetClass=0x02 Configuration=2 diff --git a/usb_modeswitch.d/04cc:225c b/usb_modeswitch.d/04cc:225c index 9fba246..3f6e8ab 100644 --- a/usb_modeswitch.d/04cc:225c +++ b/usb_modeswitch.d/04cc:225c @@ -1,3 +1,2 @@ # Alcatel-Lucent T930S -TargetClass=0xff Configuration=2 diff --git a/usb_modeswitch.d/04cc:226e b/usb_modeswitch.d/04cc:226e new file mode 100644 index 0000000..fe4bd3a --- /dev/null +++ b/usb_modeswitch.d/04cc:226e @@ -0,0 +1,2 @@ +# Nexperia TM TD-SCDMA +Configuration=2 diff --git a/usb_modeswitch.d/04cc:226f b/usb_modeswitch.d/04cc:226f new file mode 100644 index 0000000..a65c5cf --- /dev/null +++ b/usb_modeswitch.d/04cc:226f @@ -0,0 +1,2 @@ +# Nexperia TM TD-SCDMA (Variant) +Configuration=2 diff --git a/usb_modeswitch.d/04fc:2140 b/usb_modeswitch.d/04fc:2140 new file mode 100644 index 0000000..cd9f724 --- /dev/null +++ b/usb_modeswitch.d/04fc:2140 @@ -0,0 +1,4 @@ +# Sunplus Techn. SU-3200U +TargetVendor=0x04fc +TargetProduct=0x0615 +MessageContent="55534243123456782400000080000612000024000000000000000000000000" diff --git a/usb_modeswitch.d/057c:62ff b/usb_modeswitch.d/057c:62ff index 8381428..bdd3dc2 100644 --- a/usb_modeswitch.d/057c:62ff +++ b/usb_modeswitch.d/057c:62ff @@ -1,5 +1,5 @@ # AVM Fritz!Wlan USB Stick N v2 TargetVendor=0x057c -TargetProduct=0x8501 +TargetProductList="8501,8502" MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000" NoDriverLoading=1 diff --git a/usb_modeswitch.d/0b3c:f00c b/usb_modeswitch.d/0b3c:f00c new file mode 100644 index 0000000..00f1298 --- /dev/null +++ b/usb_modeswitch.d/0b3c:f00c @@ -0,0 +1,4 @@ +# Olivetti Olicard 160 +TargetVendor=0x0b3c +TargetProduct=0xc00a +MessageContent="55534243123456788000000080000606f50402527000000000000000000000" diff --git a/usb_modeswitch.d/0b3c:f017 b/usb_modeswitch.d/0b3c:f017 new file mode 100644 index 0000000..72df51d --- /dev/null +++ b/usb_modeswitch.d/0b3c:f017 @@ -0,0 +1,4 @@ +# Olivetti Olicard 500 +TargetVendor=0x0b3c +TargetProduct=0xc00b +StandardEject=1 diff --git a/usb_modeswitch.d/0bdb:190d b/usb_modeswitch.d/0bdb:190d new file mode 100644 index 0000000..aa901b8 --- /dev/null +++ b/usb_modeswitch.d/0bdb:190d @@ -0,0 +1,2 @@ +# Ericsson F5521gw +Configuration=2 diff --git a/usb_modeswitch.d/0bdb:1910 b/usb_modeswitch.d/0bdb:1910 new file mode 100644 index 0000000..5e9049e --- /dev/null +++ b/usb_modeswitch.d/0bdb:1910 @@ -0,0 +1,2 @@ +# Ericsson F5521gw (Variant) +Configuration=2 diff --git a/usb_modeswitch.d/0e8d:0002:uPr=MT b/usb_modeswitch.d/0e8d:0002:uPr=MT index 2ae333b..f23f468 100644 --- a/usb_modeswitch.d/0e8d:0002:uPr=MT +++ b/usb_modeswitch.d/0e8d:0002:uPr=MT @@ -1,4 +1,4 @@ -# MediaTek MT6276M +# MediaTek MT6276M and others TargetVendor=0x0e8d -TargetProductList="00a1,00a2" +TargetProductList="00a1,00a2,00a5" MessageContent="555342431234567800000000000006f0010300000000000000000000000000" diff --git a/usb_modeswitch.d/0fce:d0cf b/usb_modeswitch.d/0fce:d0cf index 0f478d4..85dc2c8 100644 --- a/usb_modeswitch.d/0fce:d0cf +++ b/usb_modeswitch.d/0fce:d0cf @@ -1,4 +1,2 @@ # Sony Ericsson MD300 -TargetClass=0x02 -DetachStorageOnly=1 Configuration=3 diff --git a/usb_modeswitch.d/0fce:d0df b/usb_modeswitch.d/0fce:d0df new file mode 100644 index 0000000..4bb9dca --- /dev/null +++ b/usb_modeswitch.d/0fce:d0df @@ -0,0 +1,2 @@ +# Sony Ericsson EC400 +Configuration=2 diff --git a/usb_modeswitch.d/0fd1:1000 b/usb_modeswitch.d/0fd1:1000 index 17927bc..04101aa 100644 --- a/usb_modeswitch.d/0fd1:1000 +++ b/usb_modeswitch.d/0fd1:1000 @@ -1,3 +1,2 @@ # GW D301 (Advinne AMC) -TargetClass=0xff Configuration=3 diff --git a/usb_modeswitch.d/12d1:#android b/usb_modeswitch.d/12d1:#android new file mode 100644 index 0000000..f7d7928 --- /dev/null +++ b/usb_modeswitch.d/12d1:#android @@ -0,0 +1,3 @@ +# Huawei generic for Android +TargetVendor= 0x12d1 +MessageContent="55534243123456780000000000000011063000000100010000000000000000" diff --git a/usb_modeswitch.d/12d1:#linux b/usb_modeswitch.d/12d1:#linux new file mode 100644 index 0000000..78e7ea5 --- /dev/null +++ b/usb_modeswitch.d/12d1:#linux @@ -0,0 +1,3 @@ +# Huawei generic for Linux (fall-back for unknown products) +TargetVendor= 0x12d1 +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1009 b/usb_modeswitch.d/12d1:1009 index fa65548..2b03464 100644 --- a/usb_modeswitch.d/12d1:1009 +++ b/usb_modeswitch.d/12d1:1009 @@ -1,4 +1,3 @@ # Huawei V725 Phone (aka Vodafone 725) TargetClass=0xff HuaweiMode=1 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" diff --git a/usb_modeswitch.d/12d1:101e b/usb_modeswitch.d/12d1:101e index 7afdd13..5a03171 100644 --- a/usb_modeswitch.d/12d1:101e +++ b/usb_modeswitch.d/12d1:101e @@ -1,3 +1,3 @@ # Huawei U7510 / U7517 TargetClass=0xff -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1413 b/usb_modeswitch.d/12d1:1413 new file mode 100644 index 0000000..1158582 --- /dev/null +++ b/usb_modeswitch.d/12d1:1413 @@ -0,0 +1,3 @@ +# Huawei EC168 +TargetClass=0xff +HuaweiMode=1 diff --git a/usb_modeswitch.d/12d1:1414 b/usb_modeswitch.d/12d1:1414 index 8cd0edd..742d75d 100644 --- a/usb_modeswitch.d/12d1:1414 +++ b/usb_modeswitch.d/12d1:1414 @@ -1,4 +1,3 @@ # Huawei E180 TargetClass=0xff HuaweiMode=1 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" diff --git a/usb_modeswitch.d/12d1:1446 b/usb_modeswitch.d/12d1:1446 index b31ea2e..01898e9 100644 --- a/usb_modeswitch.d/12d1:1446 +++ b/usb_modeswitch.d/12d1:1446 @@ -1,4 +1,4 @@ # Huawei, newer modems TargetVendor=0x12d1 TargetProductList="1001,1406,140b,140c,1412,141b,1432,1433,1436,14ac,1506,150c,1511" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1449 b/usb_modeswitch.d/12d1:1449 index bbc687a..1713857 100644 --- a/usb_modeswitch.d/12d1:1449 +++ b/usb_modeswitch.d/12d1:1449 @@ -1,4 +1,4 @@ # Huawei E352 TargetVendor=0x12d1 TargetProduct=0x1444 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14ad b/usb_modeswitch.d/12d1:14ad index 4106e60..e3d4328 100644 --- a/usb_modeswitch.d/12d1:14ad +++ b/usb_modeswitch.d/12d1:14ad @@ -1,4 +1,4 @@ # Vodafone (Huawei) K3806 TargetVendor=0x12d1 TargetProduct=0x14ae -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14b5 b/usb_modeswitch.d/12d1:14b5 index 9a251c5..322da5f 100644 --- a/usb_modeswitch.d/12d1:14b5 +++ b/usb_modeswitch.d/12d1:14b5 @@ -1,4 +1,4 @@ # Huawei E173 (Viettel 3G) TargetVendor=0x12d1 TargetProductList="14a8,14aa" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14b7 b/usb_modeswitch.d/12d1:14b7 index 07151fa..e9f7cee 100644 --- a/usb_modeswitch.d/12d1:14b7 +++ b/usb_modeswitch.d/12d1:14b7 @@ -1,4 +1,4 @@ # Vodafone (Huawei) K4511 TargetVendor=0x12d1 TargetProduct=0x14cc -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14ba b/usb_modeswitch.d/12d1:14ba index 93a645f..a2c257e 100644 --- a/usb_modeswitch.d/12d1:14ba +++ b/usb_modeswitch.d/12d1:14ba @@ -1,4 +1,4 @@ # Huawei E173u-2, E177 TargetVendor=0x12d1 TargetProduct=0x14d2 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14c1 b/usb_modeswitch.d/12d1:14c1 index b199c29..309830f 100644 --- a/usb_modeswitch.d/12d1:14c1 +++ b/usb_modeswitch.d/12d1:14c1 @@ -1,4 +1,4 @@ # Vodafone (Huawei) K4605 TargetVendor=0x12d1 TargetProduct=0x14c6 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14c3 b/usb_modeswitch.d/12d1:14c3 index 7fe1c1a..413e8d2 100644 --- a/usb_modeswitch.d/12d1:14c3 +++ b/usb_modeswitch.d/12d1:14c3 @@ -1,4 +1,4 @@ # K5005 Vodafone/Huawei TargetVendor=0x12d1 TargetProduct=0x14c8 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14c4 b/usb_modeswitch.d/12d1:14c4 index aeebac1..e7ffc66 100644 --- a/usb_modeswitch.d/12d1:14c4 +++ b/usb_modeswitch.d/12d1:14c4 @@ -1,4 +1,4 @@ # Vodafone/Huawei K3771 TargetVendor=0x12d1 TargetProduct=0x14ca -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14c5 b/usb_modeswitch.d/12d1:14c5 index 60fda49..17ecd3c 100644 --- a/usb_modeswitch.d/12d1:14c5 +++ b/usb_modeswitch.d/12d1:14c5 @@ -1,4 +1,4 @@ # Vodafone (Huawei) K4510 TargetVendor=0x12d1 TargetProduct=0x14cb -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14d1 b/usb_modeswitch.d/12d1:14d1 index d43548f..2ab14e6 100644 --- a/usb_modeswitch.d/12d1:14d1 +++ b/usb_modeswitch.d/12d1:14d1 @@ -1,4 +1,4 @@ # Vodafone / Huawei K3770 TargetVendor=0x12d1 TargetProduct=0x14c9 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:14fe b/usb_modeswitch.d/12d1:14fe index 44eeb4c..bffcfe2 100644 --- a/usb_modeswitch.d/12d1:14fe +++ b/usb_modeswitch.d/12d1:14fe @@ -1,4 +1,4 @@ # T-Mobile NL (Huawei E352) TargetVendor=0x12d1 TargetProductList="1506,150f,151d" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1505 b/usb_modeswitch.d/12d1:1505 index 2cdfb99..ab5e1cd 100644 --- a/usb_modeswitch.d/12d1:1505 +++ b/usb_modeswitch.d/12d1:1505 @@ -1,4 +1,4 @@ # Huawei EC156, Huawei E372u-8 TargetVendor=0x12d1 TargetProductList="140b,140c,1506,150f,150a" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:151a b/usb_modeswitch.d/12d1:151a index dd0c098..dcff626 100644 --- a/usb_modeswitch.d/12d1:151a +++ b/usb_modeswitch.d/12d1:151a @@ -1,4 +1,4 @@ # Huawei E392u-12, E3131 (Variant) TargetVendor=0x12d1 TargetProductList="151b,151d" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1520 b/usb_modeswitch.d/12d1:1520 index 9288b55..d03f821 100644 --- a/usb_modeswitch.d/12d1:1520 +++ b/usb_modeswitch.d/12d1:1520 @@ -1,4 +1,4 @@ # Huawei K3765 TargetVendor=0x12d1 TargetProduct=0x1465 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1521 b/usb_modeswitch.d/12d1:1521 index 68563f1..620690c 100644 --- a/usb_modeswitch.d/12d1:1521 +++ b/usb_modeswitch.d/12d1:1521 @@ -1,4 +1,4 @@ # Huawei K4505 TargetVendor=0x12d1 TargetProduct=0x1464 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1523 b/usb_modeswitch.d/12d1:1523 index 1f9fcd3..0eb4b7a 100644 --- a/usb_modeswitch.d/12d1:1523 +++ b/usb_modeswitch.d/12d1:1523 @@ -1,4 +1,4 @@ # Huawei R201 TargetVendor=0x12d1 TargetProduct=0x1491 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1526 b/usb_modeswitch.d/12d1:1526 index 2d18516..60b8457 100644 --- a/usb_modeswitch.d/12d1:1526 +++ b/usb_modeswitch.d/12d1:1526 @@ -1,4 +1,4 @@ # Vodafone / Huawei K3772 TargetVendor=0x12d1 TargetProduct=0x14cf -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1553 b/usb_modeswitch.d/12d1:1553 index a37fcac..0d2552e 100644 --- a/usb_modeswitch.d/12d1:1553 +++ b/usb_modeswitch.d/12d1:1553 @@ -1,4 +1,4 @@ # Huawei E1553 TargetVendor=0x12d1 TargetProduct=0x1001 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1557 b/usb_modeswitch.d/12d1:1557 index 8446e55..beef342 100644 --- a/usb_modeswitch.d/12d1:1557 +++ b/usb_modeswitch.d/12d1:1557 @@ -1,4 +1,4 @@ # Huawei E173 TargetVendor=0x12d1 TargetProduct=0x14a5 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:155b b/usb_modeswitch.d/12d1:155b index 66e13e1..d10d02d 100644 --- a/usb_modeswitch.d/12d1:155b +++ b/usb_modeswitch.d/12d1:155b @@ -1,4 +1,4 @@ # Huawei E171 TargetVendor=0x12d1 TargetProduct=0x1506 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:156a b/usb_modeswitch.d/12d1:156a index 8118978..55e6d38 100644 --- a/usb_modeswitch.d/12d1:156a +++ b/usb_modeswitch.d/12d1:156a @@ -1,4 +1,4 @@ # Huawei E3276s-151 and E3251 TargetVendor=0x12d1 TargetProductList="156b,156c" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:157c b/usb_modeswitch.d/12d1:157c index 1272b41..35d811d 100644 --- a/usb_modeswitch.d/12d1:157c +++ b/usb_modeswitch.d/12d1:157c @@ -1,4 +1,4 @@ # Huawei E3276-s150 TargetVendor=0x12d1 TargetProduct=0x1506 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:157d b/usb_modeswitch.d/12d1:157d index 940f75e..021ae70 100644 --- a/usb_modeswitch.d/12d1:157d +++ b/usb_modeswitch.d/12d1:157d @@ -1,4 +1,4 @@ # Huawei E3331 TargetVendor=0x12d1 TargetProduct=0x14db -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1583 b/usb_modeswitch.d/12d1:1583 new file mode 100644 index 0000000..d45b089 --- /dev/null +++ b/usb_modeswitch.d/12d1:1583 @@ -0,0 +1,4 @@ +# Vodafone / Huawei W5101 Router +TargetVendor=0x12d1 +TargetProduct=0x1589 +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:15ca b/usb_modeswitch.d/12d1:15ca new file mode 100644 index 0000000..cf9da86 --- /dev/null +++ b/usb_modeswitch.d/12d1:15ca @@ -0,0 +1,4 @@ +# Huawei E3131 +TargetVendor=0x12d1 +TargetProduct=0x1506 +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:15e7 b/usb_modeswitch.d/12d1:15e7 new file mode 100644 index 0000000..6be0d6f --- /dev/null +++ b/usb_modeswitch.d/12d1:15e7 @@ -0,0 +1,4 @@ +# Huawei E3531 +TargetVendor=0x12d1 +TargetProduct=0x1506 +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1c0b b/usb_modeswitch.d/12d1:1c0b index f39f2dd..9b96b76 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" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1c1b b/usb_modeswitch.d/12d1:1c1b index 5f34b99..579e8ef 100644 --- a/usb_modeswitch.d/12d1:1c1b +++ b/usb_modeswitch.d/12d1:1c1b @@ -1,5 +1,5 @@ # Huawei GP02 (E587 Variant) TargetVendor=0x12d1 TargetProduct=0x1506 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 NoDriverLoading=1 diff --git a/usb_modeswitch.d/12d1:1c24 b/usb_modeswitch.d/12d1:1c24 index 71c8d7f..c8689cd 100644 --- a/usb_modeswitch.d/12d1:1c24 +++ b/usb_modeswitch.d/12d1:1c24 @@ -1,4 +1,4 @@ # Huawei E173 (Moviestar) TargetVendor=0x12d1 TargetProduct=0x1c12 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1d50 b/usb_modeswitch.d/12d1:1d50 index c9a4f59..b218355 100644 --- a/usb_modeswitch.d/12d1:1d50 +++ b/usb_modeswitch.d/12d1:1d50 @@ -1,3 +1,2 @@ # Huawei ET302 -TargetClass=0xff Configuration=2 diff --git a/usb_modeswitch.d/12d1:1f01 b/usb_modeswitch.d/12d1:1f01 index f247ffe..3dc34dd 100644 --- a/usb_modeswitch.d/12d1:1f01 +++ b/usb_modeswitch.d/12d1:1f01 @@ -1,5 +1,5 @@ # Huawei E353 (3.se) and others TargetVendor=0x12d1 TargetProductList="14db,14dc" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 NoDriverLoading=1 diff --git a/usb_modeswitch.d/12d1:1f03 b/usb_modeswitch.d/12d1:1f03 index 52d6764..6a577ec 100644 --- a/usb_modeswitch.d/12d1:1f03 +++ b/usb_modeswitch.d/12d1:1f03 @@ -1,5 +1,5 @@ # KDDI (Huawei) HWD12 LTE TargetVendor=0x12d1 TargetProduct=0x14db -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 NoDriverLoading=1 diff --git a/usb_modeswitch.d/12d1:1f11 b/usb_modeswitch.d/12d1:1f11 index ee5ef8b..0786aad 100644 --- a/usb_modeswitch.d/12d1:1f11 +++ b/usb_modeswitch.d/12d1:1f11 @@ -1,4 +1,4 @@ # Vodafone / Huawei K3773 TargetVendor=0x12d1 TargetProduct=0x14bc -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f15 b/usb_modeswitch.d/12d1:1f15 index 93918a3..93de9b3 100644 --- a/usb_modeswitch.d/12d1:1f15 +++ b/usb_modeswitch.d/12d1:1f15 @@ -1,4 +1,4 @@ # Vodafone K4305 TargetVendor=0x12d1 TargetProductList="1400,14f7" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f16 b/usb_modeswitch.d/12d1:1f16 index 4186d69..a32d517 100644 --- a/usb_modeswitch.d/12d1:1f16 +++ b/usb_modeswitch.d/12d1:1f16 @@ -1,4 +1,4 @@ # Vodafone K5150 TargetVendor=0x12d1 TargetProductList="14f8,1575" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f17 b/usb_modeswitch.d/12d1:1f17 index 69a5130..e31f0b4 100644 --- a/usb_modeswitch.d/12d1:1f17 +++ b/usb_modeswitch.d/12d1:1f17 @@ -1,4 +1,4 @@ # Vodafone K4201 TargetVendor=0x12d1 TargetProduct=0x1576 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f18 b/usb_modeswitch.d/12d1:1f18 index 7b060cd..767644a 100644 --- a/usb_modeswitch.d/12d1:1f18 +++ b/usb_modeswitch.d/12d1:1f18 @@ -1,4 +1,4 @@ # Vodafone K4202 TargetVendor=0x12d1 TargetProduct=0x1577 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f19 b/usb_modeswitch.d/12d1:1f19 index c59d37b..b823b1a 100644 --- a/usb_modeswitch.d/12d1:1f19 +++ b/usb_modeswitch.d/12d1:1f19 @@ -1,4 +1,4 @@ # Vodafone K4606 TargetVendor=0x12d1 TargetProductList="14fa,1575,1578" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f1b b/usb_modeswitch.d/12d1:1f1b index e5eae35..6068a4c 100644 --- a/usb_modeswitch.d/12d1:1f1b +++ b/usb_modeswitch.d/12d1:1f1b @@ -1,4 +1,4 @@ # Vodafone / Huawei Kxxxx TargetVendor=0x12d1 TargetProduct=0x1579 -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f1c b/usb_modeswitch.d/12d1:1f1c index 14d2e55..cf43358 100644 --- a/usb_modeswitch.d/12d1:1f1c +++ b/usb_modeswitch.d/12d1:1f1c @@ -1,4 +1,4 @@ -# Vodafone / Huawei Kxxxx +# Vodafone / Huawei K4203 TargetVendor=0x12d1 TargetProductList="157a,1590" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f1d b/usb_modeswitch.d/12d1:1f1d index 76b34ff..eb4c393 100644 --- a/usb_modeswitch.d/12d1:1f1d +++ b/usb_modeswitch.d/12d1:1f1d @@ -1,4 +1,4 @@ # Vodafone / Huawei Kxxxx TargetVendor=0x12d1 TargetProductList="157b,1591" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/12d1:1f1e b/usb_modeswitch.d/12d1:1f1e index c435e72..411254c 100644 --- a/usb_modeswitch.d/12d1:1f1e +++ b/usb_modeswitch.d/12d1:1f1e @@ -1,4 +1,4 @@ # Vodafone / Huawei Kxxxx TargetVendor=0x12d1 TargetProductList="157f,1592" -MessageContent="55534243123456780000000000000011062000000101000100000000000000" +HuaweiNewMode=1 diff --git a/usb_modeswitch.d/1410:5055 b/usb_modeswitch.d/1410:5055 new file mode 100644 index 0000000..bce995d --- /dev/null +++ b/usb_modeswitch.d/1410:5055 @@ -0,0 +1,4 @@ +# Novatel MiFi 4082 +TargetVendor=0x1410 +TargetProduct=0x6032 +StandardEject=1 diff --git a/usb_modeswitch.d/19d2:1232 b/usb_modeswitch.d/19d2:1232 new file mode 100644 index 0000000..086af2c --- /dev/null +++ b/usb_modeswitch.d/19d2:1232 @@ -0,0 +1,4 @@ +# ZTE MFxxx +TargetVendor=0x19d2 +TargetProductList="1268,2003" +StandardEject=1 diff --git a/usb_modeswitch.d/1bbb:f017 b/usb_modeswitch.d/1bbb:f017 index 81a0c21..d68767d 100644 --- a/usb_modeswitch.d/1bbb:f017 +++ b/usb_modeswitch.d/1bbb:f017 @@ -1,4 +1,4 @@ # Alcatel OT-X220D, L100V TargetVendor=0x1bbb -TargetProductList="0017,011e" +TargetProductList="0017,011e,0203" MessageContent="55534243123456788000000080000606f50402527000000000000000000000" diff --git a/usb_modeswitch.d/1c9e:9101 b/usb_modeswitch.d/1c9e:9101 new file mode 100644 index 0000000..ed42e10 --- /dev/null +++ b/usb_modeswitch.d/1c9e:9101 @@ -0,0 +1,4 @@ +# Emobile D12LC +TargetVendor=0x1c9e +TargetProduct=0x9104 +MessageContent="55534243123456780000000000000606f50402527000000000000000000000" diff --git a/usb_modeswitch.d/1c9e:9401 b/usb_modeswitch.d/1c9e:9401 new file mode 100644 index 0000000..e02d00d --- /dev/null +++ b/usb_modeswitch.d/1c9e:9401 @@ -0,0 +1,4 @@ +# Emobile D21LC +TargetVendor=0x1c9e +TargetProduct=0x9404 +MessageContent="55534243123456780000000000000606f50402527000000000000000000000" diff --git a/usb_modeswitch.d/1c9e:9d00 b/usb_modeswitch.d/1c9e:9d00 new file mode 100644 index 0000000..f8bbedd --- /dev/null +++ b/usb_modeswitch.d/1c9e:9d00 @@ -0,0 +1,3 @@ +# Prolink PCM100 +TargetClass=0xff +MessageContent="55534243123456780000000000000606f50402527000000000000000000000" diff --git a/usb_modeswitch.d/1c9e:f000 b/usb_modeswitch.d/1c9e:f000 index 250cba5..a5b7a8e 100644 --- a/usb_modeswitch.d/1c9e:f000 +++ b/usb_modeswitch.d/1c9e:f000 @@ -1,5 +1,5 @@ -# MobiData MBD-200HU and others +# Longcheer/Longsoon (aka Omega Technology) devices TargetVendor=0x1c9e -TargetProductList="9000,9603,9605,9607" -MessageContent="55534243123456788000000080000606f50402527000000000000000000000" +TargetProductList="9000,9603,9605,9607,9900" +MessageContent="555342431234567800000000000001ff000000000000000000000000000000" WaitBefore=1 diff --git a/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem b/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem new file mode 100644 index 0000000..4e9f768 --- /dev/null +++ b/usb_modeswitch.d/1c9e:f000:uMa=USB_Modem @@ -0,0 +1,5 @@ +# MobiData MBD-200HU and others +TargetVendor=0x1c9e +TargetProductList="9000,9603,9605,9607,9900" +MessageContent="55534243123456788000000080000606f50402527000000000000000000000" +WaitBefore=1 diff --git a/usb_modeswitch.d/1edf:6003 b/usb_modeswitch.d/1edf:6003 index 4d2e1c2..eb04ecd 100644 --- a/usb_modeswitch.d/1edf:6003 +++ b/usb_modeswitch.d/1edf:6003 @@ -1,3 +1,2 @@ # AirPlus MCD-800 -TargetClass=0xff -Configuration=3 +Configuration=2 diff --git a/usb_modeswitch.d/1fac:0032 b/usb_modeswitch.d/1fac:0032 index 9292973..2eabd0a 100644 --- a/usb_modeswitch.d/1fac:0032 +++ b/usb_modeswitch.d/1fac:0032 @@ -1,3 +1,2 @@ # Franklin Wireless U210 (Variant) -TargetClass=0xff Configuration=2 diff --git a/usb_modeswitch.d/1fac:0151 b/usb_modeswitch.d/1fac:0151 index b80e994..9db4de7 100644 --- a/usb_modeswitch.d/1fac:0151 +++ b/usb_modeswitch.d/1fac:0151 @@ -1,3 +1,2 @@ # Franklin Wireless U600 -TargetClass=0xff Configuration=2
\ No newline at end of file diff --git a/usb_modeswitch.d/2001:a80b b/usb_modeswitch.d/2001:a80b index 70c2179..fbbb6c8 100644 --- a/usb_modeswitch.d/2001:a80b +++ b/usb_modeswitch.d/2001:a80b @@ -2,3 +2,4 @@ TargetVendor=0x2001 TargetProduct=0x7d00 MessageContent="555342431234567800000000000003f0010100000000000000000000000000" +NeedResponse=1 diff --git a/usb_modeswitch.d/2020:f00e b/usb_modeswitch.d/2020:f00e index 409f5c5..3eeccce 100644 --- a/usb_modeswitch.d/2020:f00e +++ b/usb_modeswitch.d/2020:f00e @@ -1,5 +1,5 @@ -# SpeedUp SU-8000U +# SpeedUp SU-8000 TargetVendor=0x2020 -TargetProductList="1005,1008" +TargetProduct=0x1008 StandardEject=1 WaitBefore=2 diff --git a/usb_modeswitch.d/2020:f00f b/usb_modeswitch.d/2020:f00f new file mode 100644 index 0000000..64e60f0 --- /dev/null +++ b/usb_modeswitch.d/2020:f00f @@ -0,0 +1,5 @@ +# SpeedUp SU-8000U +TargetVendor=0x2020 +TargetProduct=0x1005 +StandardEject=1 +WaitBefore=2 diff --git a/usb_modeswitch.d/2077:f000 b/usb_modeswitch.d/2077:f000 index 39b514b..50c9668 100644 --- a/usb_modeswitch.d/2077:f000 +++ b/usb_modeswitch.d/2077:f000 @@ -1,4 +1,5 @@ -# Telenet 3G dongle (T&W WU160) +# Telenet 3G dongle (T&W WU160) and others TargetVendor=0x2077 -TargetProduct=0x9000 +TargetProductList="9000,a000" StandardEject=1 +MessageContent="55534243123456700000000000000616aa0000000000000000000000000000" diff --git a/usb_modeswitch.d/230d:0001 b/usb_modeswitch.d/230d:0001 index 307ad60..5008f5c 100644 --- a/usb_modeswitch.d/230d:0001 +++ b/usb_modeswitch.d/230d:0001 @@ -1,3 +1,2 @@ # Linktop LW272/LW273 (BSNL Teracom) -TargetClass=0xff Configuration=3 diff --git a/usb_modeswitch.d/230d:0007 b/usb_modeswitch.d/230d:0007 index c5d3c8f..63996da 100644 --- a/usb_modeswitch.d/230d:0007 +++ b/usb_modeswitch.d/230d:0007 @@ -1,3 +1,2 @@ # Visiontek 82GH 3G -TargetClass=0xff Configuration=3 diff --git a/usb_modeswitch.d/230d:0101 b/usb_modeswitch.d/230d:0101 index 1069d07..721e5c4 100644 --- a/usb_modeswitch.d/230d:0101 +++ b/usb_modeswitch.d/230d:0101 @@ -1,3 +1,2 @@ # Linktop LW272/LW273 -TargetClass=0xff Configuration=2 diff --git a/usb_modeswitch.d/23a2:1010 b/usb_modeswitch.d/23a2:1010 new file mode 100644 index 0000000..95cee31 --- /dev/null +++ b/usb_modeswitch.d/23a2:1010 @@ -0,0 +1,4 @@ +# Titan 3.5G +TargetVendor=0x23a2 +TargetProduct=0x1234 +MessageContent="555342431234567800000000000006161f6d62706b00000000000000000000" |