@@ -619,15 +619,6 @@ static void option_instat_callback(struct urb *urb);
619
619
/* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */
620
620
#define LUAT_PRODUCT_AIR720U 0x4e00
621
621
622
- /* MeiG Smart Technology products */
623
- #define MEIGSMART_VENDOR_ID 0x2dee
624
- /* MeiG Smart SRM815/SRM825L based on Qualcomm 315 */
625
- #define MEIGSMART_PRODUCT_SRM825L 0x4d22
626
- /* MeiG Smart SLM320 based on UNISOC UIS8910 */
627
- #define MEIGSMART_PRODUCT_SLM320 0x4d41
628
- /* MeiG Smart SLM770A based on ASR1803 */
629
- #define MEIGSMART_PRODUCT_SLM770A 0x4d57
630
-
631
622
/* Device flags */
632
623
633
624
/* Highest interface number which can be used with NCTRL() and RSVD() */
@@ -1367,15 +1358,15 @@ static const struct usb_device_id option_ids[] = {
1367
1358
.driver_info = NCTRL (2 ) | RSVD (3 ) },
1368
1359
{ USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1063 , 0xff ), /* Telit LN920 (ECM) */
1369
1360
.driver_info = NCTRL (0 ) | RSVD (1 ) },
1370
- { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1070 , 0xff ), /* Telit FN990 (rmnet) */
1361
+ { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1070 , 0xff ), /* Telit FN990A (rmnet) */
1371
1362
.driver_info = NCTRL (0 ) | RSVD (1 ) | RSVD (2 ) },
1372
- { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1071 , 0xff ), /* Telit FN990 (MBIM) */
1363
+ { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1071 , 0xff ), /* Telit FN990A (MBIM) */
1373
1364
.driver_info = NCTRL (0 ) | RSVD (1 ) },
1374
- { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1072 , 0xff ), /* Telit FN990 (RNDIS) */
1365
+ { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1072 , 0xff ), /* Telit FN990A (RNDIS) */
1375
1366
.driver_info = NCTRL (2 ) | RSVD (3 ) },
1376
- { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1073 , 0xff ), /* Telit FN990 (ECM) */
1367
+ { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1073 , 0xff ), /* Telit FN990A (ECM) */
1377
1368
.driver_info = NCTRL (0 ) | RSVD (1 ) },
1378
- { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1075 , 0xff ), /* Telit FN990 (PCIe) */
1369
+ { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1075 , 0xff ), /* Telit FN990A (PCIe) */
1379
1370
.driver_info = RSVD (0 ) },
1380
1371
{ USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1080 , 0xff ), /* Telit FE990 (rmnet) */
1381
1372
.driver_info = NCTRL (0 ) | RSVD (1 ) | RSVD (2 ) },
@@ -1403,6 +1394,22 @@ static const struct usb_device_id option_ids[] = {
1403
1394
.driver_info = RSVD (0 ) | NCTRL (3 ) },
1404
1395
{ USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x10c8 , 0xff ), /* Telit FE910C04 (rmnet) */
1405
1396
.driver_info = RSVD (0 ) | NCTRL (2 ) | RSVD (3 ) | RSVD (4 ) },
1397
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d0 , 0x60 ) }, /* Telit FN990B (rmnet) */
1398
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d0 , 0x40 ) },
1399
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d0 , 0x30 ),
1400
+ .driver_info = NCTRL (5 ) },
1401
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d1 , 0x60 ) }, /* Telit FN990B (MBIM) */
1402
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d1 , 0x40 ) },
1403
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d1 , 0x30 ),
1404
+ .driver_info = NCTRL (6 ) },
1405
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d2 , 0x60 ) }, /* Telit FN990B (RNDIS) */
1406
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d2 , 0x40 ) },
1407
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d2 , 0x30 ),
1408
+ .driver_info = NCTRL (6 ) },
1409
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d3 , 0x60 ) }, /* Telit FN990B (ECM) */
1410
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d3 , 0x40 ) },
1411
+ { USB_DEVICE_INTERFACE_PROTOCOL (TELIT_VENDOR_ID , 0x10d3 , 0x30 ),
1412
+ .driver_info = NCTRL (6 ) },
1406
1413
{ USB_DEVICE (TELIT_VENDOR_ID , TELIT_PRODUCT_ME910 ),
1407
1414
.driver_info = NCTRL (0 ) | RSVD (1 ) | RSVD (3 ) },
1408
1415
{ USB_DEVICE (TELIT_VENDOR_ID , TELIT_PRODUCT_ME910_DUAL_MODEM ),
@@ -2347,6 +2354,14 @@ static const struct usb_device_id option_ids[] = {
2347
2354
{ USB_DEVICE_INTERFACE_CLASS (0x2cb7 , 0x0a05 , 0xff ) }, /* Fibocom FM650-CN (NCM mode) */
2348
2355
{ USB_DEVICE_INTERFACE_CLASS (0x2cb7 , 0x0a06 , 0xff ) }, /* Fibocom FM650-CN (RNDIS mode) */
2349
2356
{ USB_DEVICE_INTERFACE_CLASS (0x2cb7 , 0x0a07 , 0xff ) }, /* Fibocom FM650-CN (MBIM mode) */
2357
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d41 , 0xff , 0 , 0 ) }, /* MeiG Smart SLM320 */
2358
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d57 , 0xff , 0 , 0 ) }, /* MeiG Smart SLM770A */
2359
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0 , 0 ) }, /* MeiG Smart SRM815 */
2360
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0x10 , 0x02 ) }, /* MeiG Smart SLM828 */
2361
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0x10 , 0x03 ) }, /* MeiG Smart SLM828 */
2362
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0xff , 0x30 ) }, /* MeiG Smart SRM815 and SRM825L */
2363
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0xff , 0x40 ) }, /* MeiG Smart SRM825L */
2364
+ { USB_DEVICE_AND_INTERFACE_INFO (0x2dee , 0x4d22 , 0xff , 0xff , 0x60 ) }, /* MeiG Smart SRM825L */
2350
2365
{ USB_DEVICE_INTERFACE_CLASS (0x2df3 , 0x9d03 , 0xff ) }, /* LongSung M5710 */
2351
2366
{ USB_DEVICE_INTERFACE_CLASS (0x305a , 0x1404 , 0xff ) }, /* GosunCn GM500 RNDIS */
2352
2367
{ USB_DEVICE_INTERFACE_CLASS (0x305a , 0x1405 , 0xff ) }, /* GosunCn GM500 MBIM */
@@ -2403,12 +2418,6 @@ static const struct usb_device_id option_ids[] = {
2403
2418
{ USB_DEVICE_AND_INTERFACE_INFO (SIERRA_VENDOR_ID , SIERRA_PRODUCT_EM9191 , 0xff , 0 , 0 ) },
2404
2419
{ USB_DEVICE_AND_INTERFACE_INFO (UNISOC_VENDOR_ID , TOZED_PRODUCT_LT70C , 0xff , 0 , 0 ) },
2405
2420
{ USB_DEVICE_AND_INTERFACE_INFO (UNISOC_VENDOR_ID , LUAT_PRODUCT_AIR720U , 0xff , 0 , 0 ) },
2406
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SLM320 , 0xff , 0 , 0 ) },
2407
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SLM770A , 0xff , 0 , 0 ) },
2408
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SRM825L , 0xff , 0 , 0 ) },
2409
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SRM825L , 0xff , 0xff , 0x30 ) },
2410
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SRM825L , 0xff , 0xff , 0x40 ) },
2411
- { USB_DEVICE_AND_INTERFACE_INFO (MEIGSMART_VENDOR_ID , MEIGSMART_PRODUCT_SRM825L , 0xff , 0xff , 0x60 ) },
2412
2421
{ USB_DEVICE_INTERFACE_CLASS (0x1bbb , 0x0530 , 0xff ), /* TCL IK512 MBIM */
2413
2422
.driver_info = NCTRL (1 ) },
2414
2423
{ USB_DEVICE_INTERFACE_CLASS (0x1bbb , 0x0640 , 0xff ), /* TCL IK512 ECM */
0 commit comments