7ccf34cfa423380a52327ecefb2f68412bbac2f9
[openwrt/openwrt.git] / target / linux / generic / patches-3.14 / 060-net-usb-hso-Add-support-for-Option-GTM671WFS.patch
1 From 61ab9efddf51cbc0d57356a4d650785cf5721fbe Mon Sep 17 00:00:00 2001
2 From: Ricardo Ribalda <ricardo.ribalda@gmail.com>
3 Date: Mon, 4 Aug 2014 11:11:49 +0200
4 Subject: [PATCH] net/usb/hso: Add support for Option GTM671WFS
5
6 After this patch:
7
8 [ 32.985530] hso: drivers/net/usb/hso.c: Option Wireless
9 [ 33.000452] hso 2-1.4:1.7: Not our interface
10 [ 33.001849] usbcore: registered new interface driver hso
11
12 root@qt5022:~# ls /dev/ttyHS*
13 /dev/ttyHS0 /dev/ttyHS1 /dev/ttyHS2 /dev/ttyHS3 /dev/ttyHS4
14 /dev/ttyHS5
15
16 root@qt5022:~# lsusb -d 0af0: -vvv
17
18 Bus 002 Device 003: ID 0af0:9200 Option
19 Device Descriptor:
20 bLength 18
21 bDescriptorType 1
22 bcdUSB 2.00
23 bDeviceClass 255 Vendor Specific Class
24 bDeviceSubClass 255 Vendor Specific Subclass
25 bDeviceProtocol 255 Vendor Specific Protocol
26 bMaxPacketSize0 64
27 idVendor 0x0af0 Option
28 idProduct 0x9200
29 bcdDevice 0.00
30 iManufacturer 3 Option N.V.
31 iProduct 2 Globetrotter HSUPA Modem
32 iSerial 0
33 bNumConfigurations 1
34 Configuration Descriptor:
35 bLength 9
36 bDescriptorType 2
37 wTotalLength 200
38 bNumInterfaces 8
39 bConfigurationValue 1
40 iConfiguration 1 Option Configuration
41 bmAttributes 0xe0
42 Self Powered
43 Remote Wakeup
44 MaxPower 100mA
45 Interface Descriptor:
46 bLength 9
47 bDescriptorType 4
48 bInterfaceNumber 0
49 bAlternateSetting 0
50 bNumEndpoints 2
51 bInterfaceClass 255 Vendor Specific Class
52 bInterfaceSubClass 255 Vendor Specific Subclass
53 bInterfaceProtocol 255 Vendor Specific Protocol
54 iInterface 0
55 Endpoint Descriptor:
56 bLength 7
57 bDescriptorType 5
58 bEndpointAddress 0x81 EP 1 IN
59 bmAttributes 2
60 Transfer Type Bulk
61 Synch Type None
62 Usage Type Data
63 wMaxPacketSize 0x0200 1x 512 bytes
64 bInterval 32
65 Endpoint Descriptor:
66 bLength 7
67 bDescriptorType 5
68 bEndpointAddress 0x01 EP 1 OUT
69 bmAttributes 2
70 Transfer Type Bulk
71 Synch Type None
72 Usage Type Data
73 wMaxPacketSize 0x0200 1x 512 bytes
74 bInterval 32
75 Interface Descriptor:
76 bLength 9
77 bDescriptorType 4
78 bInterfaceNumber 1
79 bAlternateSetting 0
80 bNumEndpoints 2
81 bInterfaceClass 255 Vendor Specific Class
82 bInterfaceSubClass 255 Vendor Specific Subclass
83 bInterfaceProtocol 255 Vendor Specific Protocol
84 iInterface 0
85 Endpoint Descriptor:
86 bLength 7
87 bDescriptorType 5
88 bEndpointAddress 0x82 EP 2 IN
89 bmAttributes 2
90 Transfer Type Bulk
91 Synch Type None
92 Usage Type Data
93 wMaxPacketSize 0x0200 1x 512 bytes
94 bInterval 32
95 Endpoint Descriptor:
96 bLength 7
97 bDescriptorType 5
98 bEndpointAddress 0x02 EP 2 OUT
99 bmAttributes 2
100 Transfer Type Bulk
101 Synch Type None
102 Usage Type Data
103 wMaxPacketSize 0x0200 1x 512 bytes
104 bInterval 32
105 Interface Descriptor:
106 bLength 9
107 bDescriptorType 4
108 bInterfaceNumber 2
109 bAlternateSetting 0
110 bNumEndpoints 2
111 bInterfaceClass 255 Vendor Specific Class
112 bInterfaceSubClass 255 Vendor Specific Subclass
113 bInterfaceProtocol 255 Vendor Specific Protocol
114 iInterface 0
115 Endpoint Descriptor:
116 bLength 7
117 bDescriptorType 5
118 bEndpointAddress 0x83 EP 3 IN
119 bmAttributes 2
120 Transfer Type Bulk
121 Synch Type None
122 Usage Type Data
123 wMaxPacketSize 0x0200 1x 512 bytes
124 bInterval 32
125 Endpoint Descriptor:
126 bLength 7
127 bDescriptorType 5
128 bEndpointAddress 0x03 EP 3 OUT
129 bmAttributes 2
130 Transfer Type Bulk
131 Synch Type None
132 Usage Type Data
133 wMaxPacketSize 0x0200 1x 512 bytes
134 bInterval 32
135 Interface Descriptor:
136 bLength 9
137 bDescriptorType 4
138 bInterfaceNumber 3
139 bAlternateSetting 0
140 bNumEndpoints 2
141 bInterfaceClass 255 Vendor Specific Class
142 bInterfaceSubClass 255 Vendor Specific Subclass
143 bInterfaceProtocol 255 Vendor Specific Protocol
144 iInterface 0
145 Endpoint Descriptor:
146 bLength 7
147 bDescriptorType 5
148 bEndpointAddress 0x84 EP 4 IN
149 bmAttributes 2
150 Transfer Type Bulk
151 Synch Type None
152 Usage Type Data
153 wMaxPacketSize 0x0200 1x 512 bytes
154 bInterval 32
155 Endpoint Descriptor:
156 bLength 7
157 bDescriptorType 5
158 bEndpointAddress 0x04 EP 4 OUT
159 bmAttributes 2
160 Transfer Type Bulk
161 Synch Type None
162 Usage Type Data
163 wMaxPacketSize 0x0200 1x 512 bytes
164 bInterval 32
165 Interface Descriptor:
166 bLength 9
167 bDescriptorType 4
168 bInterfaceNumber 4
169 bAlternateSetting 0
170 bNumEndpoints 2
171 bInterfaceClass 255 Vendor Specific Class
172 bInterfaceSubClass 255 Vendor Specific Subclass
173 bInterfaceProtocol 255 Vendor Specific Protocol
174 iInterface 0
175 Endpoint Descriptor:
176 bLength 7
177 bDescriptorType 5
178 bEndpointAddress 0x85 EP 5 IN
179 bmAttributes 2
180 Transfer Type Bulk
181 Synch Type None
182 Usage Type Data
183 wMaxPacketSize 0x0200 1x 512 bytes
184 bInterval 32
185 Endpoint Descriptor:
186 bLength 7
187 bDescriptorType 5
188 bEndpointAddress 0x05 EP 5 OUT
189 bmAttributes 2
190 Transfer Type Bulk
191 Synch Type None
192 Usage Type Data
193 wMaxPacketSize 0x0200 1x 512 bytes
194 bInterval 32
195 Interface Descriptor:
196 bLength 9
197 bDescriptorType 4
198 bInterfaceNumber 5
199 bAlternateSetting 0
200 bNumEndpoints 2
201 bInterfaceClass 255 Vendor Specific Class
202 bInterfaceSubClass 255 Vendor Specific Subclass
203 bInterfaceProtocol 255 Vendor Specific Protocol
204 iInterface 0
205 Endpoint Descriptor:
206 bLength 7
207 bDescriptorType 5
208 bEndpointAddress 0x06 EP 6 OUT
209 bmAttributes 2
210 Transfer Type Bulk
211 Synch Type None
212 Usage Type Data
213 wMaxPacketSize 0x0200 1x 512 bytes
214 bInterval 32
215 Endpoint Descriptor:
216 bLength 7
217 bDescriptorType 5
218 bEndpointAddress 0x86 EP 6 IN
219 bmAttributes 2
220 Transfer Type Bulk
221 Synch Type None
222 Usage Type Data
223 wMaxPacketSize 0x0200 1x 512 bytes
224 bInterval 32
225 Interface Descriptor:
226 bLength 9
227 bDescriptorType 4
228 bInterfaceNumber 6
229 bAlternateSetting 0
230 bNumEndpoints 3
231 bInterfaceClass 255 Vendor Specific Class
232 bInterfaceSubClass 255 Vendor Specific Subclass
233 bInterfaceProtocol 255 Vendor Specific Protocol
234 iInterface 0
235 Endpoint Descriptor:
236 bLength 7
237 bDescriptorType 5
238 bEndpointAddress 0x87 EP 7 IN
239 bmAttributes 3
240 Transfer Type Interrupt
241 Synch Type None
242 Usage Type Data
243 wMaxPacketSize 0x0040 1x 64 bytes
244 bInterval 5
245 Endpoint Descriptor:
246 bLength 7
247 bDescriptorType 5
248 bEndpointAddress 0x88 EP 8 IN
249 bmAttributes 2
250 Transfer Type Bulk
251 Synch Type None
252 Usage Type Data
253 wMaxPacketSize 0x0200 1x 512 bytes
254 bInterval 32
255 Endpoint Descriptor:
256 bLength 7
257 bDescriptorType 5
258 bEndpointAddress 0x07 EP 7 OUT
259 bmAttributes 2
260 Transfer Type Bulk
261 Synch Type None
262 Usage Type Data
263 wMaxPacketSize 0x0200 1x 512 bytes
264 bInterval 32
265 Interface Descriptor:
266 bLength 9
267 bDescriptorType 4
268 bInterfaceNumber 7
269 bAlternateSetting 0
270 bNumEndpoints 2
271 bInterfaceClass 8 Mass Storage
272 bInterfaceSubClass 6 SCSI
273 bInterfaceProtocol 80 Bulk-Only
274 iInterface 0
275 Endpoint Descriptor:
276 bLength 7
277 bDescriptorType 5
278 bEndpointAddress 0x08 EP 8 OUT
279 bmAttributes 2
280 Transfer Type Bulk
281 Synch Type None
282 Usage Type Data
283 wMaxPacketSize 0x0200 1x 512 bytes
284 bInterval 1
285 Endpoint Descriptor:
286 bLength 7
287 bDescriptorType 5
288 bEndpointAddress 0x89 EP 9 IN
289 bmAttributes 2
290 Transfer Type Bulk
291 Synch Type None
292 Usage Type Data
293 wMaxPacketSize 0x0200 1x 512 bytes
294 bInterval 1
295 Device Qualifier (for other device speed):
296 bLength 10
297 bDescriptorType 6
298 bcdUSB 2.00
299 bDeviceClass 255 Vendor Specific Class
300 bDeviceSubClass 255 Vendor Specific Subclass
301 bDeviceProtocol 255 Vendor Specific Protocol
302 bMaxPacketSize0 64
303 bNumConfigurations 1
304 Device Status: 0x0001
305 Self Powered
306
307 Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
308 Acked-by: Dan Williams <dcbw@redhat.com>
309 Signed-off-by: David S. Miller <davem@davemloft.net>
310 ---
311 drivers/net/usb/hso.c | 1 +
312 1 file changed, 1 insertion(+)
313
314 --- a/drivers/net/usb/hso.c
315 +++ b/drivers/net/usb/hso.c
316 @@ -469,6 +469,7 @@ static const struct usb_device_id hso_id
317 {USB_DEVICE(0x0af0, 0x8800)},
318 {USB_DEVICE(0x0af0, 0x8900)},
319 {USB_DEVICE(0x0af0, 0x9000)},
320 + {USB_DEVICE(0x0af0, 0x9200)}, /* Option GTM671WFS */
321 {USB_DEVICE(0x0af0, 0xd035)},
322 {USB_DEVICE(0x0af0, 0xd055)},
323 {USB_DEVICE(0x0af0, 0xd155)},