@@ -619,15 +619,6 @@ static void option_instat_callback(struct urb *urb);
619619/* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */
620620#define LUAT_PRODUCT_AIR720U 0x4e00
621621
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-
631622/* Device flags */
632623
633624/* Highest interface number which can be used with NCTRL() and RSVD() */
@@ -1367,15 +1358,15 @@ static const struct usb_device_id option_ids[] = {
13671358 .driver_info = NCTRL (2 ) | RSVD (3 ) },
13681359 { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1063 , 0xff ), /* Telit LN920 (ECM) */
13691360 .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) */
13711362 .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) */
13731364 .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) */
13751366 .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) */
13771368 .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) */
13791370 .driver_info = RSVD (0 ) },
13801371 { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x1080 , 0xff ), /* Telit FE990 (rmnet) */
13811372 .driver_info = NCTRL (0 ) | RSVD (1 ) | RSVD (2 ) },
@@ -1403,6 +1394,22 @@ static const struct usb_device_id option_ids[] = {
14031394 .driver_info = RSVD (0 ) | NCTRL (3 ) },
14041395 { USB_DEVICE_INTERFACE_CLASS (TELIT_VENDOR_ID , 0x10c8 , 0xff ), /* Telit FE910C04 (rmnet) */
14051396 .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 ) },
14061413 { USB_DEVICE (TELIT_VENDOR_ID , TELIT_PRODUCT_ME910 ),
14071414 .driver_info = NCTRL (0 ) | RSVD (1 ) | RSVD (3 ) },
14081415 { USB_DEVICE (TELIT_VENDOR_ID , TELIT_PRODUCT_ME910_DUAL_MODEM ),
@@ -2347,6 +2354,14 @@ static const struct usb_device_id option_ids[] = {
23472354 { USB_DEVICE_INTERFACE_CLASS (0x2cb7 , 0x0a05 , 0xff ) }, /* Fibocom FM650-CN (NCM mode) */
23482355 { USB_DEVICE_INTERFACE_CLASS (0x2cb7 , 0x0a06 , 0xff ) }, /* Fibocom FM650-CN (RNDIS mode) */
23492356 { 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 */
23502365 { USB_DEVICE_INTERFACE_CLASS (0x2df3 , 0x9d03 , 0xff ) }, /* LongSung M5710 */
23512366 { USB_DEVICE_INTERFACE_CLASS (0x305a , 0x1404 , 0xff ) }, /* GosunCn GM500 RNDIS */
23522367 { USB_DEVICE_INTERFACE_CLASS (0x305a , 0x1405 , 0xff ) }, /* GosunCn GM500 MBIM */
@@ -2403,12 +2418,6 @@ static const struct usb_device_id option_ids[] = {
24032418 { USB_DEVICE_AND_INTERFACE_INFO (SIERRA_VENDOR_ID , SIERRA_PRODUCT_EM9191 , 0xff , 0 , 0 ) },
24042419 { USB_DEVICE_AND_INTERFACE_INFO (UNISOC_VENDOR_ID , TOZED_PRODUCT_LT70C , 0xff , 0 , 0 ) },
24052420 { 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 ) },
24122421 { USB_DEVICE_INTERFACE_CLASS (0x1bbb , 0x0530 , 0xff ), /* TCL IK512 MBIM */
24132422 .driver_info = NCTRL (1 ) },
24142423 { USB_DEVICE_INTERFACE_CLASS (0x1bbb , 0x0640 , 0xff ), /* TCL IK512 ECM */
0 commit comments