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