| .. | .. |
|---|
| 248 | 248 | #define QUECTEL_VENDOR_ID 0x2c7c |
|---|
| 249 | 249 | /* These Quectel products use Quectel's vendor ID */ |
|---|
| 250 | 250 | #define QUECTEL_PRODUCT_EC21 0x0121 |
|---|
| 251 | +#define QUECTEL_PRODUCT_EM061K_LTA 0x0123 |
|---|
| 252 | +#define QUECTEL_PRODUCT_EM061K_LMS 0x0124 |
|---|
| 251 | 253 | #define QUECTEL_PRODUCT_EC25 0x0125 |
|---|
| 254 | +#define QUECTEL_PRODUCT_EM060K_128 0x0128 |
|---|
| 252 | 255 | #define QUECTEL_PRODUCT_EG91 0x0191 |
|---|
| 253 | 256 | #define QUECTEL_PRODUCT_EG95 0x0195 |
|---|
| 254 | 257 | #define QUECTEL_PRODUCT_BG96 0x0296 |
|---|
| 255 | 258 | #define QUECTEL_PRODUCT_EP06 0x0306 |
|---|
| 256 | 259 | #define QUECTEL_PRODUCT_EM05G 0x030a |
|---|
| 257 | 260 | #define QUECTEL_PRODUCT_EM060K 0x030b |
|---|
| 261 | +#define QUECTEL_PRODUCT_EM05G_CS 0x030c |
|---|
| 262 | +#define QUECTEL_PRODUCT_EM05GV2 0x030e |
|---|
| 263 | +#define QUECTEL_PRODUCT_EM05CN_SG 0x0310 |
|---|
| 258 | 264 | #define QUECTEL_PRODUCT_EM05G_SG 0x0311 |
|---|
| 265 | +#define QUECTEL_PRODUCT_EM05CN 0x0312 |
|---|
| 266 | +#define QUECTEL_PRODUCT_EM05G_GR 0x0313 |
|---|
| 267 | +#define QUECTEL_PRODUCT_EM05G_RS 0x0314 |
|---|
| 259 | 268 | #define QUECTEL_PRODUCT_EM12 0x0512 |
|---|
| 260 | 269 | #define QUECTEL_PRODUCT_RM500Q 0x0800 |
|---|
| 261 | 270 | #define QUECTEL_PRODUCT_RM520N 0x0801 |
|---|
| 271 | +#define QUECTEL_PRODUCT_EC200U 0x0901 |
|---|
| 262 | 272 | #define QUECTEL_PRODUCT_EC200S_CN 0x6002 |
|---|
| 273 | +#define QUECTEL_PRODUCT_EC200A 0x6005 |
|---|
| 274 | +#define QUECTEL_PRODUCT_EM061K_LWW 0x6008 |
|---|
| 275 | +#define QUECTEL_PRODUCT_EM061K_LCN 0x6009 |
|---|
| 263 | 276 | #define QUECTEL_PRODUCT_EC200T 0x6026 |
|---|
| 264 | 277 | #define QUECTEL_PRODUCT_RM500K 0x7001 |
|---|
| 265 | 278 | |
|---|
| .. | .. |
|---|
| 396 | 409 | #define LONGCHEER_VENDOR_ID 0x1c9e |
|---|
| 397 | 410 | |
|---|
| 398 | 411 | /* 4G Systems products */ |
|---|
| 412 | +/* This one was sold as the VW and Skoda "Carstick LTE" */ |
|---|
| 413 | +#define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE 0x7605 |
|---|
| 399 | 414 | /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * |
|---|
| 400 | 415 | * It seems to contain a Qualcomm QSC6240/6290 chipset */ |
|---|
| 401 | 416 | #define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603 |
|---|
| .. | .. |
|---|
| 586 | 601 | /* Sierra Wireless products */ |
|---|
| 587 | 602 | #define SIERRA_VENDOR_ID 0x1199 |
|---|
| 588 | 603 | #define SIERRA_PRODUCT_EM9191 0x90d3 |
|---|
| 604 | + |
|---|
| 605 | +/* UNISOC (Spreadtrum) products */ |
|---|
| 606 | +#define UNISOC_VENDOR_ID 0x1782 |
|---|
| 607 | +/* TOZED LT70-C based on UNISOC SL8563 uses UNISOC's vendor ID */ |
|---|
| 608 | +#define TOZED_PRODUCT_LT70C 0x4055 |
|---|
| 589 | 609 | |
|---|
| 590 | 610 | /* Device flags */ |
|---|
| 591 | 611 | |
|---|
| .. | .. |
|---|
| 1134 | 1154 | { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x90fa), |
|---|
| 1135 | 1155 | .driver_info = RSVD(3) }, |
|---|
| 1136 | 1156 | /* u-blox products */ |
|---|
| 1157 | + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1311) }, /* u-blox LARA-R6 01B */ |
|---|
| 1158 | + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1312), /* u-blox LARA-R6 01B (RMNET) */ |
|---|
| 1159 | + .driver_info = RSVD(4) }, |
|---|
| 1160 | + { USB_DEVICE_INTERFACE_CLASS(UBLOX_VENDOR_ID, 0x1313, 0xff) }, /* u-blox LARA-R6 01B (ECM) */ |
|---|
| 1137 | 1161 | { USB_DEVICE(UBLOX_VENDOR_ID, 0x1341) }, /* u-blox LARA-L6 */ |
|---|
| 1138 | 1162 | { USB_DEVICE(UBLOX_VENDOR_ID, 0x1342), /* u-blox LARA-L6 (RMNET) */ |
|---|
| 1139 | 1163 | .driver_info = RSVD(4) }, |
|---|
| .. | .. |
|---|
| 1159 | 1183 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff), |
|---|
| 1160 | 1184 | .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, |
|---|
| 1161 | 1185 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) }, |
|---|
| 1186 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN, 0xff), |
|---|
| 1187 | + .driver_info = RSVD(6) | ZLP }, |
|---|
| 1188 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN_SG, 0xff), |
|---|
| 1189 | + .driver_info = RSVD(6) | ZLP }, |
|---|
| 1162 | 1190 | { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G, 0xff), |
|---|
| 1191 | + .driver_info = RSVD(6) | ZLP }, |
|---|
| 1192 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_GR, 0xff), |
|---|
| 1193 | + .driver_info = RSVD(6) | ZLP }, |
|---|
| 1194 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05GV2, 0xff), |
|---|
| 1195 | + .driver_info = RSVD(4) | ZLP }, |
|---|
| 1196 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_CS, 0xff), |
|---|
| 1197 | + .driver_info = RSVD(6) | ZLP }, |
|---|
| 1198 | + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_RS, 0xff), |
|---|
| 1163 | 1199 | .driver_info = RSVD(6) | ZLP }, |
|---|
| 1164 | 1200 | { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_SG, 0xff), |
|---|
| 1165 | 1201 | .driver_info = RSVD(6) | ZLP }, |
|---|
| 1166 | 1202 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) }, |
|---|
| 1167 | 1203 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) }, |
|---|
| 1168 | 1204 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) }, |
|---|
| 1205 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x30) }, |
|---|
| 1206 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0x00, 0x40) }, |
|---|
| 1207 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K_128, 0xff, 0xff, 0x40) }, |
|---|
| 1208 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x30) }, |
|---|
| 1209 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0x00, 0x40) }, |
|---|
| 1210 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LCN, 0xff, 0xff, 0x40) }, |
|---|
| 1211 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x30) }, |
|---|
| 1212 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0x00, 0x40) }, |
|---|
| 1213 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LMS, 0xff, 0xff, 0x40) }, |
|---|
| 1214 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x30) }, |
|---|
| 1215 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0x00, 0x40) }, |
|---|
| 1216 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LTA, 0xff, 0xff, 0x40) }, |
|---|
| 1217 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x30) }, |
|---|
| 1218 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0x00, 0x40) }, |
|---|
| 1219 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM061K_LWW, 0xff, 0xff, 0x40) }, |
|---|
| 1169 | 1220 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff), |
|---|
| 1170 | 1221 | .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, |
|---|
| 1171 | 1222 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) }, |
|---|
| .. | .. |
|---|
| 1180 | 1231 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0xff, 0x30) }, |
|---|
| 1181 | 1232 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0x40) }, |
|---|
| 1182 | 1233 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0) }, |
|---|
| 1234 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, 0x0900, 0xff, 0, 0), /* RM500U-CN */ |
|---|
| 1235 | + .driver_info = ZLP }, |
|---|
| 1236 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200A, 0xff, 0, 0) }, |
|---|
| 1237 | + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) }, |
|---|
| 1183 | 1238 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) }, |
|---|
| 1184 | 1239 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) }, |
|---|
| 1185 | 1240 | { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) }, |
|---|
| .. | .. |
|---|
| 1281 | 1336 | .driver_info = NCTRL(0) | RSVD(1) }, |
|---|
| 1282 | 1337 | { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1075, 0xff), /* Telit FN990 (PCIe) */ |
|---|
| 1283 | 1338 | .driver_info = RSVD(0) }, |
|---|
| 1339 | + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1080, 0xff), /* Telit FE990 (rmnet) */ |
|---|
| 1340 | + .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, |
|---|
| 1341 | + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1081, 0xff), /* Telit FE990 (MBIM) */ |
|---|
| 1342 | + .driver_info = NCTRL(0) | RSVD(1) }, |
|---|
| 1343 | + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1082, 0xff), /* Telit FE990 (RNDIS) */ |
|---|
| 1344 | + .driver_info = NCTRL(2) | RSVD(3) }, |
|---|
| 1345 | + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1083, 0xff), /* Telit FE990 (ECM) */ |
|---|
| 1346 | + .driver_info = NCTRL(0) | RSVD(1) }, |
|---|
| 1284 | 1347 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910), |
|---|
| 1285 | 1348 | .driver_info = NCTRL(0) | RSVD(1) | RSVD(3) }, |
|---|
| 1286 | 1349 | { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM), |
|---|
| .. | .. |
|---|
| 1959 | 2022 | .driver_info = RSVD(2) }, |
|---|
| 1960 | 2023 | { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, |
|---|
| 1961 | 2024 | { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, |
|---|
| 2025 | + { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE), |
|---|
| 2026 | + .driver_info = RSVD(0) }, |
|---|
| 1962 | 2027 | { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14), |
|---|
| 1963 | 2028 | .driver_info = NCTRL(0) | NCTRL(1) }, |
|---|
| 1964 | 2029 | { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W100), |
|---|
| .. | .. |
|---|
| 2170 | 2235 | .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, |
|---|
| 2171 | 2236 | { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0db, 0xff), /* Foxconn T99W265 MBIM */ |
|---|
| 2172 | 2237 | .driver_info = RSVD(3) }, |
|---|
| 2238 | + { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0ee, 0xff), /* Foxconn T99W368 MBIM */ |
|---|
| 2239 | + .driver_info = RSVD(3) }, |
|---|
| 2240 | + { USB_DEVICE_INTERFACE_CLASS(0x0489, 0xe0f0, 0xff), /* Foxconn T99W373 MBIM */ |
|---|
| 2241 | + .driver_info = RSVD(3) }, |
|---|
| 2173 | 2242 | { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 (IOT version) */ |
|---|
| 2174 | 2243 | .driver_info = RSVD(4) | RSVD(5) | RSVD(6) }, |
|---|
| 2175 | 2244 | { USB_DEVICE(0x1782, 0x4d10) }, /* Fibocom L610 (AT mode) */ |
|---|
| .. | .. |
|---|
| 2194 | 2263 | { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, |
|---|
| 2195 | 2264 | { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, |
|---|
| 2196 | 2265 | { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) }, |
|---|
| 2266 | + { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, |
|---|
| 2197 | 2267 | { } /* Terminating entry */ |
|---|
| 2198 | 2268 | }; |
|---|
| 2199 | 2269 | MODULE_DEVICE_TABLE(usb, option_ids); |
|---|