Home | History | Annotate | Download | only in shamu
      1 # 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 
     15 on init
     16     write /sys/class/android_usb/android0/f_rndis/wceis 1
     17 
     18 on 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}
     23     write /sys/class/android_usb/android0/iSerial ${ro.serialno}
     24     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 
     30 on 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 
     36 # USB compositions
     37 on 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 
     50 on 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 
     61 on property:sys.usb.config=rndis
     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 4EE3
     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 
     69 on 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/functions rndis,adb
     74     write /sys/class/android_usb/android0/enable 1
     75     start adbd
     76     setprop sys.usb.state ${sys.usb.config}
     77 
     78 on 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
     83     write /sys/class/android_usb/android0/idVendor 18D1
     84     write /sys/class/android_usb/android0/idProduct 4EE1
     85     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 
     89 on property:sys.usb.config=mtp,adb
     90     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
     94     write /sys/class/android_usb/android0/idVendor 18D1
     95     write /sys/class/android_usb/android0/idProduct 4EE2
     96     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 
    101 on 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
    104     write /sys/class/android_usb/android0/idProduct 2ea1
    105     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 
    117 on 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 
    132 on 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
    135     write /sys/class/android_usb/android0/idProduct 2ea3
    136     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 
    148 on 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 
    164 on 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 
    175 on 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 
    186 on 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 
    197 on 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 
    209 on 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
    214     write /sys/class/android_usb/android0/idVendor 18D1
    215     write /sys/class/android_usb/android0/idProduct 4EE5
    216     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 
    220 on 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
    226     write /sys/class/android_usb/android0/idVendor 18D1
    227     write /sys/class/android_usb/android0/idProduct 4EE6
    228     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 # USB midi configuration
    234 on property:sys.usb.config=midi
    235     write /sys/class/android_usb/android0/enable 0
    236     write /sys/class/android_usb/android0/idVendor 18D1
    237     write /sys/class/android_usb/android0/idProduct 4EE8
    238     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    239     write /sys/class/android_usb/android0/enable 1
    240     start adbd
    241     setprop sys.usb.state ${sys.usb.config}
    242 
    243 # USB midi configuration, with adb
    244 on property:sys.usb.config=midi,adb
    245     write /sys/class/android_usb/android0/enable 0
    246     write /sys/class/android_usb/android0/idVendor 18D1
    247     write /sys/class/android_usb/android0/idProduct 4EE9
    248     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    249     write /sys/class/android_usb/android0/enable 1
    250     start adbd
    251     setprop sys.usb.state ${sys.usb.config}
    252 
    253 # QDSS - Qualcomm Debug Subsystem
    254 on property:sys.usb.config=diag,qdss,adb
    255     write /sys/class/android_usb/android0/enable 0
    256     write /sys/class/android_usb/android0/idVendor 05C6
    257     write /sys/class/android_usb/android0/idProduct 9060
    258     write /sys/class/android_usb/android0/f_diag/clients diag
    259     write /sys/class/android_usb/android0/functions diag,qdss,adb
    260     write /sys/class/android_usb/android0/enable 1
    261     start adbd
    262     setprop sys.usb.state ${sys.usb.config}
    263