-
Notifications
You must be signed in to change notification settings - Fork 14
/
40-usb_modeswitch.rules
722 lines (483 loc) · 25.5 KB
/
40-usb_modeswitch.rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
# Part of usb-modeswitch-data, version 20120531
#
# Recommended use with USB_ModeSwitch >= 1.2.0, works with versions >= 1.0.3
#
ACTION!="add|change", GOTO="modeswitch_rules_end"
# Adds a symlink "gsmmodem[n]" to the lowest ttyUSB port with interrupt
# transfer; checked against a list of known modems, or else no action
KERNEL=="ttyUSB*", ATTRS{bNumConfigurations}=="*", PROGRAM="usb_modeswitch --symlink-name %p %s{idVendor} %s{idProduct} %E{PRODUCT}", SYMLINK="%c"
SUBSYSTEM!="usb", GOTO="modeswitch_rules_end"
# Adds the device ID to the "option" driver after a warm boot
# in cases when the device is yet unknown to the driver; checked
# against a list of known modems, or else no action
ATTR{bInterfaceClass}=="ff", ATTR{bInterfaceNumber}=="00", ATTRS{bNumConfigurations}=="*", RUN+="usb_modeswitch --driver-bind %p %s{idVendor} %s{idProduct} %E{PRODUCT}"
# Most known install partitions are on interface 0, one on 5, one on 9
ATTRS{bInterfaceNumber}!="0[059]", GOTO="modeswitch_rules_end"
# handle only storage class devices
ATTRS{bDeviceClass}=="08", GOTO="modeswitch_rules_begin"
ATTRS{bInterfaceClass}=="0[38]", GOTO="modeswitch_rules_begin"
GOTO="modeswitch_rules_end"
LABEL="modeswitch_rules_begin"
# HP LaserJet Professional P1102
ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="002a", RUN+="usb_modeswitch '%b/%k'"
# Yota Router (Quanta 1QDLZZZ0ST2)
ATTRS{idVendor}=="0408", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-10
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="060c", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-15
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0610", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-17
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0622", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-18
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0627", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-19
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="062c", RUN+="usb_modeswitch '%b/%k'"
# Nokia CS-21M-02
ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0637", RUN+="usb_modeswitch '%b/%k'"
# Vodafone MD950 (Wisue Technology), Philips (?)
ATTRS{idVendor}=="0471", ATTRS{idProduct}=="1210", RUN+="usb_modeswitch '%b/%k'"
# Philips TalkTalk (NXP Semiconductors "Dragonfly")
ATTRS{idVendor}=="0471", ATTRS{idProduct}=="1237", RUN+="usb_modeswitch '%b/%k'"
# Kyocera W06K CDMA modem
ATTRS{idVendor}=="0482", ATTRS{idProduct}=="024d", RUN+="usb_modeswitch '%b/%k'"
# I-O Data WMX2-U Wimax
ATTRS{idVendor}=="04bb", ATTRS{idProduct}=="bccd", RUN+="usb_modeswitch '%b/%k'"
# Samsung GT-B1110
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="680c", RUN+="usb_modeswitch '%b/%k'"
# Samsung GT-B3730
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="689a", RUN+="usb_modeswitch '%b/%k'"
# Samsung U209, Samsung U209
ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# AVM Fritz!Wlan USB Stick N
ATTRS{idVendor}=="057c", ATTRS{idProduct}=="84ff", RUN+="usb_modeswitch '%b/%k'"
# Celot K-300, Quirky Option devices, Vertex Wireless 100 Series, Option GlobeTrotter GX0201, Older Option devices, Samsung SGH-Z810, Prolink P2000 CDMA, Celot CT-680, AnyDATA devices, Bless UC165
ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# HSDPA USB modem from dealextreme
ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-162-U5, Micromax MMX 300c
ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="2001", RUN+="usb_modeswitch '%b/%k'"
# AnyDATA APE-540H
ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="6503", RUN+="usb_modeswitch '%b/%k'"
# Siptune LM-75 ("LinuxModem")
ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Qtronix EVDO 3G Modem (for TianYi)
ATTRS{idVendor}=="05c7", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# InfoCert Business Key (SmartCard/Reader emulation)
ATTRS{idVendor}=="072f", ATTRS{idProduct}=="100d", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 HSUPA 3.75G USB Modem
ATTRS{idVendor}=="07d1", ATTRS{idProduct}=="a800", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 HSUPA 3.75G USB Modem
ATTRS{idVendor}=="07d1", ATTRS{idProduct}=="a804", RUN+="usb_modeswitch '%b/%k'"
# Toshiba G450
ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0d46", RUN+="usb_modeswitch '%b/%k'"
# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 1)
ATTRS{idVendor}=="0ace", ATTRS{idProduct}=="2011", RUN+="usb_modeswitch '%b/%k'"
# Zydas ZD1211RW WLAN USB, Sphairon HomeLink 1202 (Variant 2)
ATTRS{idVendor}=="0ace", ATTRS{idProduct}=="20ff", RUN+="usb_modeswitch '%b/%k'"
# Option iCon 711
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="4007", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6711", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6731", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6751", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6771", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6791", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6811", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6911", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6951", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="6971", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7011", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7031", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7051", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7071", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7111", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7211", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7251", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7271", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7301", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7311", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7361", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7381", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7401", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7501", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7601", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7701", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7706", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7801", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7901", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7a01", RUN+="usb_modeswitch '%b/%k'"
# Option iCon 461
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="7a05", RUN+="usb_modeswitch '%b/%k'"
# Option Globetrotter (Variant)
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8006", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8200", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8201", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8300", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8302", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8304", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8400", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8600", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8800", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="8900", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="9000", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="c031", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="c100", RUN+="usb_modeswitch '%b/%k'"
# Option GlobeTrotter GI1515
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d001", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d013", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d031", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d033", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d035", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d055", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d057", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d058", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d155", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d157", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d255", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d257", RUN+="usb_modeswitch '%b/%k'"
# Option HSO device
ATTRS{idVendor}=="0af0", ATTRS{idProduct}=="d357", RUN+="usb_modeswitch '%b/%k'"
# Olivetti Olicard 100 and others
ATTRS{idVendor}=="0b3c", ATTRS{idProduct}=="c700", RUN+="usb_modeswitch '%b/%k'"
# Olivetti Olicard 145, 155
ATTRS{idVendor}=="0b3c", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Atheros Wireless / Netgear WNDA3200
ATTRS{idVendor}=="0cf3", ATTRS{idProduct}=="20ff", RUN+="usb_modeswitch '%b/%k'"
# Kobil mIdentity 3G (1)
ATTRS{idVendor}=="0d46", ATTRS{idProduct}=="45a1", RUN+="usb_modeswitch '%b/%k'"
# Kobil mIdentity 3G (2)
ATTRS{idVendor}=="0d46", ATTRS{idProduct}=="45a5", RUN+="usb_modeswitch '%b/%k'"
# Mobile Action ("Smart Cable")
ATTRS{idVendor}=="0df7", ATTRS{idProduct}=="0800", RUN+="usb_modeswitch '%b/%k'"
# MediaTek MT6276M
ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="0002", RUN+="usb_modeswitch '%b/%k'"
# MediaTek Wimax USB Card
ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="7109", RUN+="usb_modeswitch '%b/%k'"
# Sony Ericsson MD300
ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d0cf", RUN+="usb_modeswitch '%b/%k'"
# Sony Ericsson MD400
ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d0e1", RUN+="usb_modeswitch '%b/%k'"
# Sony Ericsson MD400G
ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d103", RUN+="usb_modeswitch '%b/%k'"
# GW D301 (Advinne AMC)
ATTRS{idVendor}=="0fd1", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# LG LDU-1900D EV-DO (Rev. A)
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# LG HDM-2100 (EVDO Rev.A USB modem)
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="607f", RUN+="usb_modeswitch '%b/%k'"
# LG L-05A
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="613a", RUN+="usb_modeswitch '%b/%k'"
# LG LUU-2100TI (aka AT&T USBConnect Turbo)
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="613f", RUN+="usb_modeswitch '%b/%k'"
# LG L-07A
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="614e", RUN+="usb_modeswitch '%b/%k'"
# LG AD600
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6190", RUN+="usb_modeswitch '%b/%k'"
# LG L-02C LTE
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61dd", RUN+="usb_modeswitch '%b/%k'"
# LG SD711
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61e7", RUN+="usb_modeswitch '%b/%k'"
# LG L-08C (NTT docomo)
ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61eb", RUN+="usb_modeswitch '%b/%k'"
# Huawei E630
ATTRS{idVendor}=="1033", ATTRS{idProduct}=="0035", RUN+="usb_modeswitch '%b/%k'"
# UTStarcom UM175 (distributor "Alltel")
ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3b03", RUN+="usb_modeswitch '%b/%k'"
# Pantech / UTStarcom UMW190 (Verizon)
ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3b05", RUN+="usb_modeswitch '%b/%k'"
# UTStarcom UM185E (distributor "Alltel")
ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3b06", RUN+="usb_modeswitch '%b/%k'"
# Sagem F@ST 9520-35-GLR
ATTRS{idVendor}=="1076", ATTRS{idProduct}=="7f40", RUN+="usb_modeswitch '%b/%k'"
# Hisense E910 EVDO Phone
ATTRS{idVendor}=="109b", ATTRS{idProduct}=="f009", RUN+="usb_modeswitch '%b/%k'"
# Sierra devices (specific driver)
ATTRS{idVendor}=="1199", ATTRS{idProduct}=="0fff", RUN+="usb_modeswitch '%b/%k'"
# Digicom 8E4455 (and all Pirelli devices - EXPERIMENTAL)
ATTRS{idVendor}=="1266", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# Huawei E169
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'"
# Huawei E220, E230, E270, E870
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1003", RUN+="usb_modeswitch '%b/%k'"
# Huawei V725 Phone (aka Vodafone 725)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1009", RUN+="usb_modeswitch '%b/%k'"
# Huawei U7510 / U7517
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="101e", RUN+="usb_modeswitch '%b/%k'"
# Huawei U8220, T-Mobile Pulse (Android smartphone)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1030", RUN+="usb_modeswitch '%b/%k'"
# Huawei U8110 / Joy, Vodafone 845 (Android smartphone)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1031", RUN+="usb_modeswitch '%b/%k'"
# Huawei E180
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1414", RUN+="usb_modeswitch '%b/%k'"
# Huawei, newer modems
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"
# Huawei E352
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1449", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (Huawei) K3806
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14ad", RUN+="usb_modeswitch '%b/%k'"
# Huawei E173 (Viettel 3G)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14b5", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (Huawei) K4511
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14b7", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (Huawei) K4605
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14c1", RUN+="usb_modeswitch '%b/%k'"
# K5005 Vodafone/Huawei
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14c3", RUN+="usb_modeswitch '%b/%k'"
# Vodafone/Huawei K3771
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14c4", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (Huawei) K4510
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14c5", RUN+="usb_modeswitch '%b/%k'"
# Vodafone/Huawei K3770
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14d1", RUN+="usb_modeswitch '%b/%k'"
# T-Mobile NL (Huawei E352)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="14fe", RUN+="usb_modeswitch '%b/%k'"
# Huawei EC156
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"
# Huawei K3765
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1520", RUN+="usb_modeswitch '%b/%k'"
# Huawei K4505
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1521", RUN+="usb_modeswitch '%b/%k'"
# Huawei R201
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1523", RUN+="usb_modeswitch '%b/%k'"
# Huawei E1553
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1553", RUN+="usb_modeswitch '%b/%k'"
# Huawei E173
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1557", RUN+="usb_modeswitch '%b/%k'"
# Huawei E173s
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1c0b", RUN+="usb_modeswitch '%b/%k'"
# Huawei E173 (Moviestar)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1c24", RUN+="usb_modeswitch '%b/%k'"
# Huawei ET302
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1d50", RUN+="usb_modeswitch '%b/%k'"
# Huawei ET8282
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1da1", RUN+="usb_modeswitch '%b/%k'"
# Huawei E353 (3.se)
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1f01", RUN+="usb_modeswitch '%b/%k'"
# Huawei BM358 WiMAX
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="380b", RUN+="usb_modeswitch '%b/%k'"
# Cisco AM10 "Valet Connector"
ATTRS{idVendor}=="1307", ATTRS{idProduct}=="1169", RUN+="usb_modeswitch '%b/%k'"
# Novatel Wireless devices
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5010", RUN+="usb_modeswitch '%b/%k'"
# Novatel MC990D
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5020", RUN+="usb_modeswitch '%b/%k'"
# Novatel U760
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5030", RUN+="usb_modeswitch '%b/%k'"
# Novatel MC760 3G
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5031", RUN+="usb_modeswitch '%b/%k'"
# Novatel Generic MiFi 2352 / Vodafone MiFi 2352
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5041", RUN+="usb_modeswitch '%b/%k'"
# Novatel Wireless MC545 HSPA, U679 LTE
ATTRS{idVendor}=="1410", ATTRS{idProduct}=="5059", RUN+="usb_modeswitch '%b/%k'"
# Sequans SQN1210/SQN1220 (generic chipsets)
ATTRS{idVendor}=="148e", ATTRS{idProduct}=="a000", RUN+="usb_modeswitch '%b/%k'"
# Motorola 802.11 bg WLAN (TER/GUSB3-E)
ATTRS{idVendor}=="148f", ATTRS{idProduct}=="2578", RUN+="usb_modeswitch '%b/%k'"
# C-motech CHU-628S
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="6281", RUN+="usb_modeswitch '%b/%k'"
# C-motech D-50 (aka "CDU-680")
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="6803", RUN+="usb_modeswitch '%b/%k'"
# C-motech CDU-685a
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="6804", RUN+="usb_modeswitch '%b/%k'"
# C-motech CHU-629S
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="700a", RUN+="usb_modeswitch '%b/%k'"
# C-motech CHU-629S (Variant)
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="700b", RUN+="usb_modeswitch '%b/%k'"
# C-motech CGU-628 (aka "Franklin Wireless CGU-628A" aka "4G Systems XS Stick W12")
ATTRS{idVendor}=="16d8", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# JOA Telecom LM-700r
ATTRS{idVendor}=="198a", ATTRS{idProduct}=="0003", RUN+="usb_modeswitch '%b/%k'"
# Beceem BCSM250
ATTRS{idVendor}=="198f", ATTRS{idProduct}=="bccd", RUN+="usb_modeswitch '%b/%k'"
# ZTE MU351
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0003", RUN+="usb_modeswitch '%b/%k'"
# Vodafone/ZTE K3806-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0013", RUN+="usb_modeswitch '%b/%k'"
# ZTE AC581
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0026", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF637
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K2525
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0040", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF110 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0053", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF110 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0083", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K4505-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0101", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF112
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0103", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF637 (Variant for Orange France)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0110", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF651
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0115", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF652 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0146", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF190 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0149", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF820 4G LTE
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0166", RUN+="usb_modeswitch '%b/%k'"
# ZTE A371B
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0169", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3805-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3570-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1007", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3571-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1009", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3806-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1013", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K4510-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1171", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3770-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1175", RUN+="usb_modeswitch '%b/%k'"
# Vodafone (ZTE) K3772-Z
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1179", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF691 (T-Mobile Rocket 2.0)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1201", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF192+
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1216", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF190
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1224", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF192 (yet annother variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1514", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF192 (Variant)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1517", RUN+="usb_modeswitch '%b/%k'"
# ZTE MF652
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1520", RUN+="usb_modeswitch '%b/%k'"
# ZTE devices
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'"
# ZTE AX226 WiMax
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="bccd", RUN+="usb_modeswitch '%b/%k'"
# ZTE AC682 (a.k.a. SmartFren Connex)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="ffde", RUN+="usb_modeswitch '%b/%k'"
# ZTE "ffe" devices 1 (e.g. Cricket A605)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="ffe6", RUN+="usb_modeswitch '%b/%k'"
# ZTE "fff" devices 1
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="fff5", RUN+="usb_modeswitch '%b/%k'"
# ZTE "fff" devices 2
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="fff6", RUN+="usb_modeswitch '%b/%k'"
# BandRich BandLuxe C100, C120, C170, C270, C3xx
ATTRS{idVendor}=="1a8d", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# BandRich BandLuxe C339
ATTRS{idVendor}=="1a8d", ATTRS{idProduct}=="2000", RUN+="usb_modeswitch '%b/%k'"
# Hummer DTM5731
ATTRS{idVendor}=="1ab7", ATTRS{idProduct}=="5700", RUN+="usb_modeswitch '%b/%k'"
# EpiValley SEC-7089 (featured by Alegro and Starcomms / iZAP)
ATTRS{idVendor}=="1b7d", ATTRS{idProduct}=="0700", RUN+="usb_modeswitch '%b/%k'"
# Alcatel X200/X200L/X060S
ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Alcatel OT X220L
ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="f052", RUN+="usb_modeswitch '%b/%k'"
# Alcatel One Touch X020
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="1001", RUN+="usb_modeswitch '%b/%k'"
# Vibe 3G Modem
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="6061", RUN+="usb_modeswitch '%b/%k'"
# MyWave SW006 Sport Phone/Modem Combination
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9200", RUN+="usb_modeswitch '%b/%k'"
# Longcheer SU9800
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9800", RUN+="usb_modeswitch '%b/%k'"
# Telewell TW-3G HSPA+
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="98ff", RUN+="usb_modeswitch '%b/%k'"
# BSNL Capitel
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="9e00", RUN+="usb_modeswitch '%b/%k'"
# MobiData MBD-200HU and others
ATTRS{idVendor}=="1c9e", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Qisda H21 Flying Beetle
ATTRS{idVendor}=="1da5", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# Solomon S3Gm-660
ATTRS{idVendor}=="1dd6", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# Philips PicoPix 1020 Projector
ATTRS{idVendor}=="1de1", ATTRS{idProduct}=="1101", RUN+="usb_modeswitch '%b/%k'"
# Option iCON 210, PROLiNK PHS100, Hyundai MB-810, A-Link 3GU
ATTRS{idVendor}=="1e0e", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# 3GO 3GO11 HSUPA
ATTRS{idVendor}=="1e89", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# AirPlus MCD-800
ATTRS{idVendor}=="1edf", ATTRS{idProduct}=="6003", RUN+="usb_modeswitch '%b/%k'"
# Onda MW833UP
ATTRS{idVendor}=="1ee8", ATTRS{idProduct}=="0009", RUN+="usb_modeswitch '%b/%k'"
# Onda MW833UP
ATTRS{idVendor}=="1ee8", ATTRS{idProduct}=="0013", RUN+="usb_modeswitch '%b/%k'"
# Onda MW836UP-K
ATTRS{idVendor}=="1ee8", ATTRS{idProduct}=="0040", RUN+="usb_modeswitch '%b/%k'"
# Onda MSA 14.4 (TIM Brasil)
ATTRS{idVendor}=="1ee8", ATTRS{idProduct}=="0060", RUN+="usb_modeswitch '%b/%k'"
# Cricket A600
ATTRS{idVendor}=="1f28", ATTRS{idProduct}=="0021", RUN+="usb_modeswitch '%b/%k'"
# Franklin Wireless U210 (Variant)
ATTRS{idVendor}=="1fac", ATTRS{idProduct}=="0032", RUN+="usb_modeswitch '%b/%k'"
# Franklin Wireless U210
ATTRS{idVendor}=="1fac", ATTRS{idProduct}=="0130", RUN+="usb_modeswitch '%b/%k'"
# D-Link DWM-156 (Variant)
ATTRS{idVendor}=="2001", ATTRS{idProduct}=="a80b", RUN+="usb_modeswitch '%b/%k'"
# Haier CE682 (EVDO)
ATTRS{idVendor}=="201e", ATTRS{idProduct}=="1023", RUN+="usb_modeswitch '%b/%k'"
# Haier CE 100
ATTRS{idVendor}=="201e", ATTRS{idProduct}=="2009", RUN+="usb_modeswitch '%b/%k'"
# SpeedUp SU-8000U
ATTRS{idVendor}=="2020", ATTRS{idProduct}=="f00e", RUN+="usb_modeswitch '%b/%k'"
# Telenet 3G dongle (T&W WU160)
ATTRS{idVendor}=="2077", ATTRS{idProduct}=="f000", RUN+="usb_modeswitch '%b/%k'"
# StrongRising (China Telcom), Air FlexiNet
ATTRS{idVendor}=="21f5", ATTRS{idProduct}=="1000", RUN+="usb_modeswitch '%b/%k'"
# Tata Photon+
ATTRS{idVendor}=="22f4", ATTRS{idProduct}=="0021", RUN+="usb_modeswitch '%b/%k'"
# Linktop LW272/LW273 (BSNL Teracom)
ATTRS{idVendor}=="230d", ATTRS{idProduct}=="0001", RUN+="usb_modeswitch '%b/%k'"
# Visiontek 82GH 3G
ATTRS{idVendor}=="230d", ATTRS{idProduct}=="0007", RUN+="usb_modeswitch '%b/%k'"
# Exiss Mobile E-190 series (made by C-motech)
ATTRS{idVendor}=="8888", ATTRS{idProduct}=="6500", RUN+="usb_modeswitch '%b/%k'"
LABEL="modeswitch_rules_end"