LRX21M.vC1O-0
[GitHub/mt8127/ttab-system.git] / ramdisk / init.mt8127usb.rc
CommitLineData
d05bb22f
S
1on init
2# Workarunod for USB unknow device issue
3# USB would switch correct function when set properity sys.usb.config
4# update usb vid 0E8D to 1BBB by SCDTABLET.(lilin.liu@jrdcom.com), PR1005181 05/18/2015
5 setprop sys.usb.vid 1BBB
6 write /sys/class/android_usb/android0/iSerial $ro.serialno
7 write /sys/class/android_usb/android0/idVendor $sys.usb.vid
8
9on post-fs-data
10 chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
11 chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
12 chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
13 chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
14
15 write /sys/class/android_usb/android0/f_rndis/wceis 1
16 write /sys/class/android_usb/android0/f_rndis/manufacturer MediaTek
17 write /sys/class/android_usb/android0/f_rndis/vendorID $sys.usb.vid
18
19# Used to set USB configuration at boot and to switch the configuration
20# when changing the default configuration
21on property:persist.sys.usb.config=*
22 setprop sys.usb.config $persist.sys.usb.config
23
24# Used to disable USB when switching states
25on property:sys.usb.config=none
26 stop adbd
27 write /sys/class/android_usb/android0/enable 0
28 write /sys/class/android_usb/android0/bDeviceClass 0
29 setprop sys.usb.state $sys.usb.config
30
31#1.acm
32on property:sys.usb.config=acm
33 write /sys/class/android_usb/android0/enable 0
34 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
35 write /sys/class/android_usb/android0/idProduct 2007
36 write /sys/class/android_usb/android0/f_acm/instances 1
37 write /sys/class/android_usb/android0/functions ${sys.usb.config}
38 write /sys/class/android_usb/android0/bDeviceClass 02
39 write /sys/class/android_usb/android0/enable 1
40 setprop sys.usb.state ${sys.usb.config}
41
42#2.adb
43on property:sys.usb.config=adb
44 write /sys/class/android_usb/android0/enable 0
45 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
46 write /sys/class/android_usb/android0/idProduct 201C
47 write /sys/class/android_usb/android0/functions ${sys.usb.config}
48 write /sys/class/android_usb/android0/enable 1
49 start adbd
50 setprop sys.usb.state ${sys.usb.config}
51
52#3.adb,acm
53on property:sys.usb.config=adb,acm
54 write /sys/class/android_usb/android0/enable 0
55 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
56 write /sys/class/android_usb/android0/idProduct 200E
57 write /sys/class/android_usb/android0/f_acm/instances 1
58 write /sys/class/android_usb/android0/functions ${sys.usb.config}
59 write /sys/class/android_usb/android0/enable 1
60 start adbd
61 setprop sys.usb.state ${sys.usb.config}
62
63#4.mass_storage
64on property:sys.usb.config=mass_storage
65 write /sys/class/android_usb/android0/enable 0
66 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
67 write /sys/class/android_usb/android0/idProduct 2002
68 write /sys/class/android_usb/android0/functions ${sys.usb.config}
69 write /sys/class/android_usb/android0/enable 1
70 setprop sys.usb.state ${sys.usb.config}
71
72#5.mass_storage,adb
73on property:sys.usb.config=mass_storage,adb
74 write /sys/class/android_usb/android0/enable 0
75 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
76 write /sys/class/android_usb/android0/idProduct 2003
77 write /sys/class/android_usb/android0/functions ${sys.usb.config}
78 write /sys/class/android_usb/android0/enable 1
79 start adbd
80 setprop sys.usb.state ${sys.usb.config}
81
82#6.mtp
83on property:sys.usb.config=mtp
84 write /sys/class/android_usb/android0/enable 0
85 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
86 write /sys/class/android_usb/android0/idProduct 2008
87 write /sys/class/android_usb/android0/functions ${sys.usb.config}
88 write /sys/class/android_usb/android0/enable 1
89 setprop sys.usb.state ${sys.usb.config}
90
91#7.mtp,acm
92on property:sys.usb.config=mtp,acm
93 write /sys/class/android_usb/android0/enable 0
94 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
95 write /sys/class/android_usb/android0/idProduct 2012
96 write /sys/class/android_usb/android0/f_acm/instances 1
97 write /sys/class/android_usb/android0/functions ${sys.usb.config}
98 write /sys/class/android_usb/android0/enable 1
99 setprop sys.usb.state ${sys.usb.config}
100
101#8.mtp,adb
102on property:sys.usb.config=mtp,adb
103 write /sys/class/android_usb/android0/enable 0
104 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
105 write /sys/class/android_usb/android0/idProduct 201D
106 write /sys/class/android_usb/android0/functions mtp,adb
107 write /sys/class/android_usb/android0/enable 1
108 start adbd
109 setprop sys.usb.state ${sys.usb.config}
110
111#9.mtp,adb,acm
112on property:sys.usb.config=mtp,adb,acm
113 write /sys/class/android_usb/android0/enable 0
114 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
115 write /sys/class/android_usb/android0/idProduct 200A
116 write /sys/class/android_usb/android0/f_acm/instances 1
117 write /sys/class/android_usb/android0/functions ${sys.usb.config}
118 write /sys/class/android_usb/android0/enable 1
119 start adbd
120 setprop sys.usb.state ${sys.usb.config}
121
122#10.mtp,mass_storage
123on property:sys.usb.config=mtp,mass_storage
124 write /sys/class/android_usb/android0/enable 0
125 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
126 write /sys/class/android_usb/android0/idProduct 2016
127 write /sys/class/android_usb/android0/functions ${sys.usb.config}
128 write /sys/class/android_usb/android0/enable 1
129 setprop sys.usb.state ${sys.usb.config}
130
131#11.mtp,mass_storage,adb
132on property:sys.usb.config=mtp,mass_storage,adb
133 write /sys/class/android_usb/android0/enable 0
134 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
135 write /sys/class/android_usb/android0/idProduct 2017
136 write /sys/class/android_usb/android0/functions ${sys.usb.config}
137 write /sys/class/android_usb/android0/enable 1
138 start adbd
139 setprop sys.usb.state ${sys.usb.config}
140
141#12.ptp
142on property:sys.usb.config=ptp
143 write /sys/class/android_usb/android0/enable 0
144 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
145 write /sys/class/android_usb/android0/idProduct 200B
146 write /sys/class/android_usb/android0/functions ${sys.usb.config}
147 write /sys/class/android_usb/android0/enable 1
148 setprop sys.usb.state ${sys.usb.config}
149
150#13.ptp,acm
151on property:sys.usb.config=ptp,acm
152 write /sys/class/android_usb/android0/enable 0
153 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
154 write /sys/class/android_usb/android0/idProduct 2013
155 write /sys/class/android_usb/android0/f_acm/instances 1
156 write /sys/class/android_usb/android0/functions ${sys.usb.config}
157 write /sys/class/android_usb/android0/enable 1
158 setprop sys.usb.state ${sys.usb.config}
159
160#14.ptp,adb
161on property:sys.usb.config=ptp,adb
162 write /sys/class/android_usb/android0/enable 0
163 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
164 write /sys/class/android_usb/android0/idProduct 200C
165 write /sys/class/android_usb/android0/functions ${sys.usb.config}
166 write /sys/class/android_usb/android0/enable 1
167 start adbd
168 setprop sys.usb.state ${sys.usb.config}
169
170#15.ptp,adb,acm
171on property:sys.usb.config=ptp,adb,acm
172 write /sys/class/android_usb/android0/enable 0
173 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
174 write /sys/class/android_usb/android0/idProduct 200D
175 write /sys/class/android_usb/android0/f_acm/instances 1
176 write /sys/class/android_usb/android0/functions ${sys.usb.config}
177 write /sys/class/android_usb/android0/enable 1
178 start adbd
179 setprop sys.usb.state ${sys.usb.config}
180
181#16.ptp,mass_storage
182on property:sys.usb.config=ptp,mass_storage
183 write /sys/class/android_usb/android0/enable 0
184 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
185 write /sys/class/android_usb/android0/idProduct 2015
186 write /sys/class/android_usb/android0/functions ${sys.usb.config}
187 write /sys/class/android_usb/android0/enable 1
188 setprop sys.usb.state ${sys.usb.config}
189
190#17.ptp,mass_storage,adb
191on property:sys.usb.config=ptp,mass_storage,adb
192 write /sys/class/android_usb/android0/enable 0
193 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
194 write /sys/class/android_usb/android0/idProduct 2014
195 write /sys/class/android_usb/android0/functions ${sys.usb.config}
196 write /sys/class/android_usb/android0/enable 1
197 start adbd
198 setprop sys.usb.state ${sys.usb.config}
199
200#18.rndis
201on property:sys.usb.config=rndis
202 write /sys/class/android_usb/android0/enable 0
203 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
204 write /sys/class/android_usb/android0/idProduct 2004
205 write /sys/class/android_usb/android0/functions ${sys.usb.config}
206 write /sys/class/android_usb/android0/bDeviceClass 224
207 write /sys/class/android_usb/android0/enable 1
208 setprop sys.usb.state ${sys.usb.config}
209
210#19.rndis,acm
211on property:sys.usb.config=rndis,acm
212 write /sys/class/android_usb/android0/enable 0
213 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
214 write /sys/class/android_usb/android0/idProduct 2011
215 write /sys/class/android_usb/android0/f_acm/instances 1
216 write /sys/class/android_usb/android0/functions ${sys.usb.config}
217 write /sys/class/android_usb/android0/enable 1
218 setprop sys.usb.state ${sys.usb.config}
219
220#20.rndis,adb
221on property:sys.usb.config=rndis,adb
222 write /sys/class/android_usb/android0/enable 0
223 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
224 write /sys/class/android_usb/android0/idProduct 2005
225 write /sys/class/android_usb/android0/functions ${sys.usb.config}
226 write /sys/class/android_usb/android0/enable 1
227 start adbd
228 setprop sys.usb.state ${sys.usb.config}
229
230#21.rndis,adb,acm
231on property:sys.usb.config=rndis,adb,acm
232 write /sys/class/android_usb/android0/enable 0
233 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
234 write /sys/class/android_usb/android0/idProduct 2010
235 write /sys/class/android_usb/android0/f_acm/instances 1
236 write /sys/class/android_usb/android0/functions ${sys.usb.config}
237 write /sys/class/android_usb/android0/enable 1
238 start adbd
239 setprop sys.usb.state ${sys.usb.config}
240
241#22.mass_storage,acm
242on property:sys.usb.config=mass_storage,acm
243 write /sys/class/android_usb/android0/enable 0
244 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
245 write /sys/class/android_usb/android0/idProduct 200F
246 write /sys/class/android_usb/android0/f_acm/instances 1
247 write /sys/class/android_usb/android0/functions ${sys.usb.config}
248 write /sys/class/android_usb/android0/enable 1
249 setprop sys.usb.state ${sys.usb.config}
250
251#23.mass_storage,adb,acm
252on property:sys.usb.config=mass_storage,adb,acm
253 write /sys/class/android_usb/android0/enable 0
254 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
255 write /sys/class/android_usb/android0/idProduct 2006
256 write /sys/class/android_usb/android0/f_acm/instances 1
257 write /sys/class/android_usb/android0/functions ${sys.usb.config}
258 write /sys/class/android_usb/android0/enable 1
259 start adbd
260 setprop sys.usb.state ${sys.usb.config}
261
262#24.mtp,mass_storage,acm
263on property:sys.usb.config=mtp,mass_storage,acm
264 write /sys/class/android_usb/android0/enable 0
265 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
266 write /sys/class/android_usb/android0/idProduct 2018
267 write /sys/class/android_usb/android0/f_acm/instances 1
268 write /sys/class/android_usb/android0/functions ${sys.usb.config}
269 write /sys/class/android_usb/android0/enable 1
270 setprop sys.usb.state ${sys.usb.config}
271
272#25.mtp,mass_storage,adb,acm
273on property:sys.usb.config=mtp,mass_storage,adb,acm
274 write /sys/class/android_usb/android0/enable 0
275 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
276 write /sys/class/android_usb/android0/idProduct 2019
277 write /sys/class/android_usb/android0/f_acm/instances 1
278 write /sys/class/android_usb/android0/functions ${sys.usb.config}
279 write /sys/class/android_usb/android0/enable 1
280 start adbd
281 setprop sys.usb.state ${sys.usb.config}
282
283#26.ptp,mass_storage,acm
284on property:sys.usb.config=ptp,mass_storage,acm
285 write /sys/class/android_usb/android0/enable 0
286 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
287 write /sys/class/android_usb/android0/idProduct 201A
288 write /sys/class/android_usb/android0/f_acm/instances 1
289 write /sys/class/android_usb/android0/functions ${sys.usb.config}
290 write /sys/class/android_usb/android0/enable 1
291 setprop sys.usb.state ${sys.usb.config}
292
293#27.ptp,mass_storage,adb,acm
294on property:sys.usb.config=ptp,mass_storage,adb,acm
295 write /sys/class/android_usb/android0/enable 0
296 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
297 write /sys/class/android_usb/android0/idProduct 201B
298 write /sys/class/android_usb/android0/f_acm/instances 1
299 write /sys/class/android_usb/android0/functions ${sys.usb.config}
300 write /sys/class/android_usb/android0/enable 1
301 start adbd
302 setprop sys.usb.state ${sys.usb.config}
303
304# duplicate of init.usb.rc
305
306#28. USB accessory configuration
307#on property:sys.usb.config=accessory
308# write /sys/class/android_usb/android0/enable 0
309# write /sys/class/android_usb/android0/idVendor 18d1
310# write /sys/class/android_usb/android0/idProduct 2d00
311# write /sys/class/android_usb/android0/functions ${sys.usb.config}
312# write /sys/class/android_usb/android0/enable 1
313# setprop sys.usb.state ${sys.usb.config}
314
315#39. USB accessory configuration, with adb
316#on property:sys.usb.config=accessory,adb
317# write /sys/class/android_usb/android0/enable 0
318# write /sys/class/android_usb/android0/idVendor 18d1
319# write /sys/class/android_usb/android0/idProduct 2d01
320# write /sys/class/android_usb/android0/functions ${sys.usb.config}
321# write /sys/class/android_usb/android0/enable 1
322# start adbd
323# setprop sys.usb.state ${sys.usb.config}
324
325#30. audio accessory configuration
326#on property:sys.usb.config=audio_source
327# write /sys/class/android_usb/android0/enable 0
328# write /sys/class/android_usb/android0/idVendor 18d1
329# write /sys/class/android_usb/android0/idProduct 2d02
330# write /sys/class/android_usb/android0/functions ${sys.usb.config}
331# write /sys/class/android_usb/android0/enable 1
332# setprop sys.usb.state ${sys.usb.config}
333
334#31. audio accessory configuration, with adb
335#on property:sys.usb.config=audio_source,adb
336# write /sys/class/android_usb/android0/enable 0
337# write /sys/class/android_usb/android0/idVendor 18d1
338# write /sys/class/android_usb/android0/idProduct 2d03
339# write /sys/class/android_usb/android0/functions ${sys.usb.config}
340# write /sys/class/android_usb/android0/enable 1
341# start adbd
342# setprop sys.usb.state ${sys.usb.config}
343
344#32. USB and audio accessory configuration
345#on property:sys.usb.config=accessory,audio_source
346# write /sys/class/android_usb/android0/enable 0
347# write /sys/class/android_usb/android0/idVendor 18d1
348# write /sys/class/android_usb/android0/idProduct 2d04
349# write /sys/class/android_usb/android0/functions ${sys.usb.config}
350# write /sys/class/android_usb/android0/enable 1
351# setprop sys.usb.state ${sys.usb.config}
352
353#33. USB and audio accessory configuration, with adb
354#on property:sys.usb.config=accessory,audio_source,adb
355# write /sys/class/android_usb/android0/enable 0
356# write /sys/class/android_usb/android0/idVendor 18d1
357# write /sys/class/android_usb/android0/idProduct 2d05
358# write /sys/class/android_usb/android0/functions ${sys.usb.config}
359# write /sys/class/android_usb/android0/enable 1
360# start adbd
361# setprop sys.usb.state ${sys.usb.config}
362
363#34.USB Charging Only configuration
364on property:sys.usb.config=charging
365 setprop sys.usb.state ${sys.usb.config}
366 setprop sys.usb.charging yes
367
368on property:sys.usb.charging=yes
369 write /sys/devices/platform/mt_usb/cmode 2
370
371on property:sys.usb.charging=no
372 write /sys/devices/platform/mt_usb/cmode 1
373
374#35.USB BICR configuration(mass_storage)
375on property:sys.usb.config=bicr
376 write /sys/class/android_usb/android0/enable 0
377 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
378 write /sys/class/android_usb/android0/idProduct 2002
379 write /sys/class/android_usb/android0/functions mass_storage
380 write /sys/class/android_usb/android0/f_mass_storage/bicr 1
381 write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
382 write /sys/class/android_usb/android0/enable 1
383 setprop sys.usb.state ${sys.usb.config}
384
385#36.USB BICR configuration(mass_storage+adb)
386on property:sys.usb.config=bicr,adb
387 write /sys/class/android_usb/android0/enable 0
388 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
389 write /sys/class/android_usb/android0/idProduct 2003
390 write /sys/class/android_usb/android0/functions mass_storage,adb
391 write /sys/class/android_usb/android0/f_mass_storage/bicr 1
392 write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
393 write /sys/class/android_usb/android0/enable 1
394 start adbd
395 setprop sys.usb.state ${sys.usb.config}
396
397#37.USB BICR configuration(mass_storage+adb+acm)
398on property:sys.usb.config=bicr,adb,acm
399 write /sys/class/android_usb/android0/enable 0
400 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
401 write /sys/class/android_usb/android0/idProduct 2006
402 write /sys/class/android_usb/android0/f_acm/instances 1
403 write /sys/class/android_usb/android0/functions mass_storage,adb,acm
404 write /sys/class/android_usb/android0/f_mass_storage/bicr 1
405 write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
406 write /sys/class/android_usb/android0/enable 1
407 start adbd
408 setprop sys.usb.state ${sys.usb.config}
409
410#38.USB BICR configuration(mass_storage+acm)
411on property:sys.usb.config=bicr,acm
412 write /sys/class/android_usb/android0/enable 0
413 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
414 write /sys/class/android_usb/android0/idProduct 200F
415 write /sys/class/android_usb/android0/f_acm/instances 1
416 write /sys/class/android_usb/android0/functions mass_storage,acm
417 write /sys/class/android_usb/android0/f_mass_storage/bicr 1
418 write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
419 write /sys/class/android_usb/android0/enable 1
420 setprop sys.usb.state ${sys.usb.config}
421
422#39.eem
423on property:sys.usb.config=eem
424 write /sys/class/android_usb/android0/enable 0
425 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
426 write /sys/class/android_usb/android0/idProduct 2026
427 write /sys/class/android_usb/android0/functions ${sys.usb.config}
428 write /sys/class/android_usb/android0/bDeviceClass 224
429 write /sys/class/android_usb/android0/enable 1
430 setprop sys.usb.state ${sys.usb.config}
431
432#40.eem,acm
433on property:sys.usb.config=eem,acm
434 write /sys/class/android_usb/android0/enable 0
435 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
436 write /sys/class/android_usb/android0/idProduct 2027
437 write /sys/class/android_usb/android0/f_acm/instances 1
438 write /sys/class/android_usb/android0/functions ${sys.usb.config}
439 write /sys/class/android_usb/android0/enable 1
440 setprop sys.usb.state ${sys.usb.config}
441
442#41.eem,adb
443on property:sys.usb.config=eem,adb
444 write /sys/class/android_usb/android0/enable 0
445 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
446 write /sys/class/android_usb/android0/idProduct 2028
447 write /sys/class/android_usb/android0/functions ${sys.usb.config}
448 write /sys/class/android_usb/android0/enable 1
449 start adbd
450 setprop sys.usb.state ${sys.usb.config}
451
452#42.eem,adb,acm
453on property:sys.usb.config=eem,adb,acm
454 write /sys/class/android_usb/android0/enable 0
455 write /sys/class/android_usb/android0/idVendor ${sys.usb.vid}
456 write /sys/class/android_usb/android0/idProduct 2030
457 write /sys/class/android_usb/android0/f_acm/instances 1
458 write /sys/class/android_usb/android0/functions ${sys.usb.config}
459 write /sys/class/android_usb/android0/enable 1
460 start adbd
461 setprop sys.usb.state ${sys.usb.config}
462
463on property:sys.usb.bicr=yes
464 write /sys/class/android_usb/android0/f_mass_storage/bicr 1
465 write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0"
466
467on property:sys.usb.bicr=no
468 write /sys/class/android_usb/android0/f_mass_storage/bicr 0
469 write /sys/class/android_usb/android0/f_mass_storage/lun/file "0"
470
471on property:mediatek.usb.port.mode=usb
472 write /sys/devices/platform/mt_usb/portmode 0
473
474on property:mediatek.usb.port.mode=uart
475 write /sys/devices/platform/mt_usb/portmode 1