blob: bc0ac96bca95c866a4fc2de11130471a03749cfa [file] [log] [blame]
Patrick Tjinea3b3cd2015-03-31 10:38:39 -07001# Copyright 2015 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/manufacturer Huawei
17 write /sys/class/android_usb/android0/f_rndis/vendorID 18D1
18 write /sys/class/android_usb/android0/f_rndis/wceis 1
19
20on boot
21 write /sys/class/android_usb/android0/iSerial ${ro.serialno}
22 write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
23 write /sys/class/android_usb/android0/iProduct ${ro.product.model}
24
25on post-fs
26 mkdir /dev/usb-ffs 0770 shell shell
27 mkdir /dev/usb-ffs/adb 0770 shell shell
28 mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
29 write /sys/class/android_usb/android0/f_ffs/aliases adb
30
31# MTP
32on property:sys.usb.config=mtp
33 stop adbd
34 write /sys/class/android_usb/android0/enable 0
35 write /sys/class/android_usb/android0/idVendor 18D1
36 write /sys/class/android_usb/android0/idProduct 4EE1
37 write /sys/class/android_usb/android0/bDeviceClass 0
38 write /sys/class/android_usb/android0/bDeviceSubClass 0
39 write /sys/class/android_usb/android0/bDeviceProtocol 0
40 write /sys/class/android_usb/android0/functions mtp
41 write /sys/class/android_usb/android0/enable 1
42 setprop sys.usb.state ${sys.usb.config}
43
44on property:sys.usb.config=mtp,adb
45 write /sys/class/android_usb/android0/enable 0
46 write /sys/class/android_usb/android0/idVendor 18D1
47 write /sys/class/android_usb/android0/idProduct 4EE2
48 write /sys/class/android_usb/android0/bDeviceClass 0
49 write /sys/class/android_usb/android0/bDeviceSubClass 0
50 write /sys/class/android_usb/android0/bDeviceProtocol 0
51 write /sys/class/android_usb/android0/functions mtp,adb
52 write /sys/class/android_usb/android0/enable 1
53 start adbd
54 setprop sys.usb.state ${sys.usb.config}
55
56# rndis
57on property:sys.usb.config=rndis
58 stop adbd
59 write /sys/class/android_usb/android0/enable 0
60 write /sys/class/android_usb/android0/idVendor 18D1
61 write /sys/class/android_usb/android0/idProduct 4EE3
62 write /sys/class/android_usb/android0/bDeviceClass 239
63 write /sys/class/android_usb/android0/bDeviceSubClass 2
64 write /sys/class/android_usb/android0/bDeviceProtocol 1
65 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
70 write /sys/class/android_usb/android0/enable 0
71 write /sys/class/android_usb/android0/idVendor 18D1
72 write /sys/class/android_usb/android0/idProduct 4EE4
73 write /sys/class/android_usb/android0/bDeviceClass 239
74 write /sys/class/android_usb/android0/bDeviceSubClass 2
75 write /sys/class/android_usb/android0/bDeviceProtocol 1
76 write /sys/class/android_usb/android0/functions rndis,adb
77 write /sys/class/android_usb/android0/enable 1
78 start adbd
79 setprop sys.usb.state ${sys.usb.config}
80
81# PTP
82on property:sys.usb.config=ptp
83 stop adbd
84 write /sys/class/android_usb/android0/enable 0
85 write /sys/class/android_usb/android0/idVendor 18D1
86 write /sys/class/android_usb/android0/idProduct 4EE5
87 write /sys/class/android_usb/android0/bDeviceClass 0
88 write /sys/class/android_usb/android0/bDeviceSubClass 0
89 write /sys/class/android_usb/android0/bDeviceProtocol 0
90 write /sys/class/android_usb/android0/functions ptp
91 write /sys/class/android_usb/android0/enable 1
92 setprop sys.usb.state ${sys.usb.config}
93
94on property:sys.usb.config=ptp,adb
95 write /sys/class/android_usb/android0/enable 0
96 write /sys/class/android_usb/android0/idVendor 18D1
97 write /sys/class/android_usb/android0/idProduct 4EE6
98 write /sys/class/android_usb/android0/bDeviceClass 0
99 write /sys/class/android_usb/android0/bDeviceSubClass 0
100 write /sys/class/android_usb/android0/bDeviceProtocol 0
101 write /sys/class/android_usb/android0/functions ptp,adb
102 write /sys/class/android_usb/android0/enable 1
103 start adbd
104 setprop sys.usb.state ${sys.usb.config}
105
106# diag
107on property:sys.usb.config=diag
108 stop adbd
109 write /sys/class/android_usb/android0/enable 0
110 write /sys/class/android_usb/android0/idVendor 05c6
111 write /sys/class/android_usb/android0/idProduct 9060
112 write /sys/class/android_usb/android0/f_diag/clients diag
113 write /sys/class/android_usb/android0/functions diag,mtp,adb
114 write /sys/class/android_usb/android0/enable 1
115 start adbd
116 setprop sys.usb.state ${sys.usb.config}
117
118# USB midi configuration
119on property:sys.usb.config=midi
120 write /sys/class/android_usb/android0/enable 0
121 write /sys/class/android_usb/android0/idVendor 18d1
122 write /sys/class/android_usb/android0/idProduct 4ee8
123 write /sys/class/android_usb/android0/functions ${sys.usb.config}
124 write /sys/class/android_usb/android0/enable 1
125 start adbd
126 setprop sys.usb.state ${sys.usb.config}
127
128# USB midi configuration, with adb
129on property:sys.usb.config=midi,adb
130 write /sys/class/android_usb/android0/enable 0
131 write /sys/class/android_usb/android0/idVendor 18d1
132 write /sys/class/android_usb/android0/idProduct 4ee9
133 write /sys/class/android_usb/android0/functions ${sys.usb.config}
134 write /sys/class/android_usb/android0/enable 1
135 start adbd
136 setprop sys.usb.state ${sys.usb.config}
137
138# QDSS - Qualcomm Debug Subsystem
139on property:sys.usb.config=diag,qdss,adb
140 write /sys/class/android_usb/android0/enable 0
141 write /sys/class/android_usb/android0/idVendor 05C6
142 write /sys/class/android_usb/android0/idProduct 9060
143 write /sys/class/android_usb/android0/f_diag/clients diag
144 write /sys/class/android_usb/android0/functions diag,qdss,adb
145 write /sys/class/android_usb/android0/enable 1
146 start adbd
147 setprop sys.usb.state ${sys.usb.config}