]>
Commit | Line | Data |
---|---|---|
427c87c4 GKH |
1 | From d57ec3c83b5153217a70b561d4fb6ed96f2f7a25 Mon Sep 17 00:00:00 2001 |
2 | From: Tore Anderson <tore@fud.no> | |
3 | Date: Sat, 8 Dec 2018 19:05:12 +0100 | |
4 | Subject: USB: serial: option: add HP lt4132 | |
5 | ||
6 | From: Tore Anderson <tore@fud.no> | |
7 | ||
8 | commit d57ec3c83b5153217a70b561d4fb6ed96f2f7a25 upstream. | |
9 | ||
10 | The HP lt4132 is a rebranded Huawei ME906s-158 LTE modem. | |
11 | ||
12 | The interface with protocol 0x16 is "CDC ECM & NCM" according to the *.inf | |
13 | files included with the Windows driver. Attaching the option driver to it | |
14 | doesn't result in a /dev/ttyUSB* device being created, so I've excluded it. | |
15 | Note that it is also excluded for corresponding Huawei-branded devices, cf. | |
16 | commit d544db293a44 ("USB: support new huawei devices in option.c"). | |
17 | ||
18 | T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0 | |
19 | D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3 | |
20 | P: Vendor=03f0 ProdID=a31d Rev=01.02 | |
21 | S: Manufacturer=HP Inc. | |
22 | S: Product=HP lt4132 LTE/HSPA+ 4G Module | |
23 | S: SerialNumber=0123456789ABCDEF | |
24 | C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=2mA | |
25 | I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=10 Driver=option | |
26 | I: If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=13 Driver=option | |
27 | I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=12 Driver=option | |
28 | I: If#=0x3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=06 Prot=16 Driver=(none) | |
29 | I: If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option | |
30 | I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=1b Driver=option | |
31 | ||
32 | T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0 | |
33 | D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3 | |
34 | P: Vendor=03f0 ProdID=a31d Rev=01.02 | |
35 | S: Manufacturer=HP Inc. | |
36 | S: Product=HP lt4132 LTE/HSPA+ 4G Module | |
37 | S: SerialNumber=0123456789ABCDEF | |
38 | C: #Ifs= 7 Cfg#= 2 Atr=a0 MxPwr=2mA | |
39 | I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether | |
40 | I: If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=cdc_ether | |
41 | I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=10 Driver=option | |
42 | I: If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=13 Driver=option | |
43 | I: If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=12 Driver=option | |
44 | I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option | |
45 | I: If#=0x6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=1b Driver=option | |
46 | ||
47 | T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0 | |
48 | D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3 | |
49 | P: Vendor=03f0 ProdID=a31d Rev=01.02 | |
50 | S: Manufacturer=HP Inc. | |
51 | S: Product=HP lt4132 LTE/HSPA+ 4G Module | |
52 | S: SerialNumber=0123456789ABCDEF | |
53 | C: #Ifs= 3 Cfg#= 3 Atr=a0 MxPwr=2mA | |
54 | I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim | |
55 | I: If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim | |
56 | I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option | |
57 | ||
58 | Signed-off-by: Tore Anderson <tore@fud.no> | |
59 | Cc: stable@vger.kernel.org | |
60 | [ johan: drop id defines ] | |
61 | Signed-off-by: Johan Hovold <johan@kernel.org> | |
62 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
63 | ||
64 | --- | |
65 | drivers/usb/serial/option.c | 7 ++++++- | |
66 | 1 file changed, 6 insertions(+), 1 deletion(-) | |
67 | ||
68 | --- a/drivers/usb/serial/option.c | |
69 | +++ b/drivers/usb/serial/option.c | |
70 | @@ -2042,7 +2042,12 @@ static const struct usb_device_id option | |
71 | { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD200, 0xff, 0xff, 0xff) }, | |
72 | { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) }, | |
73 | { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) }, | |
74 | - { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */ | |
75 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */ | |
76 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x10) }, /* HP lt4132 (Huawei ME906s-158) */ | |
77 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x12) }, | |
78 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x13) }, | |
79 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x14) }, | |
80 | + { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x1b) }, | |
81 | { } /* Terminating entry */ | |
82 | }; | |
83 | MODULE_DEVICE_TABLE(usb, option_ids); |