| From 0470667caa8261beb8a9141102b04a5357dd45b5 Mon Sep 17 00:00:00 2001 |
| From: Bjørn Mork <bjorn@mork.no> |
| Date: Tue, 10 Sep 2013 15:06:20 +0200 |
| Subject: net: qmi_wwan: add new Qualcomm devices |
| |
| From: Bjørn Mork <bjorn@mork.no> |
| |
| commit 0470667caa8261beb8a9141102b04a5357dd45b5 upstream. |
| |
| Adding the device list from the Windows driver description files |
| included with a new Qualcomm MDM9615 based device, "Alcatel-sbell |
| ASB TL131 TDD LTE", from China Mobile. This device is tested |
| and verified to work. The others are assumed to work based on |
| using the same Windows driver. |
| |
| Many of these devices support multiple QMI/wwan ports, requiring |
| multiple interface matching entries. All devices are composite, |
| providing a mix of one or more serial, storage or Android Debug |
| Brigde functions in addition to the wwan function. |
| |
| This device list included an update of one previously known device, |
| which was incorrectly assumed to have a Gobi 2K layout. This is |
| corrected. |
| |
| Reported-by: 王康 <scateu@gmail.com> |
| Signed-off-by: Bjørn Mork <bjorn@mork.no> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/usb/qmi_wwan.c | 130 ++++++++++++++++++++++++++++++++++++++++++++- |
| 1 file changed, 129 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/usb/qmi_wwan.c |
| +++ b/drivers/net/usb/qmi_wwan.c |
| @@ -518,6 +518,135 @@ static const struct usb_device_id produc |
| |
| /* 3. Combined interface devices matching on interface number */ |
| {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */ |
| + {QMI_FIXED_INTF(0x05c6, 0x7000, 0)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7001, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7002, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7101, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7101, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7101, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7102, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7102, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x7102, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x8000, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x8001, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9000, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9003, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9005, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900a, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900b, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900c, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900c, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900c, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900d, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900f, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900f, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x900f, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9010, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9010, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9011, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9011, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9021, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9022, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */ |
| + {QMI_FIXED_INTF(0x05c6, 0x9026, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x902e, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9031, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9032, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9033, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9033, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9033, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9033, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9034, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9034, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9034, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9034, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9034, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9035, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9036, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9037, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9038, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x903b, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x903c, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x903d, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x903e, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9043, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9046, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9046, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9046, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9047, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9047, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9047, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9048, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9048, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9048, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9048, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9048, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x904c, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x904c, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x904c, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x904c, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9050, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9052, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9053, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9053, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9054, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9054, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9055, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9055, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9055, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9055, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9055, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9056, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9062, 9)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9064, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9065, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9065, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9066, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9066, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9067, 1)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 2)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9068, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9069, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9069, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9069, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9069, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9070, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9070, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9075, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9076, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9076, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9076, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9076, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9076, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9077, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9077, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9077, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9077, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9078, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9079, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9079, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9079, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9079, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9079, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9080, 5)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9080, 6)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9080, 7)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9080, 8)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9083, 3)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x9084, 4)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x920d, 0)}, |
| + {QMI_FIXED_INTF(0x05c6, 0x920d, 5)}, |
| {QMI_FIXED_INTF(0x12d1, 0x140c, 1)}, /* Huawei E173 */ |
| {QMI_FIXED_INTF(0x12d1, 0x14ac, 1)}, /* Huawei E1820 */ |
| {QMI_FIXED_INTF(0x19d2, 0x0002, 1)}, |
| @@ -612,7 +741,6 @@ static const struct usb_device_id produc |
| {QMI_GOBI_DEVICE(0x413c, 0x8186)}, /* Dell Gobi 2000 Modem device (N0218, VU936) */ |
| {QMI_GOBI_DEVICE(0x413c, 0x8194)}, /* Dell Gobi 3000 Composite */ |
| {QMI_GOBI_DEVICE(0x05c6, 0x920b)}, /* Generic Gobi 2000 Modem device */ |
| - {QMI_GOBI_DEVICE(0x05c6, 0x920d)}, /* Gobi 3000 Composite */ |
| {QMI_GOBI_DEVICE(0x05c6, 0x9225)}, /* Sony Gobi 2000 Modem device (N0279, VU730) */ |
| {QMI_GOBI_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */ |
| {QMI_GOBI_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */ |