blob: 7d95d73698078ec207c9d42efd6ac3d301798276 [file] [log] [blame]
Vineeta Srivastava4248fd42014-05-02 16:20:41 -07001# Copyright 2014 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
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070018on boot
19 write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
20 write /sys/class/android_usb/android0/iProduct ${ro.product.model}
21 write /sys/class/android_usb/android0/f_mass_storage/vendor ${ro.product.manufacturer}
22 write /sys/class/android_usb/android0/f_mass_storage/product ${ro.product.model}
Rick Zhangb0f54342014-06-16 15:33:20 -070023 write /sys/class/android_usb/android0/iSerial ${ro.serialno}
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070024 write /sys/module/dwc3_msm/parameters/prop_chg_detect 1
25 mkdir /dev/bus 0755 root root
26 mkdir /dev/bus/usb 0755 root root
27 chown system system /sys/class/android_usb/android0/secure
28 chmod 0660 /sys/class/android_usb/android0/secure
29
30on fs
31 mkdir /dev/usb-ffs 0770 shell shell
32 mkdir /dev/usb-ffs/adb 0770 shell shell
33 mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
34 write /sys/class/android_usb/android0/f_ffs/aliases adb
35
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070036# USB compositions
37on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb
38 start tcmd
39 write /sys/class/android_usb/android0/enable 0
40 write /sys/class/android_usb/android0/idVendor 05C6
41 write /sys/class/android_usb/android0/idProduct 9025
42 write /sys/class/android_usb/android0/f_diag/clients diag
43 write /sys/class/android_usb/android0/f_serial/transports smd,tty
44 write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
45 write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
46 write /sys/class/android_usb/android0/enable 1
47 start adbd
48 setprop sys.usb.state ${sys.usb.config}
49
50on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage
51 write /sys/class/android_usb/android0/enable 0
52 write /sys/class/android_usb/android0/idVendor 05C6
53 write /sys/class/android_usb/android0/idProduct 9026
54 write /sys/class/android_usb/android0/f_diag/clients diag
55 write /sys/class/android_usb/android0/f_serial/transports smd,tty
56 write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
57 write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
58 write /sys/class/android_usb/android0/enable 1
59 setprop sys.usb.state ${sys.usb.config}
60
61on property:sys.usb.config=rndis
62 write /sys/class/android_usb/android0/enable 0
Chris Fries217b8192014-09-15 22:53:17 -050063 write /sys/class/android_usb/android0/idVendor 18D1
64 write /sys/class/android_usb/android0/idProduct 4EE3
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070065 write /sys/class/android_usb/android0/functions rndis
66 write /sys/class/android_usb/android0/enable 1
67 setprop sys.usb.state ${sys.usb.config}
68
69on property:sys.usb.config=rndis,adb
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070070 write /sys/class/android_usb/android0/enable 0
Chris Fries217b8192014-09-15 22:53:17 -050071 write /sys/class/android_usb/android0/idVendor 18D1
72 write /sys/class/android_usb/android0/idProduct 4EE4
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070073 write /sys/class/android_usb/android0/functions rndis,adb
74 write /sys/class/android_usb/android0/enable 1
75 start adbd
76 setprop sys.usb.state ${sys.usb.config}
77
78on property:sys.usb.config=mtp
79 write /sys/class/android_usb/android0/enable 0
80 write /sys/class/android_usb/android0/bDeviceClass 0
81 write /sys/class/android_usb/android0/bDeviceSubClass 0
82 write /sys/class/android_usb/android0/bDeviceProtocol 0
Chris Fries217b8192014-09-15 22:53:17 -050083 write /sys/class/android_usb/android0/idVendor 18D1
84 write /sys/class/android_usb/android0/idProduct 4EE1
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070085 write /sys/class/android_usb/android0/functions mtp
86 write /sys/class/android_usb/android0/enable 1
87 setprop sys.usb.state ${sys.usb.config}
88
89on property:sys.usb.config=mtp,adb
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070090 write /sys/class/android_usb/android0/enable 0
91 write /sys/class/android_usb/android0/bDeviceClass 0
92 write /sys/class/android_usb/android0/bDeviceSubClass 0
93 write /sys/class/android_usb/android0/bDeviceProtocol 0
Chris Fries217b8192014-09-15 22:53:17 -050094 write /sys/class/android_usb/android0/idVendor 18D1
95 write /sys/class/android_usb/android0/idProduct 4EE2
Vineeta Srivastava4248fd42014-05-02 16:20:41 -070096 write /sys/class/android_usb/android0/functions mtp,adb
97 write /sys/class/android_usb/android0/enable 1
98 start adbd
99 setprop sys.usb.state ${sys.usb.config}
100
101on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,usbnet,adb
102 start tcmd
103 write /sys/class/android_usb/android0/enable 0
Yun Ma7a07c9d2014-07-18 12:53:59 -0500104 write /sys/class/android_usb/android0/idProduct 2ea1
Vineeta Srivastava4248fd42014-05-02 16:20:41 -0700105 write /sys/class/android_usb/android0/idVendor 22b8
106 write /sys/class/diag/diag/logging_mode usb
107 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
108 write /sys/class/android_usb/android0/f_serial/transports hsic,tty
109 write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
110 write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
111 write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
112 write /sys/class/android_usb/android0/functions diag,serial,rmnet,usbnet,adb
113 write /sys/class/android_usb/android0/enable 1
114 start adbd
115 setprop sys.usb.state ${sys.usb.config}
116
117on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,usbnet
118 start tcmd
119 write /sys/class/android_usb/android0/enable 0
120 write /sys/class/android_usb/android0/idProduct ${ro.usb.bpt}
121 write /sys/class/android_usb/android0/idVendor 22b8
122 write /sys/class/diag/diag/logging_mode usb
123 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
124 write /sys/class/android_usb/android0/f_serial/transports hsic,tty
125 write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
126 write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
127 write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
128 write /sys/class/android_usb/android0/functions diag,serial,rmnet,usbnet
129 write /sys/class/android_usb/android0/enable 1
130 setprop sys.usb.state ${sys.usb.config}
131
132on property:sys.usb.config=rndis,diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,usbnet,adb
133 start tcmd
134 write /sys/class/android_usb/android0/enable 0
Yun Ma7a07c9d2014-07-18 12:53:59 -0500135 write /sys/class/android_usb/android0/idProduct 2ea3
Vineeta Srivastava4248fd42014-05-02 16:20:41 -0700136 write /sys/class/android_usb/android0/idVendor 22b8
137 write /sys/class/diag/diag/logging_mode usb
138 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
139 write /sys/class/android_usb/android0/f_serial/transports hsic,tty
140 write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
141 write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
142 write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
143 write /sys/class/android_usb/android0/functions rndis,diag,serial,rmnet,usbnet,adb
144 write /sys/class/android_usb/android0/enable 1
145 start adbd
146 setprop sys.usb.state ${sys.usb.config}
147
148on property:sys.usb.config=rndis,diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,usbnet
149 stop adbd
150 start tcmd
151 write /sys/class/android_usb/android0/enable 0
152 write /sys/class/android_usb/android0/idProduct ${ro.usb.bpteth}
153 write /sys/class/android_usb/android0/idVendor 22b8
154 write /sys/class/diag/diag/logging_mode usb
155 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
156 write /sys/class/android_usb/android0/f_serial/transports hsic,tty
157 write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
158 write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
159 write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
160 write /sys/class/android_usb/android0/functions rndis,diag,serial,rmnet,usbnet
161 write /sys/class/android_usb/android0/enable 1
162 setprop sys.usb.state ${sys.usb.config}
163
164on property:sys.usb.config=usbnet,adb
165 start tcmd
166 write /sys/class/android_usb/android0/enable 0
167 write /sys/class/android_usb/android0/idProduct 2e2d
168 write /sys/class/android_usb/android0/idVendor 22b8
169 write /sys/class/diag/diag/logging_mode internal
170 write /sys/class/android_usb/android0/functions usbnet,adb
171 write /sys/class/android_usb/android0/enable 1
172 start adbd
173 setprop sys.usb.state ${sys.usb.config}
174
175on property:sys.usb.config=usbnet
176 stop adbd
177 start tcmd
178 write /sys/class/android_usb/android0/enable 0
179 write /sys/class/android_usb/android0/idProduct 2e2c
180 write /sys/class/android_usb/android0/idVendor 22b8
181 write /sys/class/diag/diag/logging_mode internal
182 write /sys/class/android_usb/android0/functions usbnet
183 write /sys/class/android_usb/android0/enable 1
184 setprop sys.usb.state ${sys.usb.config}
185
186on property:sys.usb.config=diag,usbnet
187 start tcmd
188 write /sys/class/android_usb/android0/enable 0
189 write /sys/class/android_usb/android0/idProduct 2e34
190 write /sys/class/android_usb/android0/idVendor 22b8
191 write /sys/class/diag/diag/logging_mode usb
192 write /sys/class/android_usb/android0/f_diag/clients diag
193 write /sys/class/android_usb/android0/functions diag,usbnet
194 write /sys/class/android_usb/android0/enable 1
195 setprop sys.usb.state ${sys.usb.config}
196
197on property:sys.usb.config=diag,usbnet,adb
198 start tcmd
199 write /sys/class/android_usb/android0/enable 0
200 write /sys/class/android_usb/android0/idProduct 2e35
201 write /sys/class/android_usb/android0/idVendor 22b8
202 write /sys/class/diag/diag/logging_mode usb
203 write /sys/class/android_usb/android0/f_diag/clients diag
204 write /sys/class/android_usb/android0/functions diag,usbnet,adb
205 write /sys/class/android_usb/android0/enable 1
206 start adbd
207 setprop sys.usb.state ${sys.usb.config}
208
209on property:sys.usb.config=ptp
210 write /sys/class/android_usb/android0/enable 0
211 write /sys/class/android_usb/android0/bDeviceClass 0
212 write /sys/class/android_usb/android0/bDeviceSubClass 0
213 write /sys/class/android_usb/android0/bDeviceProtocol 0
Chris Fries217b8192014-09-15 22:53:17 -0500214 write /sys/class/android_usb/android0/idVendor 18D1
215 write /sys/class/android_usb/android0/idProduct 4EE5
Vineeta Srivastava4248fd42014-05-02 16:20:41 -0700216 write /sys/class/android_usb/android0/functions ptp
217 write /sys/class/android_usb/android0/enable 1
218 setprop sys.usb.state ${sys.usb.config}
219
220on property:sys.usb.config=ptp,adb
221 start tcmd
222 write /sys/class/android_usb/android0/enable 0
223 write /sys/class/android_usb/android0/bDeviceClass 0
224 write /sys/class/android_usb/android0/bDeviceSubClass 0
225 write /sys/class/android_usb/android0/bDeviceProtocol 0
Chris Fries217b8192014-09-15 22:53:17 -0500226 write /sys/class/android_usb/android0/idVendor 18D1
227 write /sys/class/android_usb/android0/idProduct 4EE6
Vineeta Srivastava4248fd42014-05-02 16:20:41 -0700228 write /sys/class/android_usb/android0/functions ptp,adb
229 write /sys/class/android_usb/android0/enable 1
230 start adbd
231 setprop sys.usb.state ${sys.usb.config}
232
233# QDSS - Qualcomm Debug Subsystem
234on property:sys.usb.config=diag,qdss,adb
235 write /sys/class/android_usb/android0/enable 0
236 write /sys/class/android_usb/android0/idVendor 05C6
237 write /sys/class/android_usb/android0/idProduct 9060
238 write /sys/class/android_usb/android0/f_diag/clients diag
239 write /sys/class/android_usb/android0/functions diag,qdss,adb
240 write /sys/class/android_usb/android0/enable 1
241 start adbd
242 setprop sys.usb.state ${sys.usb.config}