Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aad8a278 authored by fangxiaozhi's avatar fangxiaozhi Committed by Greg Kroah-Hartman
Browse files

USB: support more Huawei data card product IDs



 - declare the unusal device for Huawei data card devices in
   unusual_devs.h
 - disable the product ID matching for Huawei data card devices in
   usb_match_device function of driver.c
 - declare the product IDs in option.c.

Signed-off-by: default avatarfangxiaozhi <huananhu@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a1d9bc12
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -109,6 +109,22 @@ static int option_send_setup(struct usb_serial_port *port);
#define HUAWEI_PRODUCT_E600			0x1001
#define HUAWEI_PRODUCT_E220			0x1003
#define HUAWEI_PRODUCT_E220BIS			0x1004
#define HUAWEI_PRODUCT_E1401			0x1401
#define HUAWEI_PRODUCT_E1403			0x1403
#define HUAWEI_PRODUCT_E1405			0x1405
#define HUAWEI_PRODUCT_E1406			0x1406
#define HUAWEI_PRODUCT_E1408			0x1408
#define HUAWEI_PRODUCT_E1409			0x1409
#define HUAWEI_PRODUCT_E1410			0x1410
#define HUAWEI_PRODUCT_E1411			0x1411
#define HUAWEI_PRODUCT_E1412			0x1412
#define HUAWEI_PRODUCT_E1413			0x1413
#define HUAWEI_PRODUCT_E1414			0x1414
#define HUAWEI_PRODUCT_E1415			0x1415
#define HUAWEI_PRODUCT_E1416			0x1416
#define HUAWEI_PRODUCT_E1417			0x1417
#define HUAWEI_PRODUCT_E1418			0x1418
#define HUAWEI_PRODUCT_E1419			0x1419

#define NOVATELWIRELESS_VENDOR_ID		0x1410

@@ -212,6 +228,22 @@ static struct usb_device_id option_ids[] = {
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) },
	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) },
	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1413) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1414) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1415) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1416) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1417) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1418) },
	{ USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1419) },
	{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) },
	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */
	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */
+92 −4
Original line number Diff line number Diff line
@@ -1530,16 +1530,104 @@ UNUSUAL_DEV( 0x1210, 0x0003, 0x0100, 0x0100,
		US_SC_DEVICE, US_PR_DEVICE, NULL,
		US_FL_IGNORE_RESIDUE ),

/* Reported by fangxiaozhi <fangxiaozhi60675@huawei.com>
 * and by linlei <linlei83@huawei.com>
 * Patch reworked by Johann Wilhelm <johann.wilhelm@student.tugraz.at>
 * This brings the HUAWEI E220 devices into multi-port mode
/* Reported by fangxiaozhi <huananhu@huawei.com>
 * This brings the HUAWEI data card devices into multi-port mode
 */
UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),
UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000,
		"HUAWEI MOBILE",
		"Mass Storage",
		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
		0),

/* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,