blob: c6d2dac432a7c07e19fbb94f53ac0cdc0ac3e16b [file] [log] [blame]
xplodwildb8efee12014-04-27 15:46:20 +02001# Copyright 2012 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15on init
16 write /sys/class/android_usb/android0/f_rndis/wceis 1
17
18service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
19 class core
20 user root
21 oneshot
22
23# MTP
24on property:sys.usb.config=mtp
25 stop adbd
26 write /sys/class/android_usb/android0/enable 0
27 write /sys/class/android_usb/android0/idVendor 18D1
28 write /sys/class/android_usb/android0/idProduct 4EE1
29 write /sys/class/android_usb/android0/bDeviceClass 0
30 write /sys/class/android_usb/android0/bDeviceSubClass 0
31 write /sys/class/android_usb/android0/bDeviceProtocol 0
32 write /sys/class/android_usb/android0/functions mtp
33 write /sys/class/android_usb/android0/enable 1
34 setprop sys.usb.state ${sys.usb.config}
35
36on property:sys.usb.config=mtp,adb
37 write /sys/class/android_usb/android0/enable 0
38 write /sys/class/android_usb/android0/idVendor 18D1
39 write /sys/class/android_usb/android0/idProduct 4EE2
40 write /sys/class/android_usb/android0/bDeviceClass 0
41 write /sys/class/android_usb/android0/bDeviceSubClass 0
42 write /sys/class/android_usb/android0/bDeviceProtocol 0
43 write /sys/class/android_usb/android0/functions mtp,adb
44 write /sys/class/android_usb/android0/enable 1
45 start adbd
46 setprop sys.usb.state ${sys.usb.config}
47
48# rndis
49on property:sys.usb.config=rndis
50 stop adbd
51 write /sys/class/android_usb/android0/enable 0
52 write /sys/class/android_usb/android0/idVendor 18D1
53 write /sys/class/android_usb/android0/idProduct 4EE3
54 write /sys/class/android_usb/android0/bDeviceClass 239
55 write /sys/class/android_usb/android0/bDeviceSubClass 2
56 write /sys/class/android_usb/android0/bDeviceProtocol 1
57 write /sys/class/android_usb/android0/functions rndis
58 write /sys/class/android_usb/android0/enable 1
59 setprop sys.usb.state ${sys.usb.config}
60
61on property:sys.usb.config=rndis,adb
62 write /sys/class/android_usb/android0/enable 0
63 write /sys/class/android_usb/android0/idVendor 18D1
64 write /sys/class/android_usb/android0/idProduct 4EE4
65 write /sys/class/android_usb/android0/bDeviceClass 239
66 write /sys/class/android_usb/android0/bDeviceSubClass 2
67 write /sys/class/android_usb/android0/bDeviceProtocol 1
68 write /sys/class/android_usb/android0/functions rndis,adb
69 write /sys/class/android_usb/android0/enable 1
70 start adbd
71 setprop sys.usb.state ${sys.usb.config}
72
73# PTP
74on property:sys.usb.config=ptp
75 stop adbd
76 write /sys/class/android_usb/android0/enable 0
77 write /sys/class/android_usb/android0/idVendor 18D1
78 write /sys/class/android_usb/android0/idProduct 4EE5
79 write /sys/class/android_usb/android0/bDeviceClass 0
80 write /sys/class/android_usb/android0/bDeviceSubClass 0
81 write /sys/class/android_usb/android0/bDeviceProtocol 0
82 write /sys/class/android_usb/android0/functions ptp
83 write /sys/class/android_usb/android0/enable 1
84 setprop sys.usb.state ${sys.usb.config}
85
86on property:sys.usb.config=ptp,adb
87 write /sys/class/android_usb/android0/enable 0
88 write /sys/class/android_usb/android0/idVendor 18D1
89 write /sys/class/android_usb/android0/idProduct 4EE6
90 write /sys/class/android_usb/android0/bDeviceClass 0
91 write /sys/class/android_usb/android0/bDeviceSubClass 0
92 write /sys/class/android_usb/android0/bDeviceProtocol 0
93 write /sys/class/android_usb/android0/functions ptp,adb
94 write /sys/class/android_usb/android0/enable 1
95 start adbd
96 setprop sys.usb.state ${sys.usb.config}
97
98# diag
99on property:sys.usb.config=diag
100 stop adbd
101 write /sys/class/android_usb/android0/enable 0
102 write /sys/class/android_usb/android0/idVendor 1004
103 write /sys/class/android_usb/android0/idProduct 631B
104 write /sys/class/android_usb/android0/bDeviceClass 239
105 write /sys/class/android_usb/android0/bDeviceSubClass 2
106 write /sys/class/android_usb/android0/bDeviceProtocol 1
107 write /sys/class/android_usb/android0/f_acm/acm_transports tty
108 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
109 write /sys/class/android_usb/android0/functions acm,diag,mtp,adb
110 write /sys/class/android_usb/android0/enable 1
111 start adbd
112 setprop sys.usb.state ${sys.usb.config}
113
114on property:sys.usb.config=diag,adb
115 stop adbd
116 write /sys/class/android_usb/android0/enable 0
117 write /sys/class/android_usb/android0/idVendor 1004
118 write /sys/class/android_usb/android0/idProduct 631B
119 write /sys/class/android_usb/android0/bDeviceClass 239
120 write /sys/class/android_usb/android0/bDeviceSubClass 2
121 write /sys/class/android_usb/android0/bDeviceProtocol 1
122 write /sys/class/android_usb/android0/f_acm/acm_transports tty
123 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
124 write /sys/class/android_usb/android0/functions acm,diag,mtp,adb
125 write /sys/class/android_usb/android0/enable 1
126 start adbd
127 setprop sys.usb.state ${sys.usb.config}