15fd54aceSGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 258cfe911SMatthias Urlichs /* 314f76cc7SMatthias Urlichs USB Driver for GSM modems 458cfe911SMatthias Urlichs 558cfe911SMatthias Urlichs Copyright (C) 2005 Matthias Urlichs <smurf@smurf.noris.de> 658cfe911SMatthias Urlichs 758cfe911SMatthias Urlichs Portions copied from the Keyspan driver by Hugh Blemings <hugh@blemings.org> 858cfe911SMatthias Urlichs 9b3fdab59SMatthias Urlichs History: see the git log. 10ba460e48SMatthias Urlichs 11ba460e48SMatthias Urlichs Work sponsored by: Sigos GmbH, Germany <info@sigos.de> 12ba460e48SMatthias Urlichs 1314f76cc7SMatthias Urlichs This driver exists because the "normal" serial driver doesn't work too well 1414f76cc7SMatthias Urlichs with GSM modems. Issues: 1514f76cc7SMatthias Urlichs - data loss -- one single Receive URB is not nearly enough 167c1c2f73SMatthias Urlichs - nonstandard flow (Option devices) control 1714f76cc7SMatthias Urlichs - controlling the baud rate doesn't make sense 1814f76cc7SMatthias Urlichs 1914f76cc7SMatthias Urlichs This driver is named "option" because the most common device it's 2014f76cc7SMatthias Urlichs used for is a PC-Card (with an internal OHCI-USB interface, behind 2114f76cc7SMatthias Urlichs which the GSM interface sits), made by Option Inc. 2214f76cc7SMatthias Urlichs 2314f76cc7SMatthias Urlichs Some of the "one port" devices actually exhibit multiple USB instances 2414f76cc7SMatthias Urlichs on the USB bus. This is not a bug, these ports are used for different 2514f76cc7SMatthias Urlichs device features. 2658cfe911SMatthias Urlichs */ 27ba460e48SMatthias Urlichs 2858cfe911SMatthias Urlichs #define DRIVER_AUTHOR "Matthias Urlichs <smurf@smurf.noris.de>" 2914f76cc7SMatthias Urlichs #define DRIVER_DESC "USB Driver for GSM modems" 3058cfe911SMatthias Urlichs 3158cfe911SMatthias Urlichs #include <linux/kernel.h> 3258cfe911SMatthias Urlichs #include <linux/jiffies.h> 3358cfe911SMatthias Urlichs #include <linux/errno.h> 3458cfe911SMatthias Urlichs #include <linux/tty.h> 3558cfe911SMatthias Urlichs #include <linux/tty_flip.h> 365a0e3ad6STejun Heo #include <linux/slab.h> 3758cfe911SMatthias Urlichs #include <linux/module.h> 3859c2afa0SAlan Stern #include <linux/bitops.h> 3958cfe911SMatthias Urlichs #include <linux/usb.h> 40a969888cSGreg Kroah-Hartman #include <linux/usb/serial.h> 418b4c6a3aSMatthew Garrett #include "usb-wwan.h" 4258cfe911SMatthias Urlichs 4358cfe911SMatthias Urlichs /* Function prototypes */ 44c5be1b52SPascal Terjan static int option_probe(struct usb_serial *serial, 45c5be1b52SPascal Terjan const struct usb_device_id *id); 46c2dd4a8eSJohan Hovold static int option_attach(struct usb_serial *serial); 47b9c3aab3SJohan Hovold static void option_release(struct usb_serial *serial); 488b4c6a3aSMatthew Garrett static void option_instat_callback(struct urb *urb); 4958cfe911SMatthias Urlichs 5058cfe911SMatthias Urlichs /* Vendor and product IDs */ 5158cfe911SMatthias Urlichs #define OPTION_VENDOR_ID 0x0AF0 52fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_COLT 0x5000 53fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA 0x6000 54fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_LIGHT 0x6100 55fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_QUAD 0x6200 56fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_QUAD_LIGHT 0x6300 57fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_NDIS 0x6050 58fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_NDIS_LIGHT 0x6150 59fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_NDIS_QUAD 0x6250 60fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_RICOLA_NDIS_QUAD_LIGHT 0x6350 6114f76cc7SMatthias Urlichs #define OPTION_PRODUCT_COBRA 0x6500 62fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_COBRA_BUS 0x6501 63fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_VIPER 0x6600 64fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_VIPER_BUS 0x6601 65fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_GT_MAX_READY 0x6701 66fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_FUJI_MODEM_LIGHT 0x6721 67fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_FUJI_MODEM_GT 0x6741 68fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_FUJI_MODEM_EX 0x6761 69fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_KOI_MODEM 0x6800 70fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_SCORPION_MODEM 0x6901 71fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_ETNA_MODEM 0x7001 72fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_ETNA_MODEM_LITE 0x7021 73fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_ETNA_MODEM_GT 0x7041 74fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_ETNA_MODEM_EX 0x7061 75fd978bfaSGreg Kroah-Hartman #define OPTION_PRODUCT_ETNA_KOI_MODEM 0x7100 76e7f2f0d7SAchilleas Kotsis #define OPTION_PRODUCT_GTM380_MODEM 0x7201 77fd978bfaSGreg Kroah-Hartman 78fd978bfaSGreg Kroah-Hartman #define HUAWEI_VENDOR_ID 0x12D1 79f36446cfSBjørn Mork #define HUAWEI_PRODUCT_E173 0x140C 80eb2addd4SMichal Malý #define HUAWEI_PRODUCT_E1750 0x1406 810372a754SAndrew Bird #define HUAWEI_PRODUCT_K4505 0x1464 820372a754SAndrew Bird #define HUAWEI_PRODUCT_K3765 0x1465 837e180584SAndrew Bird #define HUAWEI_PRODUCT_K4605 0x14C6 848f173e22SGustavo Zacarias #define HUAWEI_PRODUCT_E173S6 0x1C07 85fd978bfaSGreg Kroah-Hartman 86fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_VENDOR_ID 0x0408 87fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_PRODUCT_Q101 0xEA02 88fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_PRODUCT_Q111 0xEA03 89fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_PRODUCT_GLX 0xEA04 90fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_PRODUCT_GKE 0xEA05 91fc91be2aSAlex.Cheng@quantatw.com #define QUANTA_PRODUCT_GLE 0xEA06 92fc91be2aSAlex.Cheng@quantatw.com 93fd978bfaSGreg Kroah-Hartman #define NOVATELWIRELESS_VENDOR_ID 0x1410 9472ab6414SDirk DeSchepper 95c6206faaSLeslie Watter /* YISO PRODUCTS */ 96c6206faaSLeslie Watter 97c6206faaSLeslie Watter #define YISO_VENDOR_ID 0x0EAB 98c6206faaSLeslie Watter #define YISO_PRODUCT_U893 0xC893 99c6206faaSLeslie Watter 100c7aa8f44SDirk De Schepper /* 101c7aa8f44SDirk De Schepper * NOVATEL WIRELESS PRODUCTS 102c7aa8f44SDirk De Schepper * 103c7aa8f44SDirk De Schepper * Note from Novatel Wireless: 104c7aa8f44SDirk De Schepper * If your Novatel modem does not work on linux, don't 105c7aa8f44SDirk De Schepper * change the option module, but check our website. If 106c7aa8f44SDirk De Schepper * that does not help, contact ddeschepper@nvtl.com 107c7aa8f44SDirk De Schepper */ 10872ab6414SDirk DeSchepper /* MERLIN EVDO PRODUCTS */ 10972ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_V640 0x1100 11072ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_V620 0x1110 11172ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_V740 0x1120 11272ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_V720 0x1130 11372ab6414SDirk DeSchepper 11472ab6414SDirk DeSchepper /* MERLIN HSDPA/HSPA PRODUCTS */ 11572ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_U730 0x1400 11672ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_U740 0x1410 11772ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_U870 0x1420 11872ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_XU870 0x1430 11972ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_X950D 0x1450 12072ab6414SDirk DeSchepper 12172ab6414SDirk DeSchepper /* EXPEDITE PRODUCTS */ 12272ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_EV620 0x2100 12372ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_ES720 0x2110 12472ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_E725 0x2120 125a1d9bc12SMatthias Urlichs #define NOVATELWIRELESS_PRODUCT_ES620 0x2130 12672ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_EU730 0x2400 12772ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_EU740 0x2410 12872ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_EU870D 0x2420 12972ab6414SDirk DeSchepper /* OVATION PRODUCTS */ 13072ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_MC727 0x4100 13172ab6414SDirk DeSchepper #define NOVATELWIRELESS_PRODUCT_MC950D 0x4400 132c7aa8f44SDirk De Schepper /* 133c7aa8f44SDirk De Schepper * Note from Novatel Wireless: 134c7aa8f44SDirk De Schepper * All PID in the 5xxx range are currently reserved for 135c7aa8f44SDirk De Schepper * auto-install CDROMs, and should not be added to this 136c7aa8f44SDirk De Schepper * module. 137c7aa8f44SDirk De Schepper * 138c7aa8f44SDirk De Schepper * #define NOVATELWIRELESS_PRODUCT_U727 0x5010 139c7aa8f44SDirk De Schepper * #define NOVATELWIRELESS_PRODUCT_MC727_NEW 0x5100 140c7aa8f44SDirk De Schepper */ 14171f9f6ccSDan Williams #define NOVATELWIRELESS_PRODUCT_OVMC760 0x6002 142c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_MC780 0x6010 143c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_EVDO_FULLSPEED 0x6000 144c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_EVDO_HIGHSPEED 0x6001 145c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_FULLSPEED 0x7000 146c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED 0x7001 147c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED3 0x7003 148c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED4 0x7004 149c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED5 0x7005 150c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED6 0x7006 151c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED7 0x7007 152c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_MC996D 0x7030 153c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_MF3470 0x7041 154c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_MC547 0x7042 155c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_FULLSPEED 0x8000 156c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED 0x8001 157c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_FULLSPEED 0x9000 158c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED 0x9001 159fcb21645SDan Williams #define NOVATELWIRELESS_PRODUCT_E362 0x9010 1608a61ba3aSAlexej Starschenko #define NOVATELWIRELESS_PRODUCT_E371 0x9011 161e07af133SAleksander Morgado #define NOVATELWIRELESS_PRODUCT_U620L 0x9022 162c7aa8f44SDirk De Schepper #define NOVATELWIRELESS_PRODUCT_G2 0xA010 163065b07e7SForest Bond #define NOVATELWIRELESS_PRODUCT_MC551 0xB001 16472ab6414SDirk DeSchepper 165c1547f12SDavide Tronchin #define UBLOX_VENDOR_ID 0x1546 166c1547f12SDavide Tronchin 16732147be4Stang kai /* AMOI PRODUCTS */ 16832147be4Stang kai #define AMOI_VENDOR_ID 0x1614 16932147be4Stang kai #define AMOI_PRODUCT_H01 0x0800 17032147be4Stang kai #define AMOI_PRODUCT_H01A 0x7002 17132147be4Stang kai #define AMOI_PRODUCT_H02 0x0802 1727595931cSDennis Jansen #define AMOI_PRODUCT_SKYPEPHONE_S2 0x0407 17332147be4Stang kai 17496443218SFaidon Liambotis #define DELL_VENDOR_ID 0x413C 175fd978bfaSGreg Kroah-Hartman 176c200b9c9SDirk De Schepper /* Dell modems */ 177c200b9c9SDirk De Schepper #define DELL_PRODUCT_5700_MINICARD 0x8114 178c200b9c9SDirk De Schepper #define DELL_PRODUCT_5500_MINICARD 0x8115 179c200b9c9SDirk De Schepper #define DELL_PRODUCT_5505_MINICARD 0x8116 180c200b9c9SDirk De Schepper #define DELL_PRODUCT_5700_EXPRESSCARD 0x8117 181c200b9c9SDirk De Schepper #define DELL_PRODUCT_5510_EXPRESSCARD 0x8118 182c200b9c9SDirk De Schepper 183c200b9c9SDirk De Schepper #define DELL_PRODUCT_5700_MINICARD_SPRINT 0x8128 184c200b9c9SDirk De Schepper #define DELL_PRODUCT_5700_MINICARD_TELUS 0x8129 185c200b9c9SDirk De Schepper 186c200b9c9SDirk De Schepper #define DELL_PRODUCT_5720_MINICARD_VZW 0x8133 187c200b9c9SDirk De Schepper #define DELL_PRODUCT_5720_MINICARD_SPRINT 0x8134 188c200b9c9SDirk De Schepper #define DELL_PRODUCT_5720_MINICARD_TELUS 0x8135 189c200b9c9SDirk De Schepper #define DELL_PRODUCT_5520_MINICARD_CINGULAR 0x8136 190c200b9c9SDirk De Schepper #define DELL_PRODUCT_5520_MINICARD_GENERIC_L 0x8137 191c200b9c9SDirk De Schepper #define DELL_PRODUCT_5520_MINICARD_GENERIC_I 0x8138 192c200b9c9SDirk De Schepper 193c200b9c9SDirk De Schepper #define DELL_PRODUCT_5730_MINICARD_SPRINT 0x8180 194c200b9c9SDirk De Schepper #define DELL_PRODUCT_5730_MINICARD_TELUS 0x8181 195c200b9c9SDirk De Schepper #define DELL_PRODUCT_5730_MINICARD_VZW 0x8182 196c200b9c9SDirk De Schepper 197fcb21645SDan Williams #define DELL_PRODUCT_5800_MINICARD_VZW 0x8195 /* Novatel E362 */ 198fcb21645SDan Williams #define DELL_PRODUCT_5800_V2_MINICARD_VZW 0x8196 /* Novatel E362 */ 19949c6e370SDan Williams #define DELL_PRODUCT_5804_MINICARD_ATT 0x819b /* Novatel E371 */ 200fcb21645SDan Williams 2017bab01ecSAleksander Morgado #define DELL_PRODUCT_5821E 0x81d7 202957c31eaSAleksander Morgado #define DELL_PRODUCT_5821E_ESIM 0x81e0 2036ecb3f0bSSlark Xiao #define DELL_PRODUCT_5829E_ESIM 0x81e4 2046ecb3f0bSSlark Xiao #define DELL_PRODUCT_5829E 0x81e6 2057bab01ecSAleksander Morgado 2067f52c70cSPuliang Lu #define DELL_PRODUCT_FM101R_ESIM 0x8213 2077f52c70cSPuliang Lu #define DELL_PRODUCT_FM101R 0x8215 20852480e1fSPuliang Lu 209564d61d3SDan Williams #define KYOCERA_VENDOR_ID 0x0c88 210640c1bceSGreg Kroah-Hartman #define KYOCERA_PRODUCT_KPC650 0x17da 211564d61d3SDan Williams #define KYOCERA_PRODUCT_KPC680 0x180a 212564d61d3SDan Williams 213fd978bfaSGreg Kroah-Hartman #define ANYDATA_VENDOR_ID 0x16d5 214f8033827SHiroshi Miura #define ANYDATA_PRODUCT_ADU_620UW 0x6202 21546269db9SAlexander Gattin #define ANYDATA_PRODUCT_ADU_E100A 0x6501 21646269db9SAlexander Gattin #define ANYDATA_PRODUCT_ADU_500A 0x6502 217ba460e48SMatthias Urlichs 21885fb62a0SDaniel Kozák #define AXESSTEL_VENDOR_ID 0x1726 21985fb62a0SDaniel Kozák #define AXESSTEL_PRODUCT_MV110H 0x1000 22085fb62a0SDaniel Kozák 2213f6e5846SLeon Leong #define BANDRICH_VENDOR_ID 0x1A8D 2223f6e5846SLeon Leong #define BANDRICH_PRODUCT_C100_1 0x1002 2233f6e5846SLeon Leong #define BANDRICH_PRODUCT_C100_2 0x1003 224bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1004 0x1004 225bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1005 0x1005 226bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1006 0x1006 227bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1007 0x1007 228bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1008 0x1008 229bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1009 0x1009 230bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100A 0x100a 231bf3fc828SLeon Leong 232bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100B 0x100b 233bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100C 0x100c 234bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100D 0x100d 235bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100E 0x100e 236bf3fc828SLeon Leong 237bf3fc828SLeon Leong #define BANDRICH_PRODUCT_100F 0x100f 238bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1010 0x1010 239bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1011 0x1011 240bf3fc828SLeon Leong #define BANDRICH_PRODUCT_1012 0x1012 2413f6e5846SLeon Leong 242d726fb75SKevin Lloyd #define QUALCOMM_VENDOR_ID 0x05C6 2436e9f44eaSDan Williams /* These Quectel products use Qualcomm's vendor ID */ 2446e9f44eaSDan Williams #define QUECTEL_PRODUCT_UC20 0x9003 2456e9f44eaSDan Williams #define QUECTEL_PRODUCT_UC15 0x9090 2464205cb01SSZ Lin (林上智) /* These u-blox products use Qualcomm's vendor ID */ 2474205cb01SSZ Lin (林上智) #define UBLOX_PRODUCT_R410M 0x90b2 2483920bb71SSZ Lin (林上智) /* These Yuga products use Qualcomm's vendor ID */ 2493920bb71SSZ Lin (林上智) #define YUGA_PRODUCT_CLM920_NC5 0x9625 2506e9f44eaSDan Williams 2516e9f44eaSDan Williams #define QUECTEL_VENDOR_ID 0x2c7c 2526e9f44eaSDan Williams /* These Quectel products use Quectel's vendor ID */ 2536e9f44eaSDan Williams #define QUECTEL_PRODUCT_EC21 0x0121 2544fea315aSBenoît Monin #define QUECTEL_PRODUCT_RG650V 0x0122 255f1832e2bSJerry Meng #define QUECTEL_PRODUCT_EM061K_LTA 0x0123 256f1832e2bSJerry Meng #define QUECTEL_PRODUCT_EM061K_LMS 0x0124 2576e9f44eaSDan Williams #define QUECTEL_PRODUCT_EC25 0x0125 2584f7cab49SJerry Meng #define QUECTEL_PRODUCT_EM060K_128 0x0128 259b39ecc8cSJerry Meng #define QUECTEL_PRODUCT_EM060K_129 0x0129 260b39ecc8cSJerry Meng #define QUECTEL_PRODUCT_EM060K_12a 0x012a 261b39ecc8cSJerry Meng #define QUECTEL_PRODUCT_EM060K_12b 0x012b 262b39ecc8cSJerry Meng #define QUECTEL_PRODUCT_EM060K_12c 0x012c 263c184acccSTomaz Solc #define QUECTEL_PRODUCT_EG91 0x0191 264da6902e5SAceLan Kao #define QUECTEL_PRODUCT_EG95 0x0195 265c654b21eSSebastian Sjoholm #define QUECTEL_PRODUCT_BG96 0x0296 26671a0483dSKristian Evensen #define QUECTEL_PRODUCT_EP06 0x0306 26733b29dbbSYonglin Tan #define QUECTEL_PRODUCT_EM05G 0x030a 268f766f3abSYonglin Tan #define QUECTEL_PRODUCT_EM060K 0x030b 269bb78654bSDuke Xin(辛安文) #define QUECTEL_PRODUCT_EM05G_CS 0x030c 270873854c0SMartin Kohn #define QUECTEL_PRODUCT_EM05GV2 0x030e 2711541dd00SDuke Xin(辛安文) #define QUECTEL_PRODUCT_EM05CN_SG 0x0310 272f0052d7aSDuke Xin #define QUECTEL_PRODUCT_EM05G_SG 0x0311 27371dfd381SDuke Xin(辛安文) #define QUECTEL_PRODUCT_EM05CN 0x0312 2746c331f32SDuke Xin(辛安文) #define QUECTEL_PRODUCT_EM05G_GR 0x0313 275b72d1397SDuke Xin(辛安文) #define QUECTEL_PRODUCT_EM05G_RS 0x0314 276d1252f02SKristian Evensen #define QUECTEL_PRODUCT_EM12 0x0512 277accf227dSKristian Evensen #define QUECTEL_PRODUCT_RM500Q 0x0800 278d640c4cbSjerry meng #define QUECTEL_PRODUCT_RM520N 0x0801 279d9bbb158SAli Mirghasemi #define QUECTEL_PRODUCT_EC200U 0x0901 2807dbe89b7SAlper Ak #define QUECTEL_PRODUCT_EG912Y 0x6001 2812263eb73SYu-Tung Chang #define QUECTEL_PRODUCT_EC200S_CN 0x6002 282857ea900SMohsen Tahmasebi #define QUECTEL_PRODUCT_EC200A 0x6005 28390a5c642SBenjamin B. Frost #define QUECTEL_PRODUCT_EG916Q 0x6007 284f1832e2bSJerry Meng #define QUECTEL_PRODUCT_EM061K_LWW 0x6008 285f1832e2bSJerry Meng #define QUECTEL_PRODUCT_EM061K_LCN 0x6009 286a46b973bSZiyi Cao #define QUECTEL_PRODUCT_EC200T 0x6026 28715b694e9SMacpaul Lin #define QUECTEL_PRODUCT_RM500K 0x7001 288d726fb75SKevin Lloyd 289eaff4cdcSNathaniel McCallum #define CMOTECH_VENDOR_ID 0x16d8 29034f972d6SBjørn Mork #define CMOTECH_PRODUCT_6001 0x6001 29134f972d6SBjørn Mork #define CMOTECH_PRODUCT_CMU_300 0x6002 29234f972d6SBjørn Mork #define CMOTECH_PRODUCT_6003 0x6003 29334f972d6SBjørn Mork #define CMOTECH_PRODUCT_6004 0x6004 29434f972d6SBjørn Mork #define CMOTECH_PRODUCT_6005 0x6005 29534f972d6SBjørn Mork #define CMOTECH_PRODUCT_CGU_628A 0x6006 29634f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHE_628S 0x6007 29734f972d6SBjørn Mork #define CMOTECH_PRODUCT_CMU_301 0x6008 29834f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_628 0x6280 29934f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_628S 0x6281 30034f972d6SBjørn Mork #define CMOTECH_PRODUCT_CDU_680 0x6803 30134f972d6SBjørn Mork #define CMOTECH_PRODUCT_CDU_685A 0x6804 30234f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_720S 0x7001 30334f972d6SBjørn Mork #define CMOTECH_PRODUCT_7002 0x7002 30434f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_629K 0x7003 30534f972d6SBjørn Mork #define CMOTECH_PRODUCT_7004 0x7004 30634f972d6SBjørn Mork #define CMOTECH_PRODUCT_7005 0x7005 30734f972d6SBjørn Mork #define CMOTECH_PRODUCT_CGU_629 0x7006 30834f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_629S 0x700a 30934f972d6SBjørn Mork #define CMOTECH_PRODUCT_CHU_720I 0x7211 31034f972d6SBjørn Mork #define CMOTECH_PRODUCT_7212 0x7212 31134f972d6SBjørn Mork #define CMOTECH_PRODUCT_7213 0x7213 31234f972d6SBjørn Mork #define CMOTECH_PRODUCT_7251 0x7251 31334f972d6SBjørn Mork #define CMOTECH_PRODUCT_7252 0x7252 31434f972d6SBjørn Mork #define CMOTECH_PRODUCT_7253 0x7253 31580d97098SJames Cameron 316ee53b0caSGreg Kroah-Hartman #define TELIT_VENDOR_ID 0x1bc7 317ee53b0caSGreg Kroah-Hartman #define TELIT_PRODUCT_UC864E 0x1003 318ce60c488SManuel Lauss #define TELIT_PRODUCT_UC864G 0x1004 3197204cf58SDaniele Palmas #define TELIT_PRODUCT_CC864_DUAL 0x1005 3207204cf58SDaniele Palmas #define TELIT_PRODUCT_CC864_SINGLE 0x1006 3217204cf58SDaniele Palmas #define TELIT_PRODUCT_DE910_DUAL 0x1010 322d6de486bSDaniele Palmas #define TELIT_PRODUCT_UE910_V2 0x1012 3235b09eff0SDaniele Palmas #define TELIT_PRODUCT_LE922_USBCFG1 0x1040 3245b09eff0SDaniele Palmas #define TELIT_PRODUCT_LE922_USBCFG2 0x1041 325ff4e2494SDaniele Palmas #define TELIT_PRODUCT_LE922_USBCFG0 0x1042 326ff4e2494SDaniele Palmas #define TELIT_PRODUCT_LE922_USBCFG3 0x1043 3275deef555SDaniele Palmas #define TELIT_PRODUCT_LE922_USBCFG5 0x1045 32840dd4604SDaniele Palmas #define TELIT_PRODUCT_ME910 0x1100 32908933099SDaniele Palmas #define TELIT_PRODUCT_ME910_DUAL_MODEM 0x1101 33003eb466fSDaniele Palmas #define TELIT_PRODUCT_LE920 0x1200 3312d0eb862SDaniele Palmas #define TELIT_PRODUCT_LE910 0x1201 3323c0415faSDaniele Palmas #define TELIT_PRODUCT_LE910_USBCFG4 0x1206 33301d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1207 0x1207 33401d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1208 0x1208 33501d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1211 0x1211 33601d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1212 0x1212 33701d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1213 0x1213 33801d7956bSDaniele Palmas #define TELIT_PRODUCT_LE920A4_1214 0x1214 339ee53b0caSGreg Kroah-Hartman 3406188a83fSOliver Martin /* ZTE PRODUCTS */ 3416188a83fSOliver Martin #define ZTE_VENDOR_ID 0x19d2 3429ea19b82SAlbert Pauw #define ZTE_PRODUCT_MF622 0x0001 3436188a83fSOliver Martin #define ZTE_PRODUCT_MF628 0x0015 344bfd8408dSMikhail Gusarov #define ZTE_PRODUCT_MF626 0x0031 34519ab6bc5SLiu.Zhao #define ZTE_PRODUCT_ZM8620_X 0x0396 34619ab6bc5SLiu.Zhao #define ZTE_PRODUCT_ME3620_MBIM 0x0426 34719ab6bc5SLiu.Zhao #define ZTE_PRODUCT_ME3620_X 0x1432 34819ab6bc5SLiu.Zhao #define ZTE_PRODUCT_ME3620_L 0x1433 34952d0dc75SDmitry Kunilov #define ZTE_PRODUCT_AC2726 0xfff1 350f8c0e057SJohan Hovold #define ZTE_PRODUCT_MG880 0xfffd 35163a901c0SJohan Hovold #define ZTE_PRODUCT_CDMA_TECH 0xfffe 35263a901c0SJohan Hovold #define ZTE_PRODUCT_AC8710T 0xffff 35363a901c0SJohan Hovold #define ZTE_PRODUCT_MC2718 0xffe8 35463a901c0SJohan Hovold #define ZTE_PRODUCT_AD3812 0xffeb 35563a901c0SJohan Hovold #define ZTE_PRODUCT_MC2716 0xffed 3566188a83fSOliver Martin 35728fb6682SJesse Sung #define BENQ_VENDOR_ID 0x04a5 35828fb6682SJesse Sung #define BENQ_PRODUCT_H10 0x4068 35928fb6682SJesse Sung 360c00deaa5SPascal Terjan #define DLINK_VENDOR_ID 0x1186 361c00deaa5SPascal Terjan #define DLINK_PRODUCT_DWM_652 0x3e04 362ff854ce0SZhang Le #define DLINK_PRODUCT_DWM_652_U5 0xce16 363bf162019SHuang Ying #define DLINK_PRODUCT_DWM_652_U5A 0xce1e 364c00deaa5SPascal Terjan 365e3a31745SBrad Lu #define QISDA_VENDOR_ID 0x1da5 366e3a31745SBrad Lu #define QISDA_PRODUCT_H21_4512 0x4512 367e3a31745SBrad Lu #define QISDA_PRODUCT_H21_4523 0x4523 368e3a31745SBrad Lu #define QISDA_PRODUCT_H20_4515 0x4515 369646d90e2SÖmer Sezgin Ugurlu #define QISDA_PRODUCT_H20_4518 0x4518 370e3a31745SBrad Lu #define QISDA_PRODUCT_H20_4519 0x4519 371e3a31745SBrad Lu 372fead2ab6SBryan Wu /* TLAYTECH PRODUCTS */ 373fead2ab6SBryan Wu #define TLAYTECH_VENDOR_ID 0x20B9 374fead2ab6SBryan Wu #define TLAYTECH_PRODUCT_TEU800 0x1682 375c00deaa5SPascal Terjan 376334f9b0fSMichele Valzelli /* TOSHIBA PRODUCTS */ 377334f9b0fSMichele Valzelli #define TOSHIBA_VENDOR_ID 0x0930 378334f9b0fSMichele Valzelli #define TOSHIBA_PRODUCT_HSDPA_MINICARD 0x1302 37975f47214SPeter Magdina #define TOSHIBA_PRODUCT_G450 0x0d45 380334f9b0fSMichele Valzelli 381c3325eb1SAnssi Hannula #define ALINK_VENDOR_ID 0x1e0e 3823158a8d4SAndrey Skvortsov #define SIMCOM_PRODUCT_SIM7100E 0x9001 /* Yes, ALINK_VENDOR_ID */ 3835c3e4076SDan Williams #define ALINK_PRODUCT_PH300 0x9100 384c3325eb1SAnssi Hannula #define ALINK_PRODUCT_3GU 0x9200 385c3325eb1SAnssi Hannula 38648c348ccSJavier Martin /* ALCATEL PRODUCTS */ 38748c348ccSJavier Martin #define ALCATEL_VENDOR_ID 0x1bbb 38815badbccSDan Williams #define ALCATEL_PRODUCT_X060S_X200 0x0000 389c0bc3098SDan Williams #define ALCATEL_PRODUCT_X220_X500D 0x0017 3905ec00854SBjørn Mork #define ALCATEL_PRODUCT_L100V 0x011e 391dd6b48ecSBjørn Mork #define ALCATEL_PRODUCT_L800MA 0x0203 39248c348ccSJavier Martin 39333c38752Sspark #define PIRELLI_VENDOR_ID 0x1266 39433c38752Sspark #define PIRELLI_PRODUCT_C100_1 0x1002 39533c38752Sspark #define PIRELLI_PRODUCT_C100_2 0x1003 39633c38752Sspark #define PIRELLI_PRODUCT_1004 0x1004 39733c38752Sspark #define PIRELLI_PRODUCT_1005 0x1005 39833c38752Sspark #define PIRELLI_PRODUCT_1006 0x1006 39933c38752Sspark #define PIRELLI_PRODUCT_1007 0x1007 40033c38752Sspark #define PIRELLI_PRODUCT_1008 0x1008 40133c38752Sspark #define PIRELLI_PRODUCT_1009 0x1009 40233c38752Sspark #define PIRELLI_PRODUCT_100A 0x100a 40333c38752Sspark #define PIRELLI_PRODUCT_100B 0x100b 40433c38752Sspark #define PIRELLI_PRODUCT_100C 0x100c 40533c38752Sspark #define PIRELLI_PRODUCT_100D 0x100d 40633c38752Sspark #define PIRELLI_PRODUCT_100E 0x100e 40733c38752Sspark #define PIRELLI_PRODUCT_100F 0x100f 40833c38752Sspark #define PIRELLI_PRODUCT_1011 0x1011 40933c38752Sspark #define PIRELLI_PRODUCT_1012 0x1012 41033c38752Sspark 41112148da6SHuzaifa Sidhpurwala /* Airplus products */ 41212148da6SHuzaifa Sidhpurwala #define AIRPLUS_VENDOR_ID 0x1011 41312148da6SHuzaifa Sidhpurwala #define AIRPLUS_PRODUCT_MCD650 0x3198 41448c348ccSJavier Martin 415ac7d4ca9SDan Williams /* Longcheer/Longsung vendor ID; makes whitelabel devices that 416ac7d4ca9SDan Williams * many other vendors like 4G Systems, Alcatel, ChinaBird, 417ac7d4ca9SDan Williams * Mobidata, etc sell under their own brand names. 418ac7d4ca9SDan Williams */ 419ac7d4ca9SDan Williams #define LONGCHEER_VENDOR_ID 0x1c9e 420ac7d4ca9SDan Williams 4210ec86483SGernot Hillier /* 4G Systems products */ 422617c331dSFlorian Zumbiehl /* This one was sold as the VW and Skoda "Carstick LTE" */ 423617c331dSFlorian Zumbiehl #define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE 0x7605 42479da01d7SGernot Hillier /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * 42579da01d7SGernot Hillier * It seems to contain a Qualcomm QSC6240/6290 chipset */ 4260ec86483SGernot Hillier #define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603 427638148e2SBjørn Mork #define FOUR_G_SYSTEMS_PRODUCT_W100 0x9b01 4280ec86483SGernot Hillier 42969341bd1SOKAMOTO Yoshiaki /* Fujisoft products */ 43069341bd1SOKAMOTO Yoshiaki #define FUJISOFT_PRODUCT_FS040U 0x9b02 43169341bd1SOKAMOTO Yoshiaki 4327d5c1b9cSRahul Bedarkar /* iBall 3.5G connect wireless modem */ 4337d5c1b9cSRahul Bedarkar #define IBALL_3_5G_CONNECT 0x9605 4347d5c1b9cSRahul Bedarkar 435cdacb598SDan Williams /* Zoom */ 436cdacb598SDan Williams #define ZOOM_PRODUCT_4597 0x9607 437cdacb598SDan Williams 4381cab4c68SOliver Neukum /* SpeedUp SU9800 usb 3g modem */ 4391cab4c68SOliver Neukum #define SPEEDUP_PRODUCT_SU9800 0x9800 4401cab4c68SOliver Neukum 441c983202bSDonny Kurnia /* Haier products */ 442c983202bSDonny Kurnia #define HAIER_VENDOR_ID 0x201e 443012eee15SDan Williams #define HAIER_PRODUCT_CE81B 0x10f8 444c983202bSDonny Kurnia #define HAIER_PRODUCT_CE100 0x2009 445c983202bSDonny Kurnia 446444f94e9SSchemmel Hans-Christoph /* Gemalto's Cinterion products (formerly Siemens) */ 447aa52b3a9SNicolaus Colberg #define SIEMENS_VENDOR_ID 0x0681 448aa52b3a9SNicolaus Colberg #define CINTERION_VENDOR_ID 0x1e2d 449aa52b3a9SNicolaus Colberg #define CINTERION_PRODUCT_HC25_MDMNET 0x0040 450444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_HC25_MDM 0x0047 451aa52b3a9SNicolaus Colberg #define CINTERION_PRODUCT_HC28_MDMNET 0x004A /* same for HC28J */ 452444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_HC28_MDM 0x004C 453aa52b3a9SNicolaus Colberg #define CINTERION_PRODUCT_EU3_E 0x0051 454aa52b3a9SNicolaus Colberg #define CINTERION_PRODUCT_EU3_P 0x0052 455aa52b3a9SNicolaus Colberg #define CINTERION_PRODUCT_PH8 0x0053 4568ff10bdbSSchemmel Hans-Christoph #define CINTERION_PRODUCT_AHXX 0x0055 4578ff10bdbSSchemmel Hans-Christoph #define CINTERION_PRODUCT_PLXX 0x0060 4586d6556c0SGiacinto Cifelli #define CINTERION_PRODUCT_EXS82 0x006c 459444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_PH8_2RMNET 0x0082 460444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_PH8_AUDIO 0x0083 461444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_AHXX_2RMNET 0x0084 462444f94e9SSchemmel Hans-Christoph #define CINTERION_PRODUCT_AHXX_AUDIO 0x0085 463dfbac2f4SReinhard Speyerer #define CINTERION_PRODUCT_CLS8 0x00b0 464e478d602SChristoph Schemmel #define CINTERION_PRODUCT_MV31_MBIM 0x00b3 465e478d602SChristoph Schemmel #define CINTERION_PRODUCT_MV31_RMNET 0x00b7 466158f7585SSlark Xiao #define CINTERION_PRODUCT_MV31_2_MBIM 0x00b8 467158f7585SSlark Xiao #define CINTERION_PRODUCT_MV31_2_RMNET 0x00b9 468b4a64ed6SSlark Xiao #define CINTERION_PRODUCT_MV32_WA 0x00f1 469b4a64ed6SSlark Xiao #define CINTERION_PRODUCT_MV32_WB 0x00f2 4708ffe20d0SSlark Xiao #define CINTERION_PRODUCT_MV32_WA_RMNET 0x00f3 4718ffe20d0SSlark Xiao #define CINTERION_PRODUCT_MV32_WB_RMNET 0x00f4 4726f44bcb6SGreg Kroah-Hartman 47386234d49SNils Radtke /* Olivetti products */ 47486234d49SNils Radtke #define OLIVETTI_VENDOR_ID 0x0b3c 47586234d49SNils Radtke #define OLIVETTI_PRODUCT_OLICARD100 0xc000 476b0ebef36SBjørn Mork #define OLIVETTI_PRODUCT_OLICARD120 0xc001 477b0ebef36SBjørn Mork #define OLIVETTI_PRODUCT_OLICARD140 0xc002 478d19bf5ceSFilippo Turato #define OLIVETTI_PRODUCT_OLICARD145 0xc003 479b0ebef36SBjørn Mork #define OLIVETTI_PRODUCT_OLICARD155 0xc004 4804cf76df0SDan Williams #define OLIVETTI_PRODUCT_OLICARD200 0xc005 481b0ebef36SBjørn Mork #define OLIVETTI_PRODUCT_OLICARD160 0xc00a 482533b3994SBjørn Mork #define OLIVETTI_PRODUCT_OLICARD500 0xc00b 48386234d49SNils Radtke 48476078dc4SMichael Tokarev /* Celot products */ 48576078dc4SMichael Tokarev #define CELOT_VENDOR_ID 0x211f 48676078dc4SMichael Tokarev #define CELOT_PRODUCT_CT680M 0x6801 48776078dc4SMichael Tokarev 48880f9df3eSMarius B. Kotsbak /* Samsung products */ 48980f9df3eSMarius B. Kotsbak #define SAMSUNG_VENDOR_ID 0x04e8 49080f9df3eSMarius B. Kotsbak #define SAMSUNG_PRODUCT_GT_B3730 0x6889 49180f9df3eSMarius B. Kotsbak 4920ef0be15S说不得 /* YUGA products www.yuga-info.com gavin.kx@qq.com */ 493c6eb2d75SGavin.zhu #define YUGA_VENDOR_ID 0x257A 494c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM600 0x1601 495c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM610 0x1602 496c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM500 0x1603 497c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM510 0x1604 498c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM800 0x1605 499c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEM900 0x1606 500c6eb2d75SGavin.zhu 501c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU818 0x1607 502c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU816 0x1608 503c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU828 0x1609 504c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU826 0x160A 505c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU518 0x160B 506c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU516 0x160C 507c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU528 0x160D 508c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CEU526 0x160F 5090ef0be15S说不得 #define YUGA_PRODUCT_CEU881 0x161F 5100ef0be15S说不得 #define YUGA_PRODUCT_CEU882 0x162F 511c6eb2d75SGavin.zhu 512c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM600 0x2601 513c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM610 0x2602 514c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM500 0x2603 515c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM510 0x2604 516c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM800 0x2605 517c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWM900 0x2606 518c6eb2d75SGavin.zhu 519c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU718 0x2607 520c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU716 0x2608 521c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU728 0x2609 522c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU726 0x260A 523c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU518 0x260B 524c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU516 0x260C 525c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU528 0x260D 5260ef0be15S说不得 #define YUGA_PRODUCT_CWU581 0x260E 527c6eb2d75SGavin.zhu #define YUGA_PRODUCT_CWU526 0x260F 5280ef0be15S说不得 #define YUGA_PRODUCT_CWU582 0x261F 5290ef0be15S说不得 #define YUGA_PRODUCT_CWU583 0x262F 530c6eb2d75SGavin.zhu 5310ef0be15S说不得 #define YUGA_PRODUCT_CLM600 0x3601 5320ef0be15S说不得 #define YUGA_PRODUCT_CLM610 0x3602 5330ef0be15S说不得 #define YUGA_PRODUCT_CLM500 0x3603 5340ef0be15S说不得 #define YUGA_PRODUCT_CLM510 0x3604 5350ef0be15S说不得 #define YUGA_PRODUCT_CLM800 0x3605 5360ef0be15S说不得 #define YUGA_PRODUCT_CLM900 0x3606 537c6eb2d75SGavin.zhu 5380ef0be15S说不得 #define YUGA_PRODUCT_CLU718 0x3607 5390ef0be15S说不得 #define YUGA_PRODUCT_CLU716 0x3608 5400ef0be15S说不得 #define YUGA_PRODUCT_CLU728 0x3609 5410ef0be15S说不得 #define YUGA_PRODUCT_CLU726 0x360A 5420ef0be15S说不得 #define YUGA_PRODUCT_CLU518 0x360B 5430ef0be15S说不得 #define YUGA_PRODUCT_CLU516 0x360C 5440ef0be15S说不得 #define YUGA_PRODUCT_CLU528 0x360D 5450ef0be15S说不得 #define YUGA_PRODUCT_CLU526 0x360F 546c6eb2d75SGavin.zhu 5475b061623SVU Tuan Duc /* Viettel products */ 5485b061623SVU Tuan Duc #define VIETTEL_VENDOR_ID 0x2262 5495b061623SVU Tuan Duc #define VIETTEL_PRODUCT_VT1000 0x0002 5505b061623SVU Tuan Duc 5513c8c9316SJanne Snabb /* ZD Incorporated */ 5523c8c9316SJanne Snabb #define ZD_VENDOR_ID 0x0685 5533c8c9316SJanne Snabb #define ZD_PRODUCT_7000 0x7000 5543c8c9316SJanne Snabb 555e423d740SKentaro Matsuyama /* LG products */ 556e423d740SKentaro Matsuyama #define LG_VENDOR_ID 0x1004 557e423d740SKentaro Matsuyama #define LG_PRODUCT_L02C 0x618f 558e423d740SKentaro Matsuyama 5590d8520a1SMeng Zhang /* MediaTek products */ 5600d8520a1SMeng Zhang #define MEDIATEK_VENDOR_ID 0x0e8d 561aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_DC_1COM 0x00a0 562aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_DC_4COM 0x00a5 56394a85b63SQuentin.Li #define MEDIATEK_PRODUCT_DC_4COM2 0x00a7 564aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_DC_5COM 0x00a4 565aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_7208_1COM 0x7101 566aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_7208_2COM 0x7102 56794a85b63SQuentin.Li #define MEDIATEK_PRODUCT_7103_2COM 0x7103 56894a85b63SQuentin.Li #define MEDIATEK_PRODUCT_7106_2COM 0x7106 569aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_FP_1COM 0x0003 570aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_FP_2COM 0x0023 571aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_FPDC_1COM 0x0043 572aacef9c5SGaosen Zhang #define MEDIATEK_PRODUCT_FPDC_2COM 0x0033 5730d8520a1SMeng Zhang 5741e2c4e59SDmitry Shmygov /* Cellient products */ 5751e2c4e59SDmitry Shmygov #define CELLIENT_VENDOR_ID 0x2692 5761e2c4e59SDmitry Shmygov #define CELLIENT_PRODUCT_MEN200 0x9005 5773e765cabSWilken Gottwalt #define CELLIENT_PRODUCT_MPL200 0x9025 5781e2c4e59SDmitry Shmygov 579ad86e586SDzianis Kahanovich /* Hyundai Petatel Inc. products */ 580ad86e586SDzianis Kahanovich #define PETATEL_VENDOR_ID 0x1ff4 581c38e83b6SDaniil Bolsun #define PETATEL_PRODUCT_NP10T_600A 0x600a 582c38e83b6SDaniil Bolsun #define PETATEL_PRODUCT_NP10T_600E 0x600e 583ad86e586SDzianis Kahanovich 58499beb2e9SBjørn Mork /* TP-LINK Incorporated products */ 58599beb2e9SBjørn Mork #define TPLINK_VENDOR_ID 0x2357 586837ddc47SHenryk Heisig #define TPLINK_PRODUCT_LTE 0x000D 58799beb2e9SBjørn Mork #define TPLINK_PRODUCT_MA180 0x0201 58899beb2e9SBjørn Mork 589d4fa6815SBjørn Mork /* Changhong products */ 590d4fa6815SBjørn Mork #define CHANGHONG_VENDOR_ID 0x2077 591d4fa6815SBjørn Mork #define CHANGHONG_PRODUCT_CH690 0x7001 592d4fa6815SBjørn Mork 593f4c19b8eSGreg Kroah-Hartman /* Inovia */ 594f4c19b8eSGreg Kroah-Hartman #define INOVIA_VENDOR_ID 0x20a6 595f4c19b8eSGreg Kroah-Hartman #define INOVIA_SEW858 0x1105 596f4c19b8eSGreg Kroah-Hartman 597d7730273SBrennan Ashton /* VIA Telecom */ 598d7730273SBrennan Ashton #define VIATELECOM_VENDOR_ID 0x15eb 599d7730273SBrennan Ashton #define VIATELECOM_PRODUCT_CDS7 0x0001 600d7730273SBrennan Ashton 6016695593eSAleksandr Makarov /* WeTelecom products */ 6026695593eSAleksandr Makarov #define WETELECOM_VENDOR_ID 0x22de 6036695593eSAleksandr Makarov #define WETELECOM_PRODUCT_WMD200 0x6801 60440d9c325SAleksandr Makarov #define WETELECOM_PRODUCT_6802 0x6802 60540d9c325SAleksandr Makarov #define WETELECOM_PRODUCT_WMD300 0x6803 6066695593eSAleksandr Makarov 6078d5fc280SYan Xinyu /* OPPO products */ 6088d5fc280SYan Xinyu #define OPPO_VENDOR_ID 0x22d9 6098d5fc280SYan Xinyu #define OPPO_PRODUCT_R11 0x276c 6108d5fc280SYan Xinyu 611df3414b0SBenoît Monin /* Sierra Wireless products */ 612df3414b0SBenoît Monin #define SIERRA_VENDOR_ID 0x1199 613df3414b0SBenoît Monin #define SIERRA_PRODUCT_EM9191 0x90d3 614cc175ce2SGernot Hillier 615a095edfcSArınç ÜNAL /* UNISOC (Spreadtrum) products */ 616a095edfcSArınç ÜNAL #define UNISOC_VENDOR_ID 0x1782 617a095edfcSArınç ÜNAL /* TOZED LT70-C based on UNISOC SL8563 uses UNISOC's vendor ID */ 618a095edfcSArınç ÜNAL #define TOZED_PRODUCT_LT70C 0x4055 6192beaa03eSAsuna Yang /* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */ 6202beaa03eSAsuna Yang #define LUAT_PRODUCT_AIR720U 0x4e00 621a095edfcSArınç ÜNAL 622c3a65808SJohan Hovold /* Device flags */ 623a7417100SGernot Hillier 624a251963fSJohan Hovold /* Highest interface number which can be used with NCTRL() and RSVD() */ 625a251963fSJohan Hovold #define FLAG_IFNUM_MAX 7 626a251963fSJohan Hovold 627c3a65808SJohan Hovold /* Interface does not support modem-control requests */ 628c3a65808SJohan Hovold #define NCTRL(ifnum) ((BIT(ifnum) & 0xff) << 8) 629638148e2SBjørn Mork 630c3a65808SJohan Hovold /* Interface is reserved */ 631c3a65808SJohan Hovold #define RSVD(ifnum) ((BIT(ifnum) & 0xff) << 0) 63215badbccSDan Williams 63335aecc02SJohan Hovold /* Interface must have two endpoints */ 63435aecc02SJohan Hovold #define NUMEP2 BIT(16) 63535aecc02SJohan Hovold 6362438c3a1SDaniele Palmas /* Device needs ZLP */ 6372438c3a1SDaniele Palmas #define ZLP BIT(17) 6382438c3a1SDaniele Palmas 63971a0483dSKristian Evensen 6407d40d7e8SNémeth Márton static const struct usb_device_id option_ids[] = { 641fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, 642fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, 643fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_LIGHT) }, 644fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_QUAD) }, 645fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_QUAD_LIGHT) }, 646fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS) }, 647fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_LIGHT) }, 648fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_QUAD) }, 649fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA_NDIS_QUAD_LIGHT) }, 65014f76cc7SMatthias Urlichs { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) }, 651fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA_BUS) }, 652fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_VIPER) }, 653fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_VIPER_BUS) }, 654fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GT_MAX_READY) }, 655fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_LIGHT) }, 656fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_GT) }, 657fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUJI_MODEM_EX) }, 658fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_KOI_MODEM) }, 659fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_SCORPION_MODEM) }, 660fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM) }, 661fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_LITE) }, 662fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_GT) }, 663fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_EX) }, 664fd978bfaSGreg Kroah-Hartman { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_MODEM) }, 665e7f2f0d7SAchilleas Kotsis { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GTM380_MODEM) }, 666fc91be2aSAlex.Cheng@quantatw.com { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_Q101) }, 667fc91be2aSAlex.Cheng@quantatw.com { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_Q111) }, 668fc91be2aSAlex.Cheng@quantatw.com { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLX) }, 669fc91be2aSAlex.Cheng@quantatw.com { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GKE) }, 670fc91be2aSAlex.Cheng@quantatw.com { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) }, 671cd565279SBjørn Mork { USB_DEVICE(QUANTA_VENDOR_ID, 0xea42), 672c3a65808SJohan Hovold .driver_info = RSVD(4) }, 6731f3f6877SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c05, USB_CLASS_COMM, 0x02, 0xff) }, 674daec90e7SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c1f, USB_CLASS_COMM, 0x02, 0xff) }, 6751f3f6877SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1c23, USB_CLASS_COMM, 0x02, 0xff) }, 676f36446cfSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173, 0xff, 0xff, 0xff), 677c3a65808SJohan Hovold .driver_info = RSVD(1) }, 6788f173e22SGustavo Zacarias { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E173S6, 0xff, 0xff, 0xff), 679c3a65808SJohan Hovold .driver_info = RSVD(1) }, 680eb2addd4SMichal Malý { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1750, 0xff, 0xff, 0xff), 681c3a65808SJohan Hovold .driver_info = RSVD(2) }, 6821f3f6877SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1441, USB_CLASS_COMM, 0x02, 0xff) }, 6831f3f6877SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x1442, USB_CLASS_COMM, 0x02, 0xff) }, 6840d905fd5SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4505, 0xff, 0xff, 0xff), 685c3a65808SJohan Hovold .driver_info = RSVD(1) | RSVD(2) }, 6860d905fd5SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3765, 0xff, 0xff, 0xff), 687c3a65808SJohan Hovold .driver_info = RSVD(1) | RSVD(2) }, 688b8a24e62SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0x14ac, 0xff, 0xff, 0xff), /* Huawei E1820 */ 689c3a65808SJohan Hovold .driver_info = RSVD(1) }, 6900d905fd5SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4605, 0xff, 0xff, 0xff), 691c3a65808SJohan Hovold .driver_info = RSVD(1) | RSVD(2) }, 692ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0xff, 0xff) }, 693ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x01) }, 694ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x02) }, 695ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x03) }, 696ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x04) }, 697ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x05) }, 698ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x06) }, 699ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0A) }, 700ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0B) }, 701ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0D) }, 702ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0E) }, 703ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x0F) }, 704ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x10) }, 705ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x12) }, 706ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x13) }, 707ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x14) }, 708ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x15) }, 709ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x17) }, 710ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x18) }, 711ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x19) }, 712ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1A) }, 713ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1B) }, 714ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x1C) }, 715ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x31) }, 716ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x32) }, 717ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x33) }, 718ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x34) }, 719ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x35) }, 720ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x36) }, 721ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3A) }, 722ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3B) }, 723ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3D) }, 724ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3E) }, 725ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x3F) }, 726ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x48) }, 727ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x49) }, 728ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4A) }, 729ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4B) }, 730ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x4C) }, 731ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x61) }, 732ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x62) }, 733ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x63) }, 734ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x64) }, 735ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x65) }, 736ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x66) }, 737ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6A) }, 738ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6B) }, 739ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6D) }, 740ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6E) }, 741ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x6F) }, 7422bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x72) }, 7432bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x73) }, 7442bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x74) }, 7452bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x75) }, 746ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x78) }, 747ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x79) }, 748ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7A) }, 749ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7B) }, 750ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x7C) }, 751ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x01) }, 752ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x02) }, 753ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x03) }, 754ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x04) }, 755ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x05) }, 756ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x06) }, 757ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0A) }, 758ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0B) }, 759ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0D) }, 760ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0E) }, 761ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x0F) }, 762ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x10) }, 763ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x12) }, 764ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x13) }, 765ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x14) }, 766ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x15) }, 767ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x17) }, 768ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x18) }, 769ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x19) }, 770ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1A) }, 771ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1B) }, 772ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x1C) }, 773ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x31) }, 774ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x32) }, 775ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x33) }, 776ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x34) }, 777ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x35) }, 778ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x36) }, 779ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3A) }, 780ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3B) }, 781ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3D) }, 782ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3E) }, 783ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x3F) }, 784ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x48) }, 785ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x49) }, 786ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4A) }, 787ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4B) }, 788ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x4C) }, 789ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x61) }, 790ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x62) }, 791ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x63) }, 792ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x64) }, 793ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x65) }, 794ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x66) }, 795ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6A) }, 796ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6B) }, 797ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6D) }, 798ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6E) }, 799ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x6F) }, 8002bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x72) }, 8012bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x73) }, 8022bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x74) }, 8032bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x75) }, 804ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x78) }, 805ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x79) }, 806ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7A) }, 807ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7B) }, 808ee6f827dSfangxiaozhi { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x02, 0x7C) }, 809d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x01) }, 810d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x02) }, 811d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x03) }, 812d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x04) }, 813d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x05) }, 814d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x06) }, 815d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x0A) }, 816d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x0B) }, 817d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x0D) }, 818d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x0E) }, 819d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x0F) }, 820d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x10) }, 821d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x12) }, 822d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x13) }, 823d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x14) }, 824d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x15) }, 825d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x17) }, 826d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x18) }, 827d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x19) }, 828d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x1A) }, 829d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x1B) }, 830d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x1C) }, 831d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x31) }, 832d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x32) }, 833d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x33) }, 834d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x34) }, 835d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x35) }, 836d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x36) }, 837d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x3A) }, 838d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x3B) }, 839d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x3D) }, 840d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x3E) }, 841d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x3F) }, 842d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x48) }, 843d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x49) }, 844d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x4A) }, 845d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x4B) }, 846d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x4C) }, 847d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x61) }, 848d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x62) }, 849d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x63) }, 850d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x64) }, 851d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x65) }, 852d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x66) }, 853d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x6A) }, 854d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x6B) }, 855d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x6D) }, 856d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x6E) }, 857d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x6F) }, 8582bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x72) }, 8592bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x73) }, 8602bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x74) }, 8612bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x75) }, 862d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x78) }, 863d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x79) }, 864d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x7A) }, 865d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x7B) }, 866d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x03, 0x7C) }, 867d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x01) }, 868d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x02) }, 869d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x03) }, 870d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x04) }, 871d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x05) }, 872d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x06) }, 873d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x0A) }, 874d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x0B) }, 875d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x0D) }, 876d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x0E) }, 877d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x0F) }, 878d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x10) }, 879d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x12) }, 880d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x13) }, 881d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x14) }, 882d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x15) }, 883d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x17) }, 884d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x18) }, 885d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x19) }, 886d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x1A) }, 887d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x1B) }, 888d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x1C) }, 889d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x31) }, 890d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x32) }, 891d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x33) }, 892d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x34) }, 893d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x35) }, 894d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x36) }, 895d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x3A) }, 896d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x3B) }, 897d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x3D) }, 898d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x3E) }, 899d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x3F) }, 900d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x48) }, 901d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x49) }, 902d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x4A) }, 903d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x4B) }, 904d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x4C) }, 905d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x61) }, 906d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x62) }, 907d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x63) }, 908d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x64) }, 909d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x65) }, 910d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x66) }, 911d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x6A) }, 912d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x6B) }, 913d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x6D) }, 914d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x6E) }, 915d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x6F) }, 9162bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x72) }, 9172bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x73) }, 9182bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x74) }, 9192bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x75) }, 920d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x78) }, 921d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x79) }, 922d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x7A) }, 923d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x7B) }, 924d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x04, 0x7C) }, 925d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x01) }, 926d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x02) }, 927d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x03) }, 928d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x04) }, 929d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x05) }, 930d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x06) }, 931d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x0A) }, 932d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x0B) }, 933d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x0D) }, 934d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x0E) }, 935d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x0F) }, 936d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x10) }, 937d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x12) }, 938d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x13) }, 939d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x14) }, 940d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x15) }, 941d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x17) }, 942d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x18) }, 943d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x19) }, 944d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x1A) }, 945d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x1B) }, 946d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x1C) }, 947d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x31) }, 948d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x32) }, 949d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x33) }, 950d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x34) }, 951d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x35) }, 952d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x36) }, 953d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x3A) }, 954d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x3B) }, 955d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x3D) }, 956d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x3E) }, 957d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x3F) }, 958d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x48) }, 959d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x49) }, 960d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x4A) }, 961d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x4B) }, 962d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x4C) }, 963d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x61) }, 964d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x62) }, 965d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x63) }, 966d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x64) }, 967d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x65) }, 968d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x66) }, 969d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x6A) }, 970d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x6B) }, 971d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x6D) }, 972d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x6E) }, 973d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x6F) }, 9742bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x72) }, 9752bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x73) }, 9762bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x74) }, 9772bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x75) }, 978d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x78) }, 979d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x79) }, 980d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x7A) }, 981d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x7B) }, 982d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x05, 0x7C) }, 983d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x01) }, 984d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x02) }, 985d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x03) }, 986d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x04) }, 987d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x05) }, 988d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x06) }, 989d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x0A) }, 990d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x0B) }, 991d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x0D) }, 992d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x0E) }, 993d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x0F) }, 994d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x10) }, 995d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x12) }, 996d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x13) }, 997d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x14) }, 998d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x15) }, 999d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x17) }, 1000d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x18) }, 1001d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x19) }, 1002d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x1A) }, 1003d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x1B) }, 1004d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x1C) }, 1005d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x31) }, 1006d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x32) }, 1007d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x33) }, 1008d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x34) }, 1009d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x35) }, 1010d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x36) }, 1011d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x3A) }, 1012d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x3B) }, 1013d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x3D) }, 1014d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x3E) }, 1015d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x3F) }, 1016d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x48) }, 1017d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x49) }, 1018d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x4A) }, 1019d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x4B) }, 1020d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x4C) }, 1021d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x61) }, 1022d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x62) }, 1023d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x63) }, 1024d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x64) }, 1025d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x65) }, 1026d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x66) }, 1027d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x6A) }, 1028d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x6B) }, 1029d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x6D) }, 1030d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x6E) }, 1031d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x6F) }, 10322bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x72) }, 10332bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x73) }, 10342bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x74) }, 10352bf308d7SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x75) }, 1036d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x78) }, 1037d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x79) }, 1038d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x7A) }, 1039d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x7B) }, 1040d544db29SFangxiaozhi (Franko) { USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x06, 0x7C) }, 1041ee6f827dSfangxiaozhi 10426caf0be4STony Lindgren /* Motorola devices */ 10436caf0be4STony Lindgren { USB_DEVICE_AND_INTERFACE_INFO(0x22b8, 0x2a70, 0xff, 0xff, 0xff) }, /* mdm6600 */ 10446caf0be4STony Lindgren { USB_DEVICE_AND_INTERFACE_INFO(0x22b8, 0x2e0a, 0xff, 0xff, 0xff) }, /* mdm9600 */ 10456caf0be4STony Lindgren { USB_DEVICE_AND_INTERFACE_INFO(0x22b8, 0x4281, 0x0a, 0x00, 0xfc) }, /* mdm ram dl */ 10466caf0be4STony Lindgren { USB_DEVICE_AND_INTERFACE_INFO(0x22b8, 0x900e, 0xff, 0xff, 0xff) }, /* mdm qc dl */ 1047ee6f827dSfangxiaozhi 1048c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, 1049c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, 1050c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V740) }, 1051c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V720) }, 1052c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U730) }, 1053c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U740) }, 1054c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U870) }, 1055c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_XU870) }, 1056c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_X950D) }, 1057c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EV620) }, 1058c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_ES720) }, 1059c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E725) }, 1060c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_ES620) }, 1061c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EU730) }, 1062c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EU740) }, 1063c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EU870D) }, 1064c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC950D) }, 1065c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC727) }, 1066c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_OVMC760) }, 1067c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC780) }, 1068c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_FULLSPEED) }, 1069c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_FULLSPEED) }, 1070c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_FULLSPEED) }, 1071c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_FULLSPEED) }, 1072c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_HIGHSPEED) }, 10739ac2feb2SSantiago Garcia Mantinan { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED) }, 1074c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED3) }, 1075c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED4) }, 1076c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED5) }, 1077c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED6) }, 1078c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_HIGHSPEED7) }, 1079c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC996D) }, 1080c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MF3470) }, 1081c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC547) }, 1082c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_HIGHSPEED) }, 1083c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_EMBEDDED_HIGHSPEED) }, 1084c7aa8f44SDirk De Schepper { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_G2) }, 1085065b07e7SForest Bond /* Novatel Ovation MC551 a.k.a. Verizon USB551L */ 1086065b07e7SForest Bond { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC551, 0xff, 0xff, 0xff) }, 1087fcb21645SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E362, 0xff, 0xff, 0xff) }, 10888a61ba3aSAlexej Starschenko { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E371, 0xff, 0xff, 0xff) }, 1089e07af133SAleksander Morgado { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U620L, 0xff, 0x00, 0x00) }, 109072ab6414SDirk DeSchepper 109132147be4Stang kai { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) }, 109232147be4Stang kai { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) }, 109332147be4Stang kai { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H02) }, 10947595931cSDennis Jansen { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_SKYPEPHONE_S2) }, 109532147be4Stang kai 1096c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_MINICARD) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite EV620 CDMA/EV-DO */ 1097c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5500_MINICARD) }, /* Dell Wireless 5500 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */ 1098c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5505_MINICARD) }, /* Dell Wireless 5505 Mobile Broadband HSDPA Mini-Card == Novatel Expedite EU740 HSDPA/3G */ 1099c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_EXPRESSCARD) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO ExpressCard == Novatel Merlin XV620 CDMA/EV-DO */ 1100c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5510_EXPRESSCARD) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */ 1101c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_MINICARD_SPRINT) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */ 1102c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5700_MINICARD_TELUS) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite ET620 CDMA/EV-DO */ 1103c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5720_MINICARD_VZW) }, /* Dell Wireless 5720 == Novatel EV620 CDMA/EV-DO */ 1104c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5720_MINICARD_SPRINT) }, /* Dell Wireless 5720 == Novatel EV620 CDMA/EV-DO */ 1105c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5720_MINICARD_TELUS) }, /* Dell Wireless 5720 == Novatel EV620 CDMA/EV-DO */ 1106c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_CINGULAR) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */ 1107c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_GENERIC_L) }, /* Dell Wireless HSDPA 5520 */ 1108c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_GENERIC_I) }, /* Dell Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard */ 1109c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_SPRINT) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ 1110c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_TELUS) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ 1111c200b9c9SDirk De Schepper { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_VZW) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ 1112fcb21645SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_MINICARD_VZW, 0xff, 0xff, 0xff) }, 1113fcb21645SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5800_V2_MINICARD_VZW, 0xff, 0xff, 0xff) }, 111449c6e370SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(DELL_VENDOR_ID, DELL_PRODUCT_5804_MINICARD_ATT, 0xff, 0xff, 0xff) }, 11157bab01ecSAleksander Morgado { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5821E), 11167bab01ecSAleksander Morgado .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, 1117957c31eaSAleksander Morgado { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5821E_ESIM), 1118957c31eaSAleksander Morgado .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, 11196ecb3f0bSSlark Xiao { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5829E), 11206ecb3f0bSSlark Xiao .driver_info = RSVD(0) | RSVD(6) }, 11216ecb3f0bSSlark Xiao { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5829E_ESIM), 11226ecb3f0bSSlark Xiao .driver_info = RSVD(0) | RSVD(6) }, 112352480e1fSPuliang Lu { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R, 0xff) }, 112452480e1fSPuliang Lu { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R_ESIM, 0xff) }, 1125bb78a825SJon K Hellan { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, /* ADU-E100, ADU-310 */ 112646269db9SAlexander Gattin { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, 1127f8033827SHiroshi Miura { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_620UW) }, 112885fb62a0SDaniel Kozák { USB_DEVICE(AXESSTEL_VENDOR_ID, AXESSTEL_PRODUCT_MV110H) }, 1129c6206faaSLeslie Watter { USB_DEVICE(YISO_VENDOR_ID, YISO_PRODUCT_U893) }, 1130dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1, 0xff) }, 1131dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_2, 0xff) }, 1132dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1004, 0xff) }, 1133dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1005, 0xff) }, 1134dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1006, 0xff) }, 1135dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1007, 0xff) }, 1136dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1008, 0xff) }, 1137dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1009, 0xff) }, 1138dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100A, 0xff) }, 1139dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100B, 0xff) }, 1140dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100C, 0xff) }, 1141dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100D, 0xff) }, 1142dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100E, 0xff) }, 1143dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_100F, 0xff) }, 1144dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1010, 0xff) }, 1145dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1011, 0xff) }, 1146dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1012, 0xff) }, 1147640c1bceSGreg Kroah-Hartman { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC650) }, 1148564d61d3SDan Williams { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, 114963a901c0SJohan Hovold { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */ 1150d061c1caSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUALCOMM_VENDOR_ID, 0x6001, 0xff, 0xff, 0xff), /* 4G LTE usb-modem U901 */ 1151c3a65808SJohan Hovold .driver_info = RSVD(3) }, 1152d726fb75SKevin Lloyd { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */ 115363b5df96SEnrico Mioso { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ 1154f8df5c2cSMans Rullgard { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ 1155f8df5c2cSMans Rullgard .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, 11566e9f44eaSDan Williams /* Quectel products using Qualcomm vendor ID */ 11576e9f44eaSDan Williams { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, 11586e9f44eaSDan Williams { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), 1159c3a65808SJohan Hovold .driver_info = RSVD(4) }, 11603920bb71SSZ Lin (林上智) /* Yuga products use Qualcomm vendor ID */ 11613920bb71SSZ Lin (林上智) { USB_DEVICE(QUALCOMM_VENDOR_ID, YUGA_PRODUCT_CLM920_NC5), 1162c3a65808SJohan Hovold .driver_info = RSVD(1) | RSVD(4) }, 11634205cb01SSZ Lin (林上智) /* u-blox products using Qualcomm vendor ID */ 11644205cb01SSZ Lin (林上智) { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R410M), 11654205cb01SSZ Lin (林上智) .driver_info = RSVD(1) | RSVD(3) }, 1166d9e37a5cSDavide Tronchin { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x908b), /* u-blox LARA-R6 00B */ 1167d9e37a5cSDavide Tronchin .driver_info = RSVD(4) }, 11682ec106b9SDavide Tronchin { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x90fa), 116994b619a0SMarco De Marco .driver_info = RSVD(3) }, 1170c1547f12SDavide Tronchin /* u-blox products */ 1171ffa5f7a3SDavide Tronchin { USB_DEVICE(UBLOX_VENDOR_ID, 0x1311) }, /* u-blox LARA-R6 01B */ 1172ffa5f7a3SDavide Tronchin { USB_DEVICE(UBLOX_VENDOR_ID, 0x1312), /* u-blox LARA-R6 01B (RMNET) */ 1173ffa5f7a3SDavide Tronchin .driver_info = RSVD(4) }, 1174ffa5f7a3SDavide Tronchin { USB_DEVICE_INTERFACE_CLASS(UBLOX_VENDOR_ID, 0x1313, 0xff) }, /* u-blox LARA-R6 01B (ECM) */ 1175c1547f12SDavide Tronchin { USB_DEVICE(UBLOX_VENDOR_ID, 0x1341) }, /* u-blox LARA-L6 */ 1176c1547f12SDavide Tronchin { USB_DEVICE(UBLOX_VENDOR_ID, 0x1342), /* u-blox LARA-L6 (RMNET) */ 1177c1547f12SDavide Tronchin .driver_info = RSVD(4) }, 1178c1547f12SDavide Tronchin { USB_DEVICE(UBLOX_VENDOR_ID, 0x1343), /* u-blox LARA-L6 (ECM) */ 1179c1547f12SDavide Tronchin .driver_info = RSVD(4) }, 11806e9f44eaSDan Williams /* Quectel products using Quectel vendor ID */ 11812bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0xff, 0xff), 11822bb70f0aSBjørn Mork .driver_info = NUMEP2 }, 11832bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0, 0) }, 11842bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25, 0xff, 0xff, 0xff), 11852bb70f0aSBjørn Mork .driver_info = NUMEP2 }, 11862bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25, 0xff, 0, 0) }, 1187c184acccSTomaz Solc { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG91, 0xff, 0xff, 0xff), 1188c184acccSTomaz Solc .driver_info = NUMEP2 }, 1189c184acccSTomaz Solc { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG91, 0xff, 0, 0) }, 11902bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0xff, 0xff), 11912bb70f0aSBjørn Mork .driver_info = NUMEP2 }, 11922bb70f0aSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, 1193f8f67effSCarl Yin(殷张成) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, 0x0203, 0xff), /* BG95-M3 */ 1194f8f67effSCarl Yin(殷张成) .driver_info = ZLP }, 1195c98fff73SBjørn Mork { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), 1196c98fff73SBjørn Mork .driver_info = RSVD(4) }, 119736cae568SKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff), 119835aecc02SJohan Hovold .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, 119936cae568SKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) }, 120071dfd381SDuke Xin(辛安文) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN, 0xff), 120171dfd381SDuke Xin(辛安文) .driver_info = RSVD(6) | ZLP }, 12021541dd00SDuke Xin(辛安文) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN_SG, 0xff), 12031541dd00SDuke Xin(辛安文) .driver_info = RSVD(6) | ZLP }, 120433b29dbbSYonglin Tan { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G, 0xff), 120533b29dbbSYonglin Tan .driver_info = RSVD(6) | ZLP }, 1206873854c0SMartin Kohn { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05GV2, 0xff), 1207873854c0SMartin Kohn .driver_info = RSVD(4) | ZLP }, 1208bb78654bSDuke Xin(辛安文) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_CS, 0xff), 1209bb78654bSDuke Xin(辛安文) .driver_info = RSVD(6) | ZLP }, 12106c331f32SDuke Xin(辛安文) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_GR, 0xff), 12116c331f32SDuke Xin(辛安文) .driver_info = RSVD(6) | ZLP }, 1212b72d1397SDuke Xin(辛安文) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_RS, 0xff), 1213b72d1397SDuke Xin(辛安文) .driver_info = RSVD(6) | ZLP }, 1214f0052d7aSDuke Xin { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_SG, 0xff), 1215f0052d7aSDuke Xin .driver_info = RSVD(6) | ZLP }, 1216f766f3abSYonglin Tan { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) }, 1217f766f3abSYonglin Tan { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) }, 1218f766f3abSYonglin Tan { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) }, 12194f7cab49SJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x30) }, 12204f7cab49SJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0x00, 0x40) }, 12214f7cab49SJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x40) }, 1222b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_129, 0xff, 0xff, 0x30) }, 1223b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_129, 0xff, 0x00, 0x40) }, 1224b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_129, 0xff, 0xff, 0x40) }, 1225b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12a, 0xff, 0xff, 0x30) }, 1226b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12a, 0xff, 0x00, 0x40) }, 1227b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12a, 0xff, 0xff, 0x40) }, 1228b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12b, 0xff, 0xff, 0x30) }, 1229b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12b, 0xff, 0x00, 0x40) }, 1230b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12b, 0xff, 0xff, 0x40) }, 1231b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12c, 0xff, 0xff, 0x30) }, 1232b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12c, 0xff, 0x00, 0x40) }, 1233b39ecc8cSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_12c, 0xff, 0xff, 0x40) }, 1234f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x30) }, 1235f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0x00, 0x40) }, 1236f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x40) }, 1237f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x30) }, 1238f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0x00, 0x40) }, 1239f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x40) }, 1240f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x30) }, 1241f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0x00, 0x40) }, 1242f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x40) }, 1243f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x30) }, 1244f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0x00, 0x40) }, 1245f1832e2bSJerry Meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x40) }, 1246d1252f02SKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff), 1247d1252f02SKristian Evensen .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, 1248d1252f02SKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) }, 1249d6c1ddd9SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0620, 0xff, 0xff, 0x30) }, /* EM160R-GL */ 1250d6c1ddd9SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0620, 0xff, 0, 0) }, 125133b7af2fSCarl Yin(殷张成) { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, 0x0700, 0xff), /* BG95 */ 125233b7af2fSCarl Yin(殷张成) .driver_info = RSVD(3) | ZLP }, 1253accf227dSKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) }, 125427149e82SReinhard Speyerer { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0x40) }, 1255accf227dSKristian Evensen { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) }, 1256f3eaabbfSReinhard Speyerer { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10), 1257f3eaabbfSReinhard Speyerer .driver_info = ZLP }, 1258d640c4cbSjerry meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0xff, 0x30) }, 1259d640c4cbSjerry meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0x40) }, 1260d640c4cbSjerry meng { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0) }, 12617708a385SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0900, 0xff, 0, 0), /* RM500U-CN */ 12627708a385SBjørn Mork .driver_info = ZLP }, 1263857ea900SMohsen Tahmasebi { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200A, 0xff, 0, 0) }, 1264d9bbb158SAli Mirghasemi { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) }, 12652263eb73SYu-Tung Chang { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) }, 1266a46b973bSZiyi Cao { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) }, 12677dbe89b7SAlper Ak { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG912Y, 0xff, 0, 0) }, 126890a5c642SBenjamin B. Frost { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG916Q, 0xff, 0x00, 0x00) }, 126915b694e9SMacpaul Lin { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) }, 12704fea315aSBenoît Monin { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0xff, 0x30) }, 12714fea315aSBenoît Monin { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RG650V, 0xff, 0, 0) }, 1272accf227dSKristian Evensen 127334f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, 127434f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) }, 127534f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003), 1276c3a65808SJohan Hovold .driver_info = RSVD(0) }, 127734f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6004) }, 127834f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6005) }, 127934f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CGU_628A) }, 128034f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHE_628S), 1281c3a65808SJohan Hovold .driver_info = RSVD(0) }, 128234f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_301), 1283c3a65808SJohan Hovold .driver_info = RSVD(0) }, 128434f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_628), 1285c3a65808SJohan Hovold .driver_info = RSVD(0) }, 128634f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_628S) }, 128734f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CDU_680) }, 128834f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CDU_685A) }, 128934f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_720S), 1290c3a65808SJohan Hovold .driver_info = RSVD(0) }, 129134f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7002), 1292c3a65808SJohan Hovold .driver_info = RSVD(0) }, 129334f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_629K), 1294c3a65808SJohan Hovold .driver_info = RSVD(4) }, 129534f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7004), 1296c3a65808SJohan Hovold .driver_info = RSVD(3) }, 129734f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7005) }, 129834f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CGU_629), 1299c3a65808SJohan Hovold .driver_info = RSVD(5) }, 130034f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_629S), 1301c3a65808SJohan Hovold .driver_info = RSVD(4) }, 130234f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_720I), 1303c3a65808SJohan Hovold .driver_info = RSVD(0) }, 130434f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7212), 1305c3a65808SJohan Hovold .driver_info = RSVD(0) }, 130634f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7213), 1307c3a65808SJohan Hovold .driver_info = RSVD(0) }, 130834f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7251), 1309c3a65808SJohan Hovold .driver_info = RSVD(1) }, 131034f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7252), 1311c3a65808SJohan Hovold .driver_info = RSVD(1) }, 131234f972d6SBjørn Mork { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7253), 1313c3a65808SJohan Hovold .driver_info = RSVD(1) }, 1314ee53b0caSGreg Kroah-Hartman { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) }, 1315ce60c488SManuel Lauss { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) }, 13167204cf58SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) }, 13177204cf58SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) }, 13187204cf58SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) }, 1319d6de486bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) }, 1320399ad947SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1031, 0xff), /* Telit LE910C1-EUX */ 1321399ad947SDaniele Palmas .driver_info = NCTRL(0) | RSVD(3) }, 1322399ad947SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1033, 0xff), /* Telit LE910C1-EUX (ECM) */ 1323399ad947SDaniele Palmas .driver_info = NCTRL(0) }, 13246a7be48eSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1035, 0xff) }, /* Telit LE910C4-WWX (ECM) */ 1325ff4e2494SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG0), 1326c3a65808SJohan Hovold .driver_info = RSVD(0) | RSVD(1) | NCTRL(2) | RSVD(3) }, 13275b09eff0SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG1), 1328c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 13295b09eff0SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG2), 1330c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, 1331ff4e2494SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG3), 1332c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, 13335deef555SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG5, 0xff), 1334c3a65808SJohan Hovold .driver_info = RSVD(0) | RSVD(1) | NCTRL(2) | RSVD(3) }, 13355eb3f4b8SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1050, 0xff), /* Telit FN980 (rmnet) */ 13365eb3f4b8SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 13375eb3f4b8SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1051, 0xff), /* Telit FN980 (MBIM) */ 13385eb3f4b8SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 13395eb3f4b8SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1052, 0xff), /* Telit FN980 (RNDIS) */ 13405eb3f4b8SDaniele Palmas .driver_info = NCTRL(2) | RSVD(3) }, 13415eb3f4b8SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1053, 0xff), /* Telit FN980 (ECM) */ 13425eb3f4b8SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 1343924a9213SLeonid Bloch { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1054, 0xff), /* Telit FT980-KS */ 1344924a9213SLeonid Bloch .driver_info = NCTRL(2) | RSVD(3) }, 1345db0362eeSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1055, 0xff), /* Telit FN980 (PCIe) */ 1346db0362eeSDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 13475648c073SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1056, 0xff), /* Telit FD980 */ 13485648c073SDaniele Palmas .driver_info = NCTRL(2) | RSVD(3) }, 1349f32c5a04SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1057, 0xff), /* Telit FN980 */ 1350f32c5a04SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1351f32c5a04SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1058, 0xff), /* Telit FN980 (PCIe) */ 1352f32c5a04SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 13537bb05713SCarlo Lobrano { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1060, 0xff), /* Telit LN920 (rmnet) */ 13547bb05713SCarlo Lobrano .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 13557bb05713SCarlo Lobrano { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1061, 0xff), /* Telit LN920 (MBIM) */ 13567bb05713SCarlo Lobrano .driver_info = NCTRL(0) | RSVD(1) }, 13577bb05713SCarlo Lobrano { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1062, 0xff), /* Telit LN920 (RNDIS) */ 13587bb05713SCarlo Lobrano .driver_info = NCTRL(2) | RSVD(3) }, 13597bb05713SCarlo Lobrano { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1063, 0xff), /* Telit LN920 (ECM) */ 13607bb05713SCarlo Lobrano .driver_info = NCTRL(0) | RSVD(1) }, 1361ced6965fSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1070, 0xff), /* Telit FN990A (rmnet) */ 13622b503c85SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1363ced6965fSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1071, 0xff), /* Telit FN990A (MBIM) */ 13642b503c85SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 1365ced6965fSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1072, 0xff), /* Telit FN990A (RNDIS) */ 13662b503c85SDaniele Palmas .driver_info = NCTRL(2) | RSVD(3) }, 1367ced6965fSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1073, 0xff), /* Telit FN990A (ECM) */ 13682b503c85SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 1369ced6965fSFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1075, 0xff), /* Telit FN990A (PCIe) */ 1370f32c5a04SDaniele Palmas .driver_info = RSVD(0) }, 137161e54009SFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1080, 0xff), /* Telit FE990A (rmnet) */ 1372773e8e7dSEnrico Sau .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 137361e54009SFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1081, 0xff), /* Telit FE990A (MBIM) */ 1374773e8e7dSEnrico Sau .driver_info = NCTRL(0) | RSVD(1) }, 137561e54009SFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1082, 0xff), /* Telit FE990A (RNDIS) */ 1376773e8e7dSEnrico Sau .driver_info = NCTRL(2) | RSVD(3) }, 137761e54009SFabio Porcedda { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1083, 0xff), /* Telit FE990A (ECM) */ 1378773e8e7dSEnrico Sau .driver_info = NCTRL(0) | RSVD(1) }, 1379d841a93bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10a0, 0xff), /* Telit FN20C04 (rmnet) */ 1380d841a93bSDaniele Palmas .driver_info = RSVD(0) | NCTRL(3) }, 138186c68aa7SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10a2, 0xff), /* Telit FN920C04 (MBIM) */ 138286c68aa7SDaniele Palmas .driver_info = NCTRL(4) }, 1383d841a93bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10a4, 0xff), /* Telit FN20C04 (rmnet) */ 1384d841a93bSDaniele Palmas .driver_info = RSVD(0) | NCTRL(3) }, 138586c68aa7SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10a7, 0xff), /* Telit FN920C04 (MBIM) */ 138686c68aa7SDaniele Palmas .driver_info = NCTRL(4) }, 1387d841a93bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10a9, 0xff), /* Telit FN20C04 (rmnet) */ 1388d841a93bSDaniele Palmas .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, 138986c68aa7SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10aa, 0xff), /* Telit FN920C04 (MBIM) */ 139086c68aa7SDaniele Palmas .driver_info = NCTRL(3) | RSVD(4) | RSVD(5) }, 1391e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b0, 0xff, 0xff, 0x30), /* Telit FE990B (rmnet) */ 1392e1bfbf0fSFabio Porcedda .driver_info = NCTRL(5) }, 1393e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b0, 0xff, 0xff, 0x40) }, 1394e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b0, 0xff, 0xff, 0x60) }, 1395e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b1, 0xff, 0xff, 0x30), /* Telit FE990B (MBIM) */ 1396e1bfbf0fSFabio Porcedda .driver_info = NCTRL(6) }, 1397e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b1, 0xff, 0xff, 0x40) }, 1398e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b1, 0xff, 0xff, 0x60) }, 1399e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b2, 0xff, 0xff, 0x30), /* Telit FE990B (RNDIS) */ 1400e1bfbf0fSFabio Porcedda .driver_info = NCTRL(6) }, 1401e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b2, 0xff, 0xff, 0x40) }, 1402e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b2, 0xff, 0xff, 0x60) }, 1403e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b3, 0xff, 0xff, 0x30), /* Telit FE990B (ECM) */ 1404e1bfbf0fSFabio Porcedda .driver_info = NCTRL(6) }, 1405e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b3, 0xff, 0xff, 0x40) }, 1406e1bfbf0fSFabio Porcedda { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10b3, 0xff, 0xff, 0x60) }, 1407cd8fb139SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c0, 0xff), /* Telit FE910C04 (rmnet) */ 1408cd8fb139SDaniele Palmas .driver_info = RSVD(0) | NCTRL(3) }, 1409cd8fb139SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c4, 0xff), /* Telit FE910C04 (rmnet) */ 1410cd8fb139SDaniele Palmas .driver_info = RSVD(0) | NCTRL(3) }, 1411cd8fb139SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x10c8, 0xff), /* Telit FE910C04 (rmnet) */ 1412cd8fb139SDaniele Palmas .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, 1413*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x30), /* Telit FN990B (rmnet) */ 14145a3544d8SFabio Porcedda .driver_info = NCTRL(5) }, 1415*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x40) }, 1416*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d0, 0xff, 0xff, 0x60) }, 1417*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x30), /* Telit FN990B (MBIM) */ 14185a3544d8SFabio Porcedda .driver_info = NCTRL(6) }, 1419*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x40) }, 1420*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d1, 0xff, 0xff, 0x60) }, 1421*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x30), /* Telit FN990B (RNDIS) */ 14225a3544d8SFabio Porcedda .driver_info = NCTRL(6) }, 1423*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x40) }, 1424*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d2, 0xff, 0xff, 0x60) }, 1425*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x30), /* Telit FN990B (ECM) */ 14265a3544d8SFabio Porcedda .driver_info = NCTRL(6) }, 1427*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x40) }, 1428*ab0f6e77SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x10d3, 0xff, 0xff, 0x60) }, 142940dd4604SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), 1430c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, 143108933099SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), 1432c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(3) }, 14336431866bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1102, 0xff), /* Telit ME910 (ECM) */ 14346431866bSDaniele Palmas .driver_info = NCTRL(0) }, 14350d3010faSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x110a, 0xff), /* Telit ME910G1 */ 14360d3010faSDaniele Palmas .driver_info = NCTRL(0) | RSVD(3) }, 14378e852a79SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x110b, 0xff), /* Telit ME910G1 (ECM) */ 14388e852a79SDaniele Palmas .driver_info = NCTRL(0) }, 14392d0eb862SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910), 1440c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1441489979b4SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1203, 0xff), /* Telit LE910Cx (RNDIS) */ 1442489979b4SDaniele Palmas .driver_info = NCTRL(2) | RSVD(3) }, 1443f5a8a07eSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1204, 0xff), /* Telit LE910Cx (MBIM) */ 1444f5a8a07eSDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) }, 14453c0415faSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910_USBCFG4), 1446c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, 144703eb466fSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920), 1448c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(5) }, 144901d7956bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1207) }, 145001d7956bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1208), 1451c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) }, 145201d7956bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1211), 1453c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, 145401d7956bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1212), 1455c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) }, 145601d7956bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1213, 0xff) }, 145701d7956bSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920A4_1214), 1458c3a65808SJohan Hovold .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) | RSVD(3) }, 1459489979b4SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1230, 0xff), /* Telit LE910Cx (rmnet) */ 1460489979b4SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1461489979b4SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1231, 0xff), /* Telit LE910Cx (RNDIS) */ 1462489979b4SDaniele Palmas .driver_info = NCTRL(2) | RSVD(3) }, 1463342fc0c3SCarlo Lobrano { USB_DEVICE_AND_INTERFACE_INFO(TELIT_VENDOR_ID, 0x1250, 0xff, 0x00, 0x00) }, /* Telit LE910Cx (rmnet) */ 1464f3dfd407SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, 0x1260), 1465f3dfd407SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 1466f3dfd407SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, 0x1261), 1467f3dfd407SDaniele Palmas .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, 146828a86092SJörgen Storvist { USB_DEVICE(TELIT_VENDOR_ID, 0x1900), /* Telit LN940 (QMI) */ 146928a86092SJörgen Storvist .driver_info = NCTRL(0) | RSVD(1) }, 147028a86092SJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1901, 0xff), /* Telit LN940 (MBIM) */ 147128a86092SJörgen Storvist .driver_info = NCTRL(0) }, 14728d320260SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x3000, 0xff), /* Telit FN912 */ 14738d320260SDaniele Palmas .driver_info = RSVD(0) | NCTRL(3) }, 14748d320260SDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x3001, 0xff), /* Telit FN912 */ 14758d320260SDaniele Palmas .driver_info = RSVD(0) | NCTRL(2) | RSVD(3) | RSVD(4) }, 1476e467714fSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x7010, 0xff), /* Telit LE910-S1 (RNDIS) */ 1477e467714fSDaniele Palmas .driver_info = NCTRL(2) }, 1478e467714fSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x7011, 0xff), /* Telit LE910-S1 (ECM) */ 1479e467714fSDaniele Palmas .driver_info = NCTRL(2) }, 1480cfc4442cSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x701a, 0xff), /* Telit LE910R1 (RNDIS) */ 1481cfc4442cSDaniele Palmas .driver_info = NCTRL(2) }, 1482cfc4442cSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x701b, 0xff), /* Telit LE910R1 (ECM) */ 1483cfc4442cSDaniele Palmas .driver_info = NCTRL(2) }, 14845aaeb60bSDaniele Palmas { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x9000, 0xff), /* Telit generic core-dump device */ 14855aaeb60bSDaniele Palmas .driver_info = NCTRL(0) }, 14862438c3a1SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, 0x9010), /* Telit SBL FN980 flashing device */ 14872438c3a1SDaniele Palmas .driver_info = NCTRL(0) | ZLP }, 1488e353f3e8SDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, 0x9200), /* Telit LE910S1 flashing device */ 1489e353f3e8SDaniele Palmas .driver_info = NCTRL(0) | ZLP }, 1490cfc4442cSDaniele Palmas { USB_DEVICE(TELIT_VENDOR_ID, 0x9201), /* Telit LE910R1 flashing device */ 1491cfc4442cSDaniele Palmas .driver_info = NCTRL(0) | ZLP }, 1492c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ 1493c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff), 1494c3a65808SJohan Hovold .driver_info = RSVD(1) }, 1495c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0003, 0xff, 0xff, 0xff) }, 1496c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0004, 0xff, 0xff, 0xff) }, 1497c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0005, 0xff, 0xff, 0xff) }, 1498c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0006, 0xff, 0xff, 0xff) }, 1499c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0008, 0xff, 0xff, 0xff) }, 1500c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0009, 0xff, 0xff, 0xff) }, 1501c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000a, 0xff, 0xff, 0xff) }, 1502c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000b, 0xff, 0xff, 0xff) }, 1503c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000c, 0xff, 0xff, 0xff) }, 1504c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000d, 0xff, 0xff, 0xff) }, 1505c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000e, 0xff, 0xff, 0xff) }, 1506c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x000f, 0xff, 0xff, 0xff) }, 1507c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0010, 0xff, 0xff, 0xff) }, 1508c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0011, 0xff, 0xff, 0xff) }, 1509c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0012, 0xff, 0xff, 0xff), 1510c3a65808SJohan Hovold .driver_info = RSVD(1) }, 1511c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0013, 0xff, 0xff, 0xff) }, 1512c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628, 0xff, 0xff, 0xff) }, 1513c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0016, 0xff, 0xff, 0xff) }, 1514c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0017, 0xff, 0xff, 0xff), 1515c3a65808SJohan Hovold .driver_info = RSVD(3) }, 1516c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0018, 0xff, 0xff, 0xff) }, 15173d1a69e7SEnrico Mioso { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0019, 0xff, 0xff, 0xff), 1518c3a65808SJohan Hovold .driver_info = RSVD(3) }, 1519c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0020, 0xff, 0xff, 0xff) }, 1520c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0021, 0xff, 0xff, 0xff), 1521c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1522c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0022, 0xff, 0xff, 0xff) }, 1523c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0023, 0xff, 0xff, 0xff) }, 1524c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0024, 0xff, 0xff, 0xff) }, 1525c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0025, 0xff, 0xff, 0xff), 1526c3a65808SJohan Hovold .driver_info = RSVD(1) }, 1527c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0028, 0xff, 0xff, 0xff) }, 1528c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0029, 0xff, 0xff, 0xff) }, 1529c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0030, 0xff, 0xff, 0xff) }, 1530c3a65808SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626, 0xff, 0xff, 0xff), 1531c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) | RSVD(4) }, 1532c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0032, 0xff, 0xff, 0xff) }, 1533c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0033, 0xff, 0xff, 0xff) }, 1534ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0034, 0xff, 0xff, 0xff) }, 1535eb05ce56SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0037, 0xff, 0xff, 0xff), 1536c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) }, 1537ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0038, 0xff, 0xff, 0xff) }, 1538c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0039, 0xff, 0xff, 0xff) }, 1539ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0040, 0xff, 0xff, 0xff) }, 1540c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0042, 0xff, 0xff, 0xff), 1541c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1542c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0043, 0xff, 0xff, 0xff) }, 1543ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0044, 0xff, 0xff, 0xff) }, 1544c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0048, 0xff, 0xff, 0xff) }, 1545c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0049, 0xff, 0xff, 0xff), 1546c3a65808SJohan Hovold .driver_info = RSVD(5) }, 1547ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0050, 0xff, 0xff, 0xff) }, 1548c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0051, 0xff, 0xff, 0xff) }, 1549c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0052, 0xff, 0xff, 0xff), 1550c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1551c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0054, 0xff, 0xff, 0xff) }, 1552c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0055, 0xff, 0xff, 0xff), 1553c3a65808SJohan Hovold .driver_info = RSVD(1) }, 1554ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0056, 0xff, 0xff, 0xff) }, 1555c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0057, 0xff, 0xff, 0xff) }, 1556c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0058, 0xff, 0xff, 0xff), 1557c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1558c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0061, 0xff, 0xff, 0xff) }, 1559c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0062, 0xff, 0xff, 0xff) }, 1560c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0063, 0xff, 0xff, 0xff), 1561c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1562c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0064, 0xff, 0xff, 0xff) }, 1563ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0065, 0xff, 0xff, 0xff) }, 1564c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0066, 0xff, 0xff, 0xff) }, 1565ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0067, 0xff, 0xff, 0xff) }, 1566c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0069, 0xff, 0xff, 0xff) }, 1567c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0076, 0xff, 0xff, 0xff) }, 1568ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0077, 0xff, 0xff, 0xff) }, 1569c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0078, 0xff, 0xff, 0xff) }, 1570ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0079, 0xff, 0xff, 0xff) }, 1571c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0082, 0xff, 0xff, 0xff) }, 1572ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0083, 0xff, 0xff, 0xff) }, 1573c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0086, 0xff, 0xff, 0xff) }, 1574ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0087, 0xff, 0xff, 0xff) }, 15751608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0088, 0xff, 0xff, 0xff) }, 15761608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0089, 0xff, 0xff, 0xff) }, 15771608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0090, 0xff, 0xff, 0xff) }, 15781608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0091, 0xff, 0xff, 0xff) }, 15791608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0092, 0xff, 0xff, 0xff) }, 15801608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0093, 0xff, 0xff, 0xff) }, 15811608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0094, 0xff, 0xff, 0xff) }, 15821608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0095, 0xff, 0xff, 0xff) }, 15831608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0096, 0xff, 0xff, 0xff) }, 15841608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0097, 0xff, 0xff, 0xff) }, 1585c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0104, 0xff, 0xff, 0xff), 1586c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1587ecfa153eSMauro Carvalho Chehab { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0105, 0xff, 0xff, 0xff) }, 15888d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0106, 0xff, 0xff, 0xff) }, 15898d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0108, 0xff, 0xff, 0xff) }, 1590c58a76cdSDan Williams { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0113, 0xff, 0xff, 0xff), 1591c3a65808SJohan Hovold .driver_info = RSVD(5) }, 15928d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0117, 0xff, 0xff, 0xff) }, 15931452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0118, 0xff, 0xff, 0xff), 1594c3a65808SJohan Hovold .driver_info = RSVD(5) }, 15951452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0121, 0xff, 0xff, 0xff), 1596c3a65808SJohan Hovold .driver_info = RSVD(5) }, 15978d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0122, 0xff, 0xff, 0xff) }, 15981452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0123, 0xff, 0xff, 0xff), 1599c3a65808SJohan Hovold .driver_info = RSVD(4) }, 16001452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0124, 0xff, 0xff, 0xff), 1601c3a65808SJohan Hovold .driver_info = RSVD(5) }, 16021452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0125, 0xff, 0xff, 0xff), 1603c3a65808SJohan Hovold .driver_info = RSVD(6) }, 16041452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0126, 0xff, 0xff, 0xff), 1605c3a65808SJohan Hovold .driver_info = RSVD(5) }, 16068d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0128, 0xff, 0xff, 0xff) }, 160731b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0135, 0xff, 0xff, 0xff) }, 160831b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0136, 0xff, 0xff, 0xff) }, 160931b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0137, 0xff, 0xff, 0xff) }, 161031b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0139, 0xff, 0xff, 0xff) }, 16118d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0142, 0xff, 0xff, 0xff) }, 16128d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0143, 0xff, 0xff, 0xff) }, 16138d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0144, 0xff, 0xff, 0xff) }, 16148d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0145, 0xff, 0xff, 0xff) }, 16158d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0148, 0xff, 0xff, 0xff) }, 16168d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0151, 0xff, 0xff, 0xff) }, 16178d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0153, 0xff, 0xff, 0xff) }, 16188d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0155, 0xff, 0xff, 0xff) }, 16198d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0156, 0xff, 0xff, 0xff) }, 1620160c9425SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0157, 0xff, 0xff, 0xff), 1621c3a65808SJohan Hovold .driver_info = RSVD(5) }, 16221452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0158, 0xff, 0xff, 0xff), 1623c3a65808SJohan Hovold .driver_info = RSVD(3) }, 16248d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0159, 0xff, 0xff, 0xff) }, 16258d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0161, 0xff, 0xff, 0xff) }, 16268d87cacdSzhao.ming9@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0162, 0xff, 0xff, 0xff) }, 16271608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0164, 0xff, 0xff, 0xff) }, 16281608ea5fSRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0165, 0xff, 0xff, 0xff) }, 16295889d3d4SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0167, 0xff, 0xff, 0xff), 1630c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1631306f780bSLech Perczak { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0189, 0xff, 0xff, 0xff), 1632306f780bSLech Perczak .driver_info = RSVD(4) }, 16334b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0191, 0xff, 0xff, 0xff), /* ZTE EuFi890 */ 1634c3a65808SJohan Hovold .driver_info = RSVD(4) }, 163531b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0196, 0xff, 0xff, 0xff) }, 163631b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0197, 0xff, 0xff, 0xff) }, 16374b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0199, 0xff, 0xff, 0xff), /* ZTE MF820S */ 1638c3a65808SJohan Hovold .driver_info = RSVD(1) }, 163931b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0200, 0xff, 0xff, 0xff) }, 164031b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0201, 0xff, 0xff, 0xff) }, 164131b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0254, 0xff, 0xff, 0xff) }, 16424b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0257, 0xff, 0xff, 0xff), /* ZTE MF821 */ 1643c3a65808SJohan Hovold .driver_info = RSVD(3) }, 16442291dff0SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0265, 0xff, 0xff, 0xff), /* ONDA MT8205 */ 1645c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1646fab38246SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0284, 0xff, 0xff, 0xff), /* ZTE MF880 */ 1647c3a65808SJohan Hovold .driver_info = RSVD(4) }, 164831b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0317, 0xff, 0xff, 0xff) }, 164909110529SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0326, 0xff, 0xff, 0xff), 1650c3a65808SJohan Hovold .driver_info = RSVD(4) }, 165131b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0330, 0xff, 0xff, 0xff) }, 165231b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0395, 0xff, 0xff, 0xff) }, 165373c042dfSTeppo Kotilainen { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0412, 0xff, 0xff, 0xff), /* Telewell TW-LTE 4G */ 1654c3a65808SJohan Hovold .driver_info = RSVD(4) }, 165531b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0414, 0xff, 0xff, 0xff) }, 165631b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0417, 0xff, 0xff, 0xff) }, 1657aed2a262SJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(ZTE_VENDOR_ID, 0x0601, 0xff) }, /* GosunCn ZTE WeLink ME3630 (RNDIS mode) */ 165870a7444cSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(ZTE_VENDOR_ID, 0x0602, 0xff) }, /* GosunCn ZTE WeLink ME3630 (MBIM mode) */ 1659f264ddeaSAndrew Bird (Sphere Systems) { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1008, 0xff, 0xff, 0xff), 1660c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1661f264ddeaSAndrew Bird (Sphere Systems) { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1010, 0xff, 0xff, 0xff), 1662c3a65808SJohan Hovold .driver_info = RSVD(4) }, 16631452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1012, 0xff, 0xff, 0xff), 1664c3a65808SJohan Hovold .driver_info = RSVD(4) }, 166531b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1018, 0xff, 0xff, 0xff) }, 16664b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1021, 0xff, 0xff, 0xff), 1667c3a65808SJohan Hovold .driver_info = RSVD(2) }, 1668a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1057, 0xff, 0xff, 0xff) }, 1669a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1058, 0xff, 0xff, 0xff) }, 1670a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1059, 0xff, 0xff, 0xff) }, 1671a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1060, 0xff, 0xff, 0xff) }, 1672a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1061, 0xff, 0xff, 0xff) }, 1673a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1062, 0xff, 0xff, 0xff) }, 1674a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1063, 0xff, 0xff, 0xff) }, 1675a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1064, 0xff, 0xff, 0xff) }, 1676a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1065, 0xff, 0xff, 0xff) }, 1677a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1066, 0xff, 0xff, 0xff) }, 1678a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1067, 0xff, 0xff, 0xff) }, 1679a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1068, 0xff, 0xff, 0xff) }, 1680a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1069, 0xff, 0xff, 0xff) }, 1681a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1070, 0xff, 0xff, 0xff) }, 1682a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1071, 0xff, 0xff, 0xff) }, 1683a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1072, 0xff, 0xff, 0xff) }, 1684a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1073, 0xff, 0xff, 0xff) }, 1685a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1074, 0xff, 0xff, 0xff) }, 1686a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1075, 0xff, 0xff, 0xff) }, 1687a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1076, 0xff, 0xff, 0xff) }, 1688a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1077, 0xff, 0xff, 0xff) }, 1689a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1078, 0xff, 0xff, 0xff) }, 1690a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1079, 0xff, 0xff, 0xff) }, 1691a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1080, 0xff, 0xff, 0xff) }, 1692a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1081, 0xff, 0xff, 0xff) }, 1693a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1082, 0xff, 0xff, 0xff) }, 1694a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1083, 0xff, 0xff, 0xff) }, 1695a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1084, 0xff, 0xff, 0xff) }, 1696a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1085, 0xff, 0xff, 0xff) }, 1697a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1086, 0xff, 0xff, 0xff) }, 1698a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1087, 0xff, 0xff, 0xff) }, 1699a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1088, 0xff, 0xff, 0xff) }, 1700a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1089, 0xff, 0xff, 0xff) }, 1701a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1090, 0xff, 0xff, 0xff) }, 1702a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1091, 0xff, 0xff, 0xff) }, 1703a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1092, 0xff, 0xff, 0xff) }, 1704a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1093, 0xff, 0xff, 0xff) }, 1705a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1094, 0xff, 0xff, 0xff) }, 1706a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1095, 0xff, 0xff, 0xff) }, 1707a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1096, 0xff, 0xff, 0xff) }, 1708a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1097, 0xff, 0xff, 0xff) }, 1709a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1098, 0xff, 0xff, 0xff) }, 1710a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1099, 0xff, 0xff, 0xff) }, 1711a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1100, 0xff, 0xff, 0xff) }, 1712a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1101, 0xff, 0xff, 0xff) }, 1713a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1102, 0xff, 0xff, 0xff) }, 1714a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1103, 0xff, 0xff, 0xff) }, 1715a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1104, 0xff, 0xff, 0xff) }, 1716a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1105, 0xff, 0xff, 0xff) }, 1717a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1106, 0xff, 0xff, 0xff) }, 1718a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1107, 0xff, 0xff, 0xff) }, 1719a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1108, 0xff, 0xff, 0xff) }, 1720a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1109, 0xff, 0xff, 0xff) }, 1721a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1110, 0xff, 0xff, 0xff) }, 1722a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1111, 0xff, 0xff, 0xff) }, 1723a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1112, 0xff, 0xff, 0xff) }, 1724a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1113, 0xff, 0xff, 0xff) }, 1725a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1114, 0xff, 0xff, 0xff) }, 1726a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1115, 0xff, 0xff, 0xff) }, 1727a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1116, 0xff, 0xff, 0xff) }, 1728a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1117, 0xff, 0xff, 0xff) }, 1729a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1118, 0xff, 0xff, 0xff) }, 1730a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1119, 0xff, 0xff, 0xff) }, 1731a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1120, 0xff, 0xff, 0xff) }, 1732a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1121, 0xff, 0xff, 0xff) }, 1733a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1122, 0xff, 0xff, 0xff) }, 1734a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1123, 0xff, 0xff, 0xff) }, 1735a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1124, 0xff, 0xff, 0xff) }, 1736a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1125, 0xff, 0xff, 0xff) }, 1737a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1126, 0xff, 0xff, 0xff) }, 1738a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1127, 0xff, 0xff, 0xff) }, 1739a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1128, 0xff, 0xff, 0xff) }, 1740a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1129, 0xff, 0xff, 0xff) }, 1741a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1130, 0xff, 0xff, 0xff) }, 1742a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1131, 0xff, 0xff, 0xff) }, 1743a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1132, 0xff, 0xff, 0xff) }, 1744a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1133, 0xff, 0xff, 0xff) }, 1745a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1134, 0xff, 0xff, 0xff) }, 1746a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1135, 0xff, 0xff, 0xff) }, 1747a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1136, 0xff, 0xff, 0xff) }, 1748a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1137, 0xff, 0xff, 0xff) }, 1749a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1138, 0xff, 0xff, 0xff) }, 1750a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1139, 0xff, 0xff, 0xff) }, 1751a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1140, 0xff, 0xff, 0xff) }, 1752a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1141, 0xff, 0xff, 0xff) }, 1753a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1142, 0xff, 0xff, 0xff) }, 1754a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1143, 0xff, 0xff, 0xff) }, 1755a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1144, 0xff, 0xff, 0xff) }, 1756a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1145, 0xff, 0xff, 0xff) }, 1757a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1146, 0xff, 0xff, 0xff) }, 1758a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1147, 0xff, 0xff, 0xff) }, 1759a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1148, 0xff, 0xff, 0xff) }, 1760a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1149, 0xff, 0xff, 0xff) }, 1761a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1150, 0xff, 0xff, 0xff) }, 1762a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1151, 0xff, 0xff, 0xff) }, 1763a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1152, 0xff, 0xff, 0xff) }, 1764a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1153, 0xff, 0xff, 0xff) }, 1765a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1154, 0xff, 0xff, 0xff) }, 1766a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1155, 0xff, 0xff, 0xff) }, 1767a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1156, 0xff, 0xff, 0xff) }, 1768a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1157, 0xff, 0xff, 0xff) }, 1769a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1158, 0xff, 0xff, 0xff) }, 1770a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1159, 0xff, 0xff, 0xff) }, 1771a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1160, 0xff, 0xff, 0xff) }, 1772a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1161, 0xff, 0xff, 0xff) }, 1773a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1162, 0xff, 0xff, 0xff) }, 1774a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1163, 0xff, 0xff, 0xff) }, 1775a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1164, 0xff, 0xff, 0xff) }, 1776a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1165, 0xff, 0xff, 0xff) }, 1777a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1166, 0xff, 0xff, 0xff) }, 1778a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1167, 0xff, 0xff, 0xff) }, 1779a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1168, 0xff, 0xff, 0xff) }, 1780a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1169, 0xff, 0xff, 0xff) }, 1781a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1170, 0xff, 0xff, 0xff) }, 1782a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1244, 0xff, 0xff, 0xff) }, 17831452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1245, 0xff, 0xff, 0xff), 1784c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1785a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1246, 0xff, 0xff, 0xff) }, 17861452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1247, 0xff, 0xff, 0xff), 1787c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1788a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1248, 0xff, 0xff, 0xff) }, 1789a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1249, 0xff, 0xff, 0xff) }, 1790a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1250, 0xff, 0xff, 0xff) }, 1791a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1251, 0xff, 0xff, 0xff) }, 17921452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1252, 0xff, 0xff, 0xff), 1793c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1794a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1253, 0xff, 0xff, 0xff) }, 17951452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1254, 0xff, 0xff, 0xff), 1796c3a65808SJohan Hovold .driver_info = RSVD(4) }, 17971452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1255, 0xff, 0xff, 0xff), 1798c3a65808SJohan Hovold .driver_info = RSVD(3) | RSVD(4) }, 17991452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1256, 0xff, 0xff, 0xff), 1800c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1801a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1257, 0xff, 0xff, 0xff) }, 1802a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1258, 0xff, 0xff, 0xff) }, 1803a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1259, 0xff, 0xff, 0xff) }, 1804a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1260, 0xff, 0xff, 0xff) }, 1805a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1261, 0xff, 0xff, 0xff) }, 1806a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1262, 0xff, 0xff, 0xff) }, 1807a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1263, 0xff, 0xff, 0xff) }, 1808a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1264, 0xff, 0xff, 0xff) }, 1809a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1265, 0xff, 0xff, 0xff) }, 1810a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1266, 0xff, 0xff, 0xff) }, 1811a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1267, 0xff, 0xff, 0xff) }, 1812a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1268, 0xff, 0xff, 0xff) }, 1813a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1269, 0xff, 0xff, 0xff) }, 18143635c7e2SRaymond Wanyoike { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1270, 0xff, 0xff, 0xff), 1815c3a65808SJohan Hovold .driver_info = RSVD(5) }, 1816a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1271, 0xff, 0xff, 0xff) }, 1817a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1272, 0xff, 0xff, 0xff) }, 1818a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1273, 0xff, 0xff, 0xff) }, 1819a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1274, 0xff, 0xff, 0xff) }, 18206420a569SLech Perczak { USB_DEVICE(ZTE_VENDOR_ID, 0x1275), /* ZTE P685M */ 18216420a569SLech Perczak .driver_info = RSVD(3) | RSVD(4) }, 1822a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1276, 0xff, 0xff, 0xff) }, 1823a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1277, 0xff, 0xff, 0xff) }, 1824a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1278, 0xff, 0xff, 0xff) }, 1825a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1279, 0xff, 0xff, 0xff) }, 1826a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1280, 0xff, 0xff, 0xff) }, 1827a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1281, 0xff, 0xff, 0xff) }, 1828a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1282, 0xff, 0xff, 0xff) }, 1829a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1283, 0xff, 0xff, 0xff) }, 1830a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1284, 0xff, 0xff, 0xff) }, 1831a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1285, 0xff, 0xff, 0xff) }, 1832a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1286, 0xff, 0xff, 0xff) }, 1833a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1287, 0xff, 0xff, 0xff) }, 1834a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1288, 0xff, 0xff, 0xff) }, 1835a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1289, 0xff, 0xff, 0xff) }, 1836a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1290, 0xff, 0xff, 0xff) }, 1837a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1291, 0xff, 0xff, 0xff) }, 1838a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1292, 0xff, 0xff, 0xff) }, 1839a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1293, 0xff, 0xff, 0xff) }, 1840a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1294, 0xff, 0xff, 0xff) }, 1841a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1295, 0xff, 0xff, 0xff) }, 1842a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1296, 0xff, 0xff, 0xff) }, 1843a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1297, 0xff, 0xff, 0xff) }, 1844a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1298, 0xff, 0xff, 0xff) }, 1845a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1299, 0xff, 0xff, 0xff) }, 1846a71ee85eSzhao1980ming { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1300, 0xff, 0xff, 0xff) }, 184731b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1301, 0xff, 0xff, 0xff) }, 184831b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1302, 0xff, 0xff, 0xff) }, 184931b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1303, 0xff, 0xff, 0xff) }, 185031b6a104Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1333, 0xff, 0xff, 0xff) }, 18514b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1401, 0xff, 0xff, 0xff), 1852c3a65808SJohan Hovold .driver_info = RSVD(2) }, 18538e16e33cSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1402, 0xff, 0xff, 0xff), 1854c3a65808SJohan Hovold .driver_info = RSVD(2) }, 18554b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1424, 0xff, 0xff, 0xff), 1856c3a65808SJohan Hovold .driver_info = RSVD(2) }, 18574b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1425, 0xff, 0xff, 0xff), 1858c3a65808SJohan Hovold .driver_info = RSVD(2) }, 18594b35f1c5SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 0xff), /* ZTE MF91 */ 1860c3a65808SJohan Hovold .driver_info = RSVD(2) }, 18613d28bd84SBernd Wachter { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1428, 0xff, 0xff, 0xff), /* Telewell TW-LTE 4G v2 */ 1862c3a65808SJohan Hovold .driver_info = RSVD(2) }, 186370a7444cSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(ZTE_VENDOR_ID, 0x1476, 0xff) }, /* GosunCn ZTE WeLink ME3630 (ECM/NCM mode) */ 18647e7ae38bSYoshiaki Okamoto { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1481, 0xff, 0x00, 0x00) }, /* ZTE MF871A */ 1865d48384c7SPawel Dembicki { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1485, 0xff, 0xff, 0xff), /* ZTE MF286D */ 1866d48384c7SPawel Dembicki .driver_info = RSVD(5) }, 18670636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 0xff) }, 18680636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 0xff) }, 18690636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 0xff) }, 18700636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1545, 0xff, 0xff, 0xff) }, 18710636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1546, 0xff, 0xff, 0xff) }, 18720636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1547, 0xff, 0xff, 0xff) }, 18730636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1565, 0xff, 0xff, 0xff) }, 18740636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1566, 0xff, 0xff, 0xff) }, 18750636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1567, 0xff, 0xff, 0xff) }, 18760636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1589, 0xff, 0xff, 0xff) }, 18770636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1590, 0xff, 0xff, 0xff) }, 18780636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1591, 0xff, 0xff, 0xff) }, 18790636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1592, 0xff, 0xff, 0xff) }, 18800636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1594, 0xff, 0xff, 0xff) }, 18810636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1596, 0xff, 0xff, 0xff) }, 18820636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1598, 0xff, 0xff, 0xff) }, 18830636fc50SRui li { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1600, 0xff, 0xff, 0xff) }, 1884c3a65808SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2002, 0xff, 0xff, 0xff), 1885c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | RSVD(4) }, 1886b9e44fe5Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x2003, 0xff, 0xff, 0xff) }, 1887b9e44fe5Sli.rui27@zte.com.cn 1888c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0014, 0xff, 0xff, 0xff) }, /* ZTE CDMA products */ 1889c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0027, 0xff, 0xff, 0xff) }, 1890c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0059, 0xff, 0xff, 0xff) }, 1891c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0060, 0xff, 0xff, 0xff) }, 1892c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0070, 0xff, 0xff, 0xff) }, 1893c420befdSHerton Ronaldo Krzesinski { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0073, 0xff, 0xff, 0xff) }, 18941452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0130, 0xff, 0xff, 0xff), 1895c3a65808SJohan Hovold .driver_info = RSVD(1) }, 18961452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0133, 0xff, 0xff, 0xff), 1897c3a65808SJohan Hovold .driver_info = RSVD(3) }, 18981452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0141, 0xff, 0xff, 0xff), 1899c3a65808SJohan Hovold .driver_info = RSVD(5) }, 1900b9e44fe5Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0147, 0xff, 0xff, 0xff) }, 1901b9e44fe5Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0152, 0xff, 0xff, 0xff) }, 19021452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0168, 0xff, 0xff, 0xff), 1903c3a65808SJohan Hovold .driver_info = RSVD(4) }, 1904b9e44fe5Sli.rui27@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0170, 0xff, 0xff, 0xff) }, 19051452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0176, 0xff, 0xff, 0xff), 1906c3a65808SJohan Hovold .driver_info = RSVD(3) }, 19071452df6fSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0178, 0xff, 0xff, 0xff), 1908c3a65808SJohan Hovold .driver_info = RSVD(3) }, 1909f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff42, 0xff, 0xff, 0xff) }, 1910f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff43, 0xff, 0xff, 0xff) }, 1911f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff44, 0xff, 0xff, 0xff) }, 1912f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff45, 0xff, 0xff, 0xff) }, 1913f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff46, 0xff, 0xff, 0xff) }, 1914f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff47, 0xff, 0xff, 0xff) }, 1915f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff48, 0xff, 0xff, 0xff) }, 1916f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff49, 0xff, 0xff, 0xff) }, 1917f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4a, 0xff, 0xff, 0xff) }, 1918f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4b, 0xff, 0xff, 0xff) }, 1919f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4c, 0xff, 0xff, 0xff) }, 1920f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4d, 0xff, 0xff, 0xff) }, 1921f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4e, 0xff, 0xff, 0xff) }, 1922f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff4f, 0xff, 0xff, 0xff) }, 1923f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff50, 0xff, 0xff, 0xff) }, 1924f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff51, 0xff, 0xff, 0xff) }, 1925f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff52, 0xff, 0xff, 0xff) }, 1926f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff53, 0xff, 0xff, 0xff) }, 1927f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff54, 0xff, 0xff, 0xff) }, 1928f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff55, 0xff, 0xff, 0xff) }, 1929f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff56, 0xff, 0xff, 0xff) }, 1930f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff57, 0xff, 0xff, 0xff) }, 1931f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff58, 0xff, 0xff, 0xff) }, 1932f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff59, 0xff, 0xff, 0xff) }, 1933f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5a, 0xff, 0xff, 0xff) }, 1934f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5b, 0xff, 0xff, 0xff) }, 1935f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5c, 0xff, 0xff, 0xff) }, 1936f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5d, 0xff, 0xff, 0xff) }, 1937f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5e, 0xff, 0xff, 0xff) }, 1938f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff5f, 0xff, 0xff, 0xff) }, 1939f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff60, 0xff, 0xff, 0xff) }, 1940f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff61, 0xff, 0xff, 0xff) }, 1941f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff62, 0xff, 0xff, 0xff) }, 1942f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff63, 0xff, 0xff, 0xff) }, 1943f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff64, 0xff, 0xff, 0xff) }, 1944f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff65, 0xff, 0xff, 0xff) }, 1945f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff66, 0xff, 0xff, 0xff) }, 1946f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff67, 0xff, 0xff, 0xff) }, 1947f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff68, 0xff, 0xff, 0xff) }, 1948f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff69, 0xff, 0xff, 0xff) }, 1949f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6a, 0xff, 0xff, 0xff) }, 1950f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6b, 0xff, 0xff, 0xff) }, 1951f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6c, 0xff, 0xff, 0xff) }, 1952f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6d, 0xff, 0xff, 0xff) }, 1953f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6e, 0xff, 0xff, 0xff) }, 1954f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff6f, 0xff, 0xff, 0xff) }, 1955f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff70, 0xff, 0xff, 0xff) }, 1956f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff71, 0xff, 0xff, 0xff) }, 1957f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff72, 0xff, 0xff, 0xff) }, 1958f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff73, 0xff, 0xff, 0xff) }, 1959f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff74, 0xff, 0xff, 0xff) }, 1960f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff75, 0xff, 0xff, 0xff) }, 1961f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff76, 0xff, 0xff, 0xff) }, 1962f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff77, 0xff, 0xff, 0xff) }, 1963f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff78, 0xff, 0xff, 0xff) }, 1964f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff79, 0xff, 0xff, 0xff) }, 1965f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7a, 0xff, 0xff, 0xff) }, 1966f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7b, 0xff, 0xff, 0xff) }, 1967f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7c, 0xff, 0xff, 0xff) }, 1968f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7d, 0xff, 0xff, 0xff) }, 1969f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7e, 0xff, 0xff, 0xff) }, 1970f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff7f, 0xff, 0xff, 0xff) }, 1971f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff80, 0xff, 0xff, 0xff) }, 1972f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff81, 0xff, 0xff, 0xff) }, 1973f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff82, 0xff, 0xff, 0xff) }, 1974f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff83, 0xff, 0xff, 0xff) }, 1975f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff84, 0xff, 0xff, 0xff) }, 1976f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff85, 0xff, 0xff, 0xff) }, 1977f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff86, 0xff, 0xff, 0xff) }, 1978f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff87, 0xff, 0xff, 0xff) }, 1979f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff88, 0xff, 0xff, 0xff) }, 1980f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff89, 0xff, 0xff, 0xff) }, 1981f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8a, 0xff, 0xff, 0xff) }, 19824d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8b, 0xff, 0xff, 0xff) }, 19834d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8c, 0xff, 0xff, 0xff) }, 19844d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8d, 0xff, 0xff, 0xff) }, 19854d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8e, 0xff, 0xff, 0xff) }, 19864d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff8f, 0xff, 0xff, 0xff) }, 19874d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff90, 0xff, 0xff, 0xff) }, 19884d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff91, 0xff, 0xff, 0xff) }, 19894d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff92, 0xff, 0xff, 0xff) }, 19904d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff93, 0xff, 0xff, 0xff) }, 19914d90b819S张君 { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff94, 0xff, 0xff, 0xff) }, 199274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff9f, 0xff, 0xff, 0xff) }, 199374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa0, 0xff, 0xff, 0xff) }, 199474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa1, 0xff, 0xff, 0xff) }, 199574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa2, 0xff, 0xff, 0xff) }, 199674d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa3, 0xff, 0xff, 0xff) }, 199774d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa4, 0xff, 0xff, 0xff) }, 199874d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa5, 0xff, 0xff, 0xff) }, 199974d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa6, 0xff, 0xff, 0xff) }, 200074d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa7, 0xff, 0xff, 0xff) }, 200174d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa8, 0xff, 0xff, 0xff) }, 200274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffa9, 0xff, 0xff, 0xff) }, 200374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffaa, 0xff, 0xff, 0xff) }, 200474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffab, 0xff, 0xff, 0xff) }, 200574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffac, 0xff, 0xff, 0xff) }, 200674d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffae, 0xff, 0xff, 0xff) }, 200774d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffaf, 0xff, 0xff, 0xff) }, 200874d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb0, 0xff, 0xff, 0xff) }, 200974d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb1, 0xff, 0xff, 0xff) }, 201074d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb2, 0xff, 0xff, 0xff) }, 201174d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb3, 0xff, 0xff, 0xff) }, 201274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb4, 0xff, 0xff, 0xff) }, 201374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb5, 0xff, 0xff, 0xff) }, 201474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb6, 0xff, 0xff, 0xff) }, 201574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb7, 0xff, 0xff, 0xff) }, 201674d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb8, 0xff, 0xff, 0xff) }, 201774d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffb9, 0xff, 0xff, 0xff) }, 201874d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffba, 0xff, 0xff, 0xff) }, 201974d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffbb, 0xff, 0xff, 0xff) }, 202074d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffbc, 0xff, 0xff, 0xff) }, 202174d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffbd, 0xff, 0xff, 0xff) }, 202274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffbe, 0xff, 0xff, 0xff) }, 202374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffbf, 0xff, 0xff, 0xff) }, 202474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc0, 0xff, 0xff, 0xff) }, 202574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc1, 0xff, 0xff, 0xff) }, 202674d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc2, 0xff, 0xff, 0xff) }, 202774d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc3, 0xff, 0xff, 0xff) }, 202874d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc4, 0xff, 0xff, 0xff) }, 202974d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc5, 0xff, 0xff, 0xff) }, 203074d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc6, 0xff, 0xff, 0xff) }, 203174d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc7, 0xff, 0xff, 0xff) }, 203274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc8, 0xff, 0xff, 0xff) }, 203374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffc9, 0xff, 0xff, 0xff) }, 203474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffca, 0xff, 0xff, 0xff) }, 203574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffcb, 0xff, 0xff, 0xff) }, 203674d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffcc, 0xff, 0xff, 0xff) }, 203774d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffcd, 0xff, 0xff, 0xff) }, 203874d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffce, 0xff, 0xff, 0xff) }, 203974d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffcf, 0xff, 0xff, 0xff) }, 204074d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd0, 0xff, 0xff, 0xff) }, 204174d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd1, 0xff, 0xff, 0xff) }, 204274d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd2, 0xff, 0xff, 0xff) }, 204374d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd3, 0xff, 0xff, 0xff) }, 204474d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd4, 0xff, 0xff, 0xff) }, 204574d2a91aSLei Liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffd5, 0xff, 0xff, 0xff) }, 2046f0d09463Slei liu { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffe9, 0xff, 0xff, 0xff) }, 2047f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffec, 0xff, 0xff, 0xff) }, 2048f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xffee, 0xff, 0xff, 0xff) }, 2049f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfff6, 0xff, 0xff, 0xff) }, 2050f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfff7, 0xff, 0xff, 0xff) }, 2051f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfff8, 0xff, 0xff, 0xff) }, 2052f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfff9, 0xff, 0xff, 0xff) }, 2053f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfffb, 0xff, 0xff, 0xff) }, 2054f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xfffc, 0xff, 0xff, 0xff) }, 2055f8c0e057SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MG880, 0xff, 0xff, 0xff) }, 205663a901c0SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH, 0xff, 0xff, 0xff) }, 205763a901c0SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) }, 205863a901c0SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC8710T, 0xff, 0xff, 0xff) }, 205946b5a277Szheng.zhijian@zte.com.cn { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MC2718, 0xff, 0xff, 0xff), 2060c3a65808SJohan Hovold .driver_info = NCTRL(1) | NCTRL(2) | NCTRL(3) | NCTRL(4) }, 206163a901c0SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AD3812, 0xff, 0xff, 0xff), 2062c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) }, 206363a901c0SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MC2716, 0xff, 0xff, 0xff), 2064c3a65808SJohan Hovold .driver_info = NCTRL(1) | NCTRL(2) | NCTRL(3) }, 206519ab6bc5SLiu.Zhao { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_ME3620_L), 2066c3a65808SJohan Hovold .driver_info = RSVD(3) | RSVD(4) | RSVD(5) }, 206719ab6bc5SLiu.Zhao { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_ME3620_MBIM), 2068c3a65808SJohan Hovold .driver_info = RSVD(2) | RSVD(3) | RSVD(4) }, 206919ab6bc5SLiu.Zhao { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_ME3620_X), 2070c3a65808SJohan Hovold .driver_info = RSVD(3) | RSVD(4) | RSVD(5) }, 207119ab6bc5SLiu.Zhao { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_ZM8620_X), 2072c3a65808SJohan Hovold .driver_info = RSVD(3) | RSVD(4) | RSVD(5) }, 2073ba9edaa4SBjørn Mork { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x01) }, 2074ba9edaa4SBjørn Mork { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x05) }, 2075ba9edaa4SBjørn Mork { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x86, 0x10) }, 2076ba9edaa4SBjørn Mork 207728fb6682SJesse Sung { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) }, 2078c00deaa5SPascal Terjan { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) }, 2079ff854ce0SZhang Le { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */ 2080bf162019SHuang Ying { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5A) }, 2081e3a31745SBrad Lu { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) }, 2082e3a31745SBrad Lu { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) }, 2083e3a31745SBrad Lu { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) }, 2084646d90e2SÖmer Sezgin Ugurlu { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4518) }, 2085e3a31745SBrad Lu { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4519) }, 208675f47214SPeter Magdina { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_G450) }, 2087334f9b0fSMichele Valzelli { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_PRODUCT_HSDPA_MINICARD ) }, /* Toshiba 3G HSDPA == Novatel Expedite EU870D MiniCard */ 2088c3325eb1SAnssi Hannula { USB_DEVICE(ALINK_VENDOR_ID, 0x9000) }, 20895c3e4076SDan Williams { USB_DEVICE(ALINK_VENDOR_ID, ALINK_PRODUCT_PH300) }, 2090c3325eb1SAnssi Hannula { USB_DEVICE_AND_INTERFACE_INFO(ALINK_VENDOR_ID, ALINK_PRODUCT_3GU, 0xff, 0xff, 0xff) }, 20913158a8d4SAndrey Skvortsov { USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E), 2092c3a65808SJohan Hovold .driver_info = RSVD(5) | RSVD(6) }, 2093cc6730dfSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9003, 0xff) }, /* Simcom SIM7500/SIM7600 MBIM mode */ 20945417a7e4SJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9011, 0xff), /* Simcom SIM7500/SIM7600 RNDIS mode */ 20955417a7e4SJörgen Storvist .driver_info = RSVD(7) }, 20961ac69879SAleksander Morgado { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9205, 0xff) }, /* Simcom SIM7070/SIM7080/SIM7090 AT+ECM mode */ 20971ac69879SAleksander Morgado { USB_DEVICE_INTERFACE_CLASS(0x1e0e, 0x9206, 0xff) }, /* Simcom SIM7070/SIM7080/SIM7090 AT-only mode */ 209815badbccSDan Williams { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200), 2099c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) | RSVD(4) }, 2100f8f0302bSBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X220_X500D), 2101c3a65808SJohan Hovold .driver_info = RSVD(6) }, 2102f8f0302bSBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, 0x0052), 2103c3a65808SJohan Hovold .driver_info = RSVD(6) }, 2104f8f0302bSBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, 0x00b6), 2105c3a65808SJohan Hovold .driver_info = RSVD(3) }, 2106f8f0302bSBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, 0x00b7), 2107c3a65808SJohan Hovold .driver_info = RSVD(5) }, 21085ec00854SBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_L100V), 2109c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2110dd6b48ecSBjørn Mork { USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_L800MA), 2111c3a65808SJohan Hovold .driver_info = RSVD(2) }, 211212148da6SHuzaifa Sidhpurwala { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, 2113fead2ab6SBryan Wu { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, 2114617c331dSFlorian Zumbiehl { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE), 2115617c331dSFlorian Zumbiehl .driver_info = RSVD(0) }, 2116ac7d4ca9SDan Williams { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14), 2117c3a65808SJohan Hovold .driver_info = NCTRL(0) | NCTRL(1) }, 2118638148e2SBjørn Mork { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W100), 2119c3a65808SJohan Hovold .driver_info = NCTRL(1) | NCTRL(2) | RSVD(3) }, 212069341bd1SOKAMOTO Yoshiaki {USB_DEVICE(LONGCHEER_VENDOR_ID, FUJISOFT_PRODUCT_FS040U), 2121c3a65808SJohan Hovold .driver_info = RSVD(3)}, 21221cab4c68SOliver Neukum { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, SPEEDUP_PRODUCT_SU9800, 0xff) }, 21238fb060daSJohan Hovold { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, 0x9801, 0xff), 2124c3a65808SJohan Hovold .driver_info = RSVD(3) }, 21258fb060daSJohan Hovold { USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, 0x9803, 0xff), 2126c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2127aeb7de0aSCoia Prant { USB_DEVICE(LONGCHEER_VENDOR_ID, 0x9b05), /* Longsung U8300 */ 2128aeb7de0aSCoia Prant .driver_info = RSVD(4) | RSVD(5) }, 2129aeb7de0aSCoia Prant { USB_DEVICE(LONGCHEER_VENDOR_ID, 0x9b3c), /* Longsung U9300 */ 2130aeb7de0aSCoia Prant .driver_info = RSVD(0) | RSVD(4) }, 2131cdacb598SDan Williams { USB_DEVICE(LONGCHEER_VENDOR_ID, ZOOM_PRODUCT_4597) }, 21327d5c1b9cSRahul Bedarkar { USB_DEVICE(LONGCHEER_VENDOR_ID, IBALL_3_5G_CONNECT) }, 2133c983202bSDonny Kurnia { USB_DEVICE(HAIER_VENDOR_ID, HAIER_PRODUCT_CE100) }, 2134012eee15SDan Williams { USB_DEVICE_AND_INTERFACE_INFO(HAIER_VENDOR_ID, HAIER_PRODUCT_CE81B, 0xff, 0xff, 0xff) }, 213533c38752Sspark /* Pirelli */ 2136dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_C100_1, 0xff) }, 2137dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_C100_2, 0xff) }, 2138dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1004, 0xff) }, 2139dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1005, 0xff) }, 2140dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1006, 0xff) }, 2141dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1007, 0xff) }, 2142dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1008, 0xff) }, 2143dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1009, 0xff) }, 2144dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100A, 0xff) }, 2145dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100B, 0xff) }, 2146dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100C, 0xff) }, 2147dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100D, 0xff) }, 2148dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100E, 0xff) }, 2149dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_100F, 0xff) }, 2150dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1011, 0xff) }, 2151dbdf6807SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1012, 0xff) }, 2152aa52b3a9SNicolaus Colberg /* Cinterion */ 2153aa52b3a9SNicolaus Colberg { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_E) }, 2154aa52b3a9SNicolaus Colberg { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EU3_P) }, 215512df84d4SAleksander Morgado { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8), 2156c3a65808SJohan Hovold .driver_info = RSVD(4) }, 21574152b387SJohn Ernberg { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX, 0xff) }, 21588ff10bdbSSchemmel Hans-Christoph { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PLXX), 2159c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2160444f94e9SSchemmel Hans-Christoph { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8_2RMNET, 0xff), 2161c3a65808SJohan Hovold .driver_info = RSVD(4) | RSVD(5) }, 2162444f94e9SSchemmel Hans-Christoph { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_PH8_AUDIO, 0xff), 2163c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2164444f94e9SSchemmel Hans-Christoph { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX_2RMNET, 0xff) }, 2165444f94e9SSchemmel Hans-Christoph { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_AHXX_AUDIO, 0xff) }, 2166dfbac2f4SReinhard Speyerer { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_CLS8, 0xff), 2167dfbac2f4SReinhard Speyerer .driver_info = RSVD(0) | RSVD(4) }, 21686d6556c0SGiacinto Cifelli { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EXS82, 0xff) }, 2169aa52b3a9SNicolaus Colberg { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, 2170aa52b3a9SNicolaus Colberg { USB_DEVICE(CINTERION_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, 2171aa52b3a9SNicolaus Colberg { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDM) }, 2172aa52b3a9SNicolaus Colberg { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) }, 2173aa52b3a9SNicolaus Colberg { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */ 2174aa52b3a9SNicolaus Colberg { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) }, 2175e478d602SChristoph Schemmel { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_MBIM, 0xff), 2176e478d602SChristoph Schemmel .driver_info = RSVD(3)}, 2177e478d602SChristoph Schemmel { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_RMNET, 0xff), 2178e478d602SChristoph Schemmel .driver_info = RSVD(0)}, 2179158f7585SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_2_MBIM, 0xff), 2180158f7585SSlark Xiao .driver_info = RSVD(3)}, 2181158f7585SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV31_2_RMNET, 0xff), 2182158f7585SSlark Xiao .driver_info = RSVD(0)}, 2183b4a64ed6SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA, 0xff), 2184b4a64ed6SSlark Xiao .driver_info = RSVD(3)}, 21858ffe20d0SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA_RMNET, 0xff), 21868ffe20d0SSlark Xiao .driver_info = RSVD(0) }, 2187b4a64ed6SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB, 0xff), 2188b4a64ed6SSlark Xiao .driver_info = RSVD(3)}, 21898ffe20d0SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB_RMNET, 0xff), 21908ffe20d0SSlark Xiao .driver_info = RSVD(0) }, 2191b0ebef36SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100), 2192c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2193b0ebef36SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120), 2194c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2195b0ebef36SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD140), 2196c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2197d19bf5ceSFilippo Turato { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD145) }, 2198b0ebef36SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD155), 2199c3a65808SJohan Hovold .driver_info = RSVD(6) }, 2200fd8573f5SEnrico Mioso { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD200), 2201c3a65808SJohan Hovold .driver_info = RSVD(6) }, 2202b0ebef36SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD160), 2203c3a65808SJohan Hovold .driver_info = RSVD(6) }, 2204533b3994SBjørn Mork { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD500), 2205c3a65808SJohan Hovold .driver_info = RSVD(4) }, 220676078dc4SMichael Tokarev { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ 220715b2f320SMarius B. Kotsbak { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_GT_B3730, USB_CLASS_CDC_DATA, 0x00, 0x00) }, /* Samsung GT-B3730 LTE USB modem.*/ 2208c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM600) }, 2209c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM610) }, 2210c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM500) }, 2211c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM510) }, 2212c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM800) }, 2213c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEM900) }, 2214c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU818) }, 2215c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU816) }, 2216c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU828) }, 2217c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU826) }, 2218c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU518) }, 2219c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU516) }, 2220c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU528) }, 2221c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU526) }, 2222c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM600) }, 2223c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM610) }, 2224c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM500) }, 2225c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM510) }, 2226c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM800) }, 2227c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWM900) }, 2228c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU718) }, 2229c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU716) }, 2230c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU728) }, 2231c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU726) }, 2232c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU518) }, 2233c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU516) }, 2234c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU528) }, 2235c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU526) }, 2236c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM600) }, 2237c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM610) }, 2238c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM500) }, 2239c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM510) }, 2240c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM800) }, 2241c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLM900) }, 2242c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU718) }, 2243c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU716) }, 2244c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU728) }, 2245c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU726) }, 2246c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU518) }, 2247c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU516) }, 2248c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU528) }, 2249c6eb2d75SGavin.zhu { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU526) }, 22500ef0be15S说不得 { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU881) }, 22510ef0be15S说不得 { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CEU882) }, 22520ef0be15S说不得 { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU581) }, 22530ef0be15S说不得 { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU582) }, 22540ef0be15S说不得 { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CWU583) }, 22555b061623SVU Tuan Duc { USB_DEVICE_AND_INTERFACE_INFO(VIETTEL_VENDOR_ID, VIETTEL_PRODUCT_VT1000, 0xff, 0xff, 0xff) }, 22563c8c9316SJanne Snabb { USB_DEVICE_AND_INTERFACE_INFO(ZD_VENDOR_ID, ZD_PRODUCT_7000, 0xff, 0xff, 0xff) }, 2257e423d740SKentaro Matsuyama { USB_DEVICE(LG_VENDOR_ID, LG_PRODUCT_L02C) }, /* docomo L-02C modem */ 22580d8520a1SMeng Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a1, 0xff, 0x00, 0x00) }, 22590d8520a1SMeng Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a1, 0xff, 0x02, 0x01) }, 22600d8520a1SMeng Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x00, 0x00) }, 22610d8520a1SMeng Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x00a2, 0xff, 0x02, 0x01) }, /* MediaTek MT6276M modem & app port */ 2262aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_1COM, 0x0a, 0x00, 0x00) }, 2263aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_5COM, 0xff, 0x02, 0x01) }, 2264aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_5COM, 0xff, 0x00, 0x00) }, 2265aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM, 0xff, 0x02, 0x01) }, 2266aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM, 0xff, 0x00, 0x00) }, 2267aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7208_1COM, 0x02, 0x00, 0x00) }, 2268aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7208_2COM, 0x02, 0x02, 0x01) }, 2269aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FP_1COM, 0x0a, 0x00, 0x00) }, 2270aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FP_2COM, 0x0a, 0x00, 0x00) }, 2271aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FPDC_1COM, 0x0a, 0x00, 0x00) }, 2272aacef9c5SGaosen Zhang { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_FPDC_2COM, 0x0a, 0x00, 0x00) }, 227394a85b63SQuentin.Li { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7103_2COM, 0xff, 0x00, 0x00) }, 227494a85b63SQuentin.Li { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_7106_2COM, 0x02, 0x02, 0x01) }, 227594a85b63SQuentin.Li { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) }, 227694a85b63SQuentin.Li { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) }, 22779201d380SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7126, 0xff, 0x00, 0x00), 22789201d380SBjørn Mork .driver_info = NCTRL(2) }, 22799201d380SBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7127, 0xff, 0x00, 0x00), 22809201d380SBjørn Mork .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, 2281ec1ccad0SJack Wu { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, 0x7129, 0xff, 0x00, 0x00), /* MediaTek T7XX */ 2282ec1ccad0SJack Wu .driver_info = NCTRL(2) | NCTRL(3) | NCTRL(4) }, 22831e2c4e59SDmitry Shmygov { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) }, 22843e765cabSWilken Gottwalt { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200), 22853e765cabSWilken Gottwalt .driver_info = RSVD(1) | RSVD(4) }, 2286c38e83b6SDaniil Bolsun { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) }, 2287c38e83b6SDaniil Bolsun { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) }, 2288837ddc47SHenryk Heisig { USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) }, /* TP-Link LTE Module */ 228999beb2e9SBjørn Mork { USB_DEVICE(TPLINK_VENDOR_ID, TPLINK_PRODUCT_MA180), 2290c3a65808SJohan Hovold .driver_info = RSVD(4) }, 229194190301SBjørn Mork { USB_DEVICE(TPLINK_VENDOR_ID, 0x9000), /* TP-Link MA260 */ 2292c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2293d4fa6815SBjørn Mork { USB_DEVICE(CHANGHONG_VENDOR_ID, CHANGHONG_PRODUCT_CH690) }, 2294b5fdde28SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ 2295b5fdde28SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, 2296b5fdde28SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, 22974d304a6fSGiuseppe Lippolis { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff), /* D-Link DWM-158 */ 22984d304a6fSGiuseppe Lippolis .driver_info = RSVD(4) | RSVD(5) }, 2299169e8654SMaciej S. Szmigiero { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d0e, 0xff) }, /* D-Link DWM-157 C1 */ 2300d48d5691SBjørn Mork { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e19, 0xff), /* D-Link DWM-221 B1 */ 2301c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2302fd1b8668SHector Martin { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e35, 0xff), /* D-Link DWM-222 */ 2303c3a65808SJohan Hovold .driver_info = RSVD(4) }, 2304552573e4SRogan Dawes { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e3d, 0xff), /* D-Link DWM-222 A2 */ 2305552573e4SRogan Dawes .driver_info = RSVD(4) }, 2306ca247635SAlexandr \"Sky\" Ivanov { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */ 2307ca247635SAlexandr \"Sky\" Ivanov { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */ 2308cf1b1803SLubomir Rintel { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x7e11, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/A3 */ 2309dfee7e2fSPawel Dembicki { USB_DEVICE_INTERFACE_CLASS(0x1435, 0xd191, 0xff), /* Wistron Neweb D19Q1 */ 2310dfee7e2fSPawel Dembicki .driver_info = RSVD(1) | RSVD(4) }, 2311007d20dcSPawel Dembicki { USB_DEVICE_INTERFACE_CLASS(0x1690, 0x7588, 0xff), /* ASKEY WWHC050 */ 2312007d20dcSPawel Dembicki .driver_info = RSVD(1) | RSVD(4) }, 231384f3b43fSBjørn Mork { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x2031, 0xff), /* Olicard 600 */ 231484f3b43fSBjørn Mork .driver_info = RSVD(4) }, 23156cb2669cSPawel Dembicki { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x2033, 0xff), /* BroadMobi BM806U */ 23166cb2669cSPawel Dembicki .driver_info = RSVD(4) }, 2317e5d8badfSBob Ham { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x2060, 0xff), /* BroadMobi BM818 */ 2318e5d8badfSBob Ham .driver_info = RSVD(4) }, 2319f6d7fb37SClaudio Cappelli { USB_DEVICE_INTERFACE_CLASS(0x2020, 0x4000, 0xff) }, /* OLICARD300 - MT6225 */ 2320f4c19b8eSGreg Kroah-Hartman { USB_DEVICE(INOVIA_VENDOR_ID, INOVIA_SEW858) }, 2321d7730273SBrennan Ashton { USB_DEVICE(VIATELECOM_VENDOR_ID, VIATELECOM_PRODUCT_CDS7) }, 23226695593eSAleksandr Makarov { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD200, 0xff, 0xff, 0xff) }, 232340d9c325SAleksandr Makarov { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) }, 232440d9c325SAleksandr Makarov { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) }, 23255d03a2fdSBjørn Mork { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */ 2326d57ec3c8STore Anderson { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x10) }, /* HP lt4132 (Huawei ME906s-158) */ 2327d57ec3c8STore Anderson { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x12) }, 2328d57ec3c8STore Anderson { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x13) }, 2329d57ec3c8STore Anderson { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x14) }, 2330d57ec3c8STore Anderson { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x1b) }, 2331f0797095SAleksander Morgado { USB_DEVICE(0x0489, 0xe0b4), /* Foxconn T77W968 */ 2332f0797095SAleksander Morgado .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, 2333f0797095SAleksander Morgado { USB_DEVICE(0x0489, 0xe0b5), /* Foxconn T77W968 ESIM */ 2334f0797095SAleksander Morgado .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, 23353cb3868eSSlark Xiao { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0da, 0xff), /* Foxconn T99W265 MBIM variant */ 23363cb3868eSSlark Xiao .driver_info = RSVD(3) | RSVD(5) }, 23379e3eed53SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0db, 0xff), /* Foxconn T99W265 MBIM */ 23389e3eed53SSlark Xiao .driver_info = RSVD(3) }, 23394d9488b2SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0ee, 0xff), /* Foxconn T99W368 MBIM */ 23404d9488b2SSlark Xiao .driver_info = RSVD(3) }, 23414d9488b2SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0f0, 0xff), /* Foxconn T99W373 MBIM */ 23424d9488b2SSlark Xiao .driver_info = RSVD(3) }, 23434e8c0883SSlark Xiao { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe145, 0xff), /* Foxconn T99W651 RNDIS */ 23444e8c0883SSlark Xiao .driver_info = RSVD(5) | RSVD(6) }, 23455e4d659bSVincent Palatin { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 (IOT version) */ 234630360224SJörgen Storvist .driver_info = RSVD(4) | RSVD(5) | RSVD(6) }, 2347714adff9SSven Schwermer { USB_DEVICE(0x1782, 0x4d10) }, /* Fibocom L610 (AT mode) */ 2348714adff9SSven Schwermer { USB_DEVICE_INTERFACE_CLASS(0x1782, 0x4d11, 0xff) }, /* Fibocom L610 (ECM/RNDIS mode) */ 23492c89f65dSVictor Fragoso { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0001, 0xff, 0xff, 0xff) }, /* Fibocom L716-EU (ECM/RNDIS mode) */ 23504b2c01adSJörgen Storvist { USB_DEVICE(0x2cb7, 0x0104), /* Fibocom NL678 series */ 23514b2c01adSJörgen Storvist .driver_info = RSVD(4) | RSVD(5) }, 23524b2c01adSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff), /* Fibocom NL678 series */ 23534b2c01adSJörgen Storvist .driver_info = RSVD(6) }, 235407989eb9SSven Schwermer { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0106, 0xff) }, /* Fibocom MA510 (ECM mode w/ diag intf.) */ 235507989eb9SSven Schwermer { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x010a, 0xff) }, /* Fibocom MA510 (ECM mode) */ 23562829a4e3SZhengjun Zhang { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0xff, 0x30) }, /* Fibocom FG150 Diag */ 23572829a4e3SZhengjun Zhang { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0, 0) }, /* Fibocom FG150 AT */ 2358148f4b32SReinhard Speyerer { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0111, 0xff) }, /* Fibocom FM160 (MBIM mode) */ 2359836eefa7SReinhard Speyerer { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0xff, 0x30) }, /* Fibocom FG132 Diag */ 2360836eefa7SReinhard Speyerer { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0xff, 0x40) }, /* Fibocom FG132 AT */ 2361836eefa7SReinhard Speyerer { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0112, 0xff, 0, 0) }, /* Fibocom FG132 NMEA */ 2362590d0e13Sbolan wang { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0115, 0xff), /* Fibocom FM135 (laptop MBIM) */ 2363590d0e13Sbolan wang .driver_info = RSVD(5) }, 23645e4d659bSVincent Palatin { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a0, 0xff) }, /* Fibocom NL668-AM/NL652-EU (laptop MBIM) */ 236588459e3eSMingjie Zhang { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a2, 0xff) }, /* Fibocom FM101-GL (laptop MBIM) */ 23664d53c512SPuliang Lu { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a3, 0xff) }, /* Fibocom FM101-GL (laptop MBIM) */ 236788459e3eSMingjie Zhang { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a4, 0xff), /* Fibocom FM101-GL (laptop MBIM) */ 236888459e3eSMingjie Zhang .driver_info = RSVD(4) }, 2369f91606d7SChuanhong Guo { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a04, 0xff) }, /* Fibocom FM650-CN (ECM mode) */ 2370f91606d7SChuanhong Guo { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a05, 0xff) }, /* Fibocom FM650-CN (NCM mode) */ 2371f91606d7SChuanhong Guo { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a06, 0xff) }, /* Fibocom FM650-CN (RNDIS mode) */ 2372f91606d7SChuanhong Guo { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0a07, 0xff) }, /* Fibocom FM650-CN (MBIM mode) */ 23730947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d41, 0xff, 0, 0) }, /* MeiG Smart SLM320 */ 23740947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57, 0xff, 0, 0) }, /* MeiG Smart SLM770A */ 23750947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0, 0) }, /* MeiG Smart SRM815 */ 23760947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0x10, 0x02) }, /* MeiG Smart SLM828 */ 23770947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0x10, 0x03) }, /* MeiG Smart SLM828 */ 23780947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0xff, 0x30) }, /* MeiG Smart SRM815 and SRM825L */ 23790947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0xff, 0x40) }, /* MeiG Smart SRM825L */ 23800947a241SJohan Hovold { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d22, 0xff, 0xff, 0x60) }, /* MeiG Smart SRM825L */ 23810e2d6795SDaniel Palmer { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */ 238208d4ef5cSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) }, /* GosunCn GM500 RNDIS */ 238308d4ef5cSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) }, /* GosunCn GM500 MBIM */ 238408d4ef5cSJörgen Storvist { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) }, /* GosunCn GM500 ECM/NCM */ 23850772a609SVanillan Wang { USB_DEVICE(0x33f8, 0x0104), /* Rolling RW101-GL (laptop RMNET) */ 23860772a609SVanillan Wang .driver_info = RSVD(4) | RSVD(5) }, 23870772a609SVanillan Wang { USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x01a2, 0xff) }, /* Rolling RW101-GL (laptop MBIM) */ 23880772a609SVanillan Wang { USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x01a3, 0xff) }, /* Rolling RW101-GL (laptop MBIM) */ 23890772a609SVanillan Wang { USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x01a4, 0xff), /* Rolling RW101-GL (laptop MBIM) */ 23900772a609SVanillan Wang .driver_info = RSVD(4) }, 23910772a609SVanillan Wang { USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x0115, 0xff), /* Rolling RW135-GL (laptop MBIM) */ 23920772a609SVanillan Wang .driver_info = RSVD(5) }, 239351175118SVanillan Wang { USB_DEVICE_INTERFACE_CLASS(0x33f8, 0x0802, 0xff), /* Rolling RW350-GL (laptop MBIM) */ 239451175118SVanillan Wang .driver_info = RSVD(5) }, 23958ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Global */ 23968ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0x00, 0x40) }, 23978ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0100, 0xff, 0xff, 0x40) }, 23988ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for Global SKU */ 23998ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0x00, 0x40) }, 24008ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0101, 0xff, 0xff, 0x40) }, 24018ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for China SKU */ 24028ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0x00, 0x40) }, 24038ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0106, 0xff, 0xff, 0x40) }, 24048ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for SA */ 24058ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0x00, 0x40) }, 24068ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0111, 0xff, 0xff, 0x40) }, 24078ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for EU */ 24088ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0x00, 0x40) }, 24098ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0112, 0xff, 0xff, 0x40) }, 24108ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for NA */ 24118ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0x00, 0x40) }, 24128ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0113, 0xff, 0xff, 0x40) }, 24138ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for China EDU */ 24148ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0x00, 0x40) }, 24158ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0115, 0xff, 0xff, 0x40) }, 24168ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for Golbal EDU */ 24178ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0x00, 0x40) }, 24188ee097aeSMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x0116, 0xff, 0xff, 0x40) }, 2419996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ 2420996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0x00, 0x40) }, 2421996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010a, 0xff, 0xff, 0x40) }, 2422996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ 2423996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0x00, 0x40) }, 2424996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010b, 0xff, 0xff, 0x40) }, 2425996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WRD for WWAN Ready */ 2426996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0x00, 0x40) }, 2427996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010c, 0xff, 0xff, 0x40) }, 2428996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x30) }, /* NetPrisma LCUK54-WWD for WWAN Ready */ 2429996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0x00, 0x40) }, 2430996c88c8SMank Wang { USB_DEVICE_AND_INTERFACE_INFO(0x3731, 0x010d, 0xff, 0xff, 0x40) }, 24318d5fc280SYan Xinyu { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, 2432df3414b0SBenoît Monin { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, 2433064f6e2bSBenoît Monin { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) }, 2434df3414b0SBenoît Monin { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) }, 2435a095edfcSArınç ÜNAL { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, 24362beaa03eSAsuna Yang { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, 243727921a57SDaniel Swanemar { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0530, 0xff), /* TCL IK512 MBIM */ 243827921a57SDaniel Swanemar .driver_info = NCTRL(1) }, 243927921a57SDaniel Swanemar { USB_DEVICE_INTERFACE_CLASS(0x1bbb, 0x0640, 0xff), /* TCL IK512 ECM */ 244027921a57SDaniel Swanemar .driver_info = NCTRL(3) }, 24418166f38cSMichal Hrusecky { USB_DEVICE_INTERFACE_CLASS(0x2949, 0x8700, 0xff) }, /* Neoway N723-EA */ 244214f76cc7SMatthias Urlichs { } /* Terminating entry */ 244314f76cc7SMatthias Urlichs }; 244458cfe911SMatthias Urlichs MODULE_DEVICE_TABLE(usb, option_ids); 244558cfe911SMatthias Urlichs 2446c30fe7f7SUwe Zeisberger /* The card has three separate interfaces, which the serial driver 244758cfe911SMatthias Urlichs * recognizes separately, thus num_port=1. 244858cfe911SMatthias Urlichs */ 244914f76cc7SMatthias Urlichs 245014f76cc7SMatthias Urlichs static struct usb_serial_driver option_1port_device = { 245114f76cc7SMatthias Urlichs .driver = { 245214f76cc7SMatthias Urlichs .owner = THIS_MODULE, 245302b2ac5bSMatthias Urlichs .name = "option1", 245414f76cc7SMatthias Urlichs }, 245514f76cc7SMatthias Urlichs .description = "GSM modem (1-port)", 2456b656b2cbSGreg Kroah-Hartman .id_table = option_ids, 245714f76cc7SMatthias Urlichs .num_ports = 1, 2458c5be1b52SPascal Terjan .probe = option_probe, 24598b4c6a3aSMatthew Garrett .open = usb_wwan_open, 24608b4c6a3aSMatthew Garrett .close = usb_wwan_close, 24618b4c6a3aSMatthew Garrett .dtr_rts = usb_wwan_dtr_rts, 24628b4c6a3aSMatthew Garrett .write = usb_wwan_write, 24638b4c6a3aSMatthew Garrett .write_room = usb_wwan_write_room, 24648b4c6a3aSMatthew Garrett .chars_in_buffer = usb_wwan_chars_in_buffer, 24658b4c6a3aSMatthew Garrett .tiocmget = usb_wwan_tiocmget, 24668b4c6a3aSMatthew Garrett .tiocmset = usb_wwan_tiocmset, 2467c2dd4a8eSJohan Hovold .attach = option_attach, iface_is_reserved(unsigned long device_flags,u8 ifnum)2468b9c3aab3SJohan Hovold .release = option_release, 2469b8f0e820SJohan Hovold .port_probe = usb_wwan_port_probe, 2470a1028f0aSBjørn Mork .port_remove = usb_wwan_port_remove, 247158cfe911SMatthias Urlichs .read_int_callback = option_instat_callback, 24725f4fab91SOliver Neukum #ifdef CONFIG_PM 24738b4c6a3aSMatthew Garrett .suspend = usb_wwan_suspend, 24748b4c6a3aSMatthew Garrett .resume = usb_wwan_resume, 24755f4fab91SOliver Neukum #endif 247658cfe911SMatthias Urlichs }; 247758cfe911SMatthias Urlichs 2478f667ddadSAlan Stern static struct usb_serial_driver * const serial_drivers[] = { 2479f667ddadSAlan Stern &option_1port_device, NULL 2480f667ddadSAlan Stern }; 2481f667ddadSAlan Stern 248268e24113SGreg Kroah-Hartman module_usb_serial_driver(serial_drivers, option_ids); 248358cfe911SMatthias Urlichs 2484a251963fSJohan Hovold static bool iface_is_reserved(unsigned long device_flags, u8 ifnum) 2485a251963fSJohan Hovold { 2486a251963fSJohan Hovold if (ifnum > FLAG_IFNUM_MAX) 2487a251963fSJohan Hovold return false; 2488a251963fSJohan Hovold 2489a251963fSJohan Hovold return device_flags & RSVD(ifnum); 2490a251963fSJohan Hovold } 2491a251963fSJohan Hovold 24920d905fd5SDan Williams static int option_probe(struct usb_serial *serial, 24930d905fd5SDan Williams const struct usb_device_id *id) 24940d905fd5SDan Williams { 2495378fac2aSJohan Hovold struct usb_interface_descriptor *iface_desc = 2496378fac2aSJohan Hovold &serial->interface->cur_altsetting->desc; 2497c3a65808SJohan Hovold unsigned long device_flags = id->driver_info; 24980d905fd5SDan Williams 24991b95bee5SBjørn Mork /* Never bind to the CD-Rom emulation interface */ 25009b284d8eSJohan Hovold if (iface_desc->bInterfaceClass == USB_CLASS_MASS_STORAGE) 25010d905fd5SDan Williams return -ENODEV; 25020d905fd5SDan Williams 2503378fac2aSJohan Hovold /* 2504378fac2aSJohan Hovold * Don't bind reserved interfaces (like network ones) which often have 25050d905fd5SDan Williams * the same class/subclass/protocol as the serial interfaces. Look at 25060d905fd5SDan Williams * the Windows driver .INF files for reserved interface numbers. 25070d905fd5SDan Williams */ iface_no_modem_control(unsigned long device_flags,u8 ifnum)2508a251963fSJohan Hovold if (iface_is_reserved(device_flags, iface_desc->bInterfaceNumber)) 2509963940cfSBjørn Mork return -ENODEV; 25100d905fd5SDan Williams 251136cae568SKristian Evensen /* 251235aecc02SJohan Hovold * Allow matching on bNumEndpoints for devices whose interface numbers 251335aecc02SJohan Hovold * can change (e.g. Quectel EP06). 251436cae568SKristian Evensen */ 251535aecc02SJohan Hovold if (device_flags & NUMEP2 && iface_desc->bNumEndpoints != 2) option_attach(struct usb_serial * serial)251636cae568SKristian Evensen return -ENODEV; 251736cae568SKristian Evensen 2518c3a65808SJohan Hovold /* Store the device flags so we can use them during attach. */ 2519c3a65808SJohan Hovold usb_set_serial_data(serial, (void *)device_flags); 2520c2dd4a8eSJohan Hovold 2521c2dd4a8eSJohan Hovold return 0; 2522c2dd4a8eSJohan Hovold } 2523c2dd4a8eSJohan Hovold 2524a251963fSJohan Hovold static bool iface_no_modem_control(unsigned long device_flags, u8 ifnum) 2525a251963fSJohan Hovold { 2526a251963fSJohan Hovold if (ifnum > FLAG_IFNUM_MAX) 2527a251963fSJohan Hovold return false; 2528a251963fSJohan Hovold 2529a251963fSJohan Hovold return device_flags & NCTRL(ifnum); 2530a251963fSJohan Hovold } 2531a251963fSJohan Hovold 2532c2dd4a8eSJohan Hovold static int option_attach(struct usb_serial *serial) 2533c2dd4a8eSJohan Hovold { 2534c2dd4a8eSJohan Hovold struct usb_interface_descriptor *iface_desc; 2535c2dd4a8eSJohan Hovold struct usb_wwan_intf_private *data; 2536c3a65808SJohan Hovold unsigned long device_flags; 2537c2dd4a8eSJohan Hovold 2538a276400dSJohan Hovold data = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL); 25390d905fd5SDan Williams if (!data) 25400d905fd5SDan Williams return -ENOMEM; 2541e463c6ddSJohan Hovold 2542c3a65808SJohan Hovold /* Retrieve device flags stored at probe. */ 2543c3a65808SJohan Hovold device_flags = (unsigned long)usb_get_serial_data(serial); option_release(struct usb_serial * serial)254446dc0fc4SJohan Hovold 2545c2dd4a8eSJohan Hovold iface_desc = &serial->interface->cur_altsetting->desc; 2546c2dd4a8eSJohan Hovold 2547a251963fSJohan Hovold if (!iface_no_modem_control(device_flags, iface_desc->bInterfaceNumber)) 2548669e729fSDavid Ward data->use_send_setup = 1; 2549c3a65808SJohan Hovold 25502438c3a1SDaniele Palmas if (device_flags & ZLP) option_instat_callback(struct urb * urb)25512438c3a1SDaniele Palmas data->use_zlp = 1; 25522438c3a1SDaniele Palmas 25530d905fd5SDan Williams spin_lock_init(&data->susp_lock); 2554a276400dSJohan Hovold 2555a276400dSJohan Hovold usb_set_serial_data(serial, data); 2556a276400dSJohan Hovold 25570d905fd5SDan Williams return 0; 25580d905fd5SDan Williams } 25590d905fd5SDan Williams 2560b9c3aab3SJohan Hovold static void option_release(struct usb_serial *serial) 2561b9c3aab3SJohan Hovold { 2562e463c6ddSJohan Hovold struct usb_wwan_intf_private *intfdata = usb_get_serial_data(serial); 2563b9c3aab3SJohan Hovold 2564e463c6ddSJohan Hovold kfree(intfdata); 2565b9c3aab3SJohan Hovold } 2566b9c3aab3SJohan Hovold 25677d12e780SDavid Howells static void option_instat_callback(struct urb *urb) 256858cfe911SMatthias Urlichs { 256958cfe911SMatthias Urlichs int err; 2570d6977b51SGreg Kroah-Hartman int status = urb->status; 2571cdc97792SMing Lei struct usb_serial_port *port = urb->context; 25720e00609dSGreg Kroah-Hartman struct device *dev = &port->dev; 25734273f987SJohan Hovold struct usb_wwan_port_private *portdata = 25744273f987SJohan Hovold usb_get_serial_port_data(port); 257558cfe911SMatthias Urlichs 25760e00609dSGreg Kroah-Hartman dev_dbg(dev, "%s: urb %p port %p has data %p\n", __func__, urb, port, portdata); 257758cfe911SMatthias Urlichs 2578d6977b51SGreg Kroah-Hartman if (status == 0) { 2579eb0c68eaSJohan Hovold struct usb_ctrlrequest *req_pkt = urb->transfer_buffer; 258058cfe911SMatthias Urlichs 258158cfe911SMatthias Urlichs if (!req_pkt) { 25820e00609dSGreg Kroah-Hartman dev_dbg(dev, "%s: NULL req_pkt\n", __func__); 258358cfe911SMatthias Urlichs return; 258458cfe911SMatthias Urlichs } 25857bb75aeeSAndrew Morton if ((req_pkt->bRequestType == 0xA1) && 25867bb75aeeSAndrew Morton (req_pkt->bRequest == 0x20)) { 258758cfe911SMatthias Urlichs int old_dcd_state; 258858cfe911SMatthias Urlichs unsigned char signals = *((unsigned char *) 25897bb75aeeSAndrew Morton urb->transfer_buffer + 25907bb75aeeSAndrew Morton sizeof(struct usb_ctrlrequest)); 259158cfe911SMatthias Urlichs 25920e00609dSGreg Kroah-Hartman dev_dbg(dev, "%s: signal x%x\n", __func__, signals); 259358cfe911SMatthias Urlichs 259458cfe911SMatthias Urlichs old_dcd_state = portdata->dcd_state; 259558cfe911SMatthias Urlichs portdata->cts_state = 1; 259658cfe911SMatthias Urlichs portdata->dcd_state = ((signals & 0x01) ? 1 : 0); 259758cfe911SMatthias Urlichs portdata->dsr_state = ((signals & 0x02) ? 1 : 0); 259858cfe911SMatthias Urlichs portdata->ri_state = ((signals & 0x08) ? 1 : 0); 259958cfe911SMatthias Urlichs 2600aa27a094SJiri Slaby if (old_dcd_state && !portdata->dcd_state) 2601aa27a094SJiri Slaby tty_port_tty_hangup(&port->port, true); 26027bb75aeeSAndrew Morton } else { 26030e00609dSGreg Kroah-Hartman dev_dbg(dev, "%s: type %x req %x\n", __func__, 26047bb75aeeSAndrew Morton req_pkt->bRequestType, req_pkt->bRequest); 260558cfe911SMatthias Urlichs } 2606f0e4cba2SJohan Hovold } else if (status == -ENOENT || status == -ESHUTDOWN) { 2607f0e4cba2SJohan Hovold dev_dbg(dev, "%s: urb stopped: %d\n", __func__, status); 260858cfe911SMatthias Urlichs } else 26099257f1daSJohan Hovold dev_dbg(dev, "%s: error %d\n", __func__, status); 261058cfe911SMatthias Urlichs 261158cfe911SMatthias Urlichs /* Resubmit urb so we continue receiving IRQ data */ 26124901b2c3SOliver Neukum if (status != -ESHUTDOWN && status != -ENOENT) { 2613496969c6SJohan Hovold usb_mark_last_busy(port->serial->dev); 261458cfe911SMatthias Urlichs err = usb_submit_urb(urb, GFP_ATOMIC); 261558cfe911SMatthias Urlichs if (err) 26160e00609dSGreg Kroah-Hartman dev_dbg(dev, "%s: resubmit intr urb failed. (%d)\n", 2617441b62c1SHarvey Harrison __func__, err); 261858cfe911SMatthias Urlichs } 261958cfe911SMatthias Urlichs } 262058cfe911SMatthias Urlichs 262158cfe911SMatthias Urlichs MODULE_AUTHOR(DRIVER_AUTHOR); 262258cfe911SMatthias Urlichs MODULE_DESCRIPTION(DRIVER_DESC); 2623627cfa89SJohan Hovold MODULE_LICENSE("GPL v2"); 2624