Home | History | Annotate | Download | only in angler
      1 # 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 
     15 on 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 
     20 on 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     chown root system /sys/class/dual_role_usb/otg_default/mode
     25     chmod 664 /sys/class/dual_role_usb/otg_default/mode
     26     write /sys/module/dwc3/boot_finished 1
     27 
     28 on post-fs
     29     mkdir /dev/usb-ffs 0770 shell shell
     30     mkdir /dev/usb-ffs/adb 0770 shell shell
     31     mount functionfs adb /dev/usb-ffs/adb noatime uid=2000,gid=2000,no_disconnect=1
     32     write /sys/class/android_usb/android0/f_ffs/aliases adb
     33     write /sys/module/g_android/parameters/mtp_rx_req_len 131072
     34     write /sys/module/g_android/parameters/mtp_tx_reqs 32
     35     setprop sys.usb.ffs.max_write 262144
     36     setprop sys.usb.ffs.max_read 262144
     37     setprop sys.usb.mtp.device_type 3
     38 
     39 on charger
     40     setprop persist.sys.usb.config charging
     41 
     42 # MTP
     43 on property:sys.usb.config=mtp
     44     stop adbd
     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 4EE1
     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
     52     write /sys/class/android_usb/android0/enable 1
     53     setprop sys.usb.state ${sys.usb.config}
     54 
     55 on property:sys.usb.config=mtp,adb
     56     write /sys/class/android_usb/android0/enable 0
     57     write /sys/class/android_usb/android0/idVendor 18D1
     58     write /sys/class/android_usb/android0/idProduct 4EE2
     59     write /sys/class/android_usb/android0/bDeviceClass 0
     60     write /sys/class/android_usb/android0/bDeviceSubClass 0
     61     write /sys/class/android_usb/android0/bDeviceProtocol 0
     62     write /sys/class/android_usb/android0/functions mtp,adb
     63     write /sys/class/android_usb/android0/enable 1
     64     start adbd
     65     setprop sys.usb.state ${sys.usb.config}
     66 
     67 # rndis
     68 on property:sys.usb.config=rndis
     69     stop adbd
     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 4EE3
     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
     77     write /sys/class/android_usb/android0/enable 1
     78     setprop sys.usb.state ${sys.usb.config}
     79 
     80 on property:sys.usb.config=rndis,adb
     81     write /sys/class/android_usb/android0/enable 0
     82     write /sys/class/android_usb/android0/idVendor 18D1
     83     write /sys/class/android_usb/android0/idProduct 4EE4
     84     write /sys/class/android_usb/android0/bDeviceClass 239
     85     write /sys/class/android_usb/android0/bDeviceSubClass 2
     86     write /sys/class/android_usb/android0/bDeviceProtocol 1
     87     write /sys/class/android_usb/android0/functions rndis,adb
     88     write /sys/class/android_usb/android0/enable 1
     89     start adbd
     90     setprop sys.usb.state ${sys.usb.config}
     91 
     92 # PTP
     93 on property:sys.usb.config=ptp
     94     stop adbd
     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 4EE5
     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
    102     write /sys/class/android_usb/android0/enable 1
    103     setprop sys.usb.state ${sys.usb.config}
    104 
    105 on property:sys.usb.config=ptp,adb
    106     write /sys/class/android_usb/android0/enable 0
    107     write /sys/class/android_usb/android0/idVendor 18D1
    108     write /sys/class/android_usb/android0/idProduct 4EE6
    109     write /sys/class/android_usb/android0/bDeviceClass 0
    110     write /sys/class/android_usb/android0/bDeviceSubClass 0
    111     write /sys/class/android_usb/android0/bDeviceProtocol 0
    112     write /sys/class/android_usb/android0/functions ptp,adb
    113     write /sys/class/android_usb/android0/enable 1
    114     start adbd
    115     setprop sys.usb.state ${sys.usb.config}
    116 
    117 # diag
    118 on property:sys.usb.config=diag
    119     stop adbd
    120     write /sys/class/android_usb/android0/enable 0
    121     write /sys/class/android_usb/android0/idVendor 05c6
    122     write /sys/class/android_usb/android0/idProduct 9060
    123     write /sys/class/android_usb/android0/f_diag/clients diag
    124     write /sys/class/android_usb/android0/functions diag,mtp,adb
    125     write /sys/class/android_usb/android0/enable 1
    126     start adbd
    127     setprop sys.usb.state ${sys.usb.config}
    128 
    129 # USB midi configuration
    130 on property:sys.usb.config=midi
    131     write /sys/class/android_usb/android0/enable 0
    132     write /sys/class/android_usb/android0/idVendor 18d1
    133     write /sys/class/android_usb/android0/idProduct 4ee8
    134     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    135     write /sys/class/android_usb/android0/enable 1
    136     start adbd
    137     setprop sys.usb.state ${sys.usb.config}
    138 
    139 # USB midi configuration, with adb
    140 on property:sys.usb.config=midi,adb
    141     write /sys/class/android_usb/android0/enable 0
    142     write /sys/class/android_usb/android0/idVendor 18d1
    143     write /sys/class/android_usb/android0/idProduct 4ee9
    144     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    145     write /sys/class/android_usb/android0/enable 1
    146     start adbd
    147     setprop sys.usb.state ${sys.usb.config}
    148 
    149 # USB charging configuration
    150 on property:sys.usb.config=charging
    151     stop adbd
    152     write /sys/class/android_usb/android0/enable 0
    153     write /sys/class/android_usb/android0/idVendor 18d1
    154     write /sys/class/android_usb/android0/idProduct 4eea
    155     write /sys/class/android_usb/android0/functions charging
    156     write /sys/class/android_usb/android0/enable 1
    157     setprop sys.usb.state ${sys.usb.config}
    158 
    159 # QDSS - Qualcomm Debug Subsystem
    160 on property:sys.usb.config=diag,qdss,adb
    161     write /sys/class/android_usb/android0/enable 0
    162     write /sys/class/android_usb/android0/idVendor 05C6
    163     write /sys/class/android_usb/android0/idProduct 9060
    164     write /sys/class/android_usb/android0/f_diag/clients diag
    165     write /sys/class/android_usb/android0/functions diag,qdss,adb
    166     write /sys/class/android_usb/android0/enable 1
    167     start adbd
    168     setprop sys.usb.state ${sys.usb.config}
    169 
    170 # USB factory configuration
    171 on property:sys.usb.config=manufacture,adb
    172     stop adbd
    173     write /sys/class/android_usb/android0/enable 0
    174     write /sys/class/android_usb/android0/idVendor 12d1
    175     write /sys/class/android_usb/android0/idProduct 1035
    176     write /sys/class/android_usb/android0/f_diag/clients  diag
    177     write /sys/class/android_usb/android0/f_serial/transports smd,smd
    178     write /sys/class/android_usb/android0/functions serial,mass_storage,adb,diag
    179     write /sys/class/android_usb/android0/enable 1
    180     start adbd
    181     setprop sys.usb.state ${sys.usb.config}
    182 
    183 # RmNet using USB BAM to IPA BAM
    184 on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb
    185     stop adbd
    186     write /sys/class/android_usb/android0/enable 0
    187     write /sys/class/android_usb/android0/idVendor 05C6
    188     write /sys/class/android_usb/android0/idProduct 9025
    189     write /sys/class/android_usb/android0/f_diag/clients diag
    190     write /sys/class/android_usb/android0/f_serial/transports smd,tty
    191     write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
    192     write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
    193     write /sys/class/android_usb/android0/enable 1
    194     start adbd
    195     setprop sys.usb.state ${sys.usb.config}
    196 
    197 on property:sys.usb.config=diag,serial_smd,rmnet_ipa,adb
    198     stop adbd
    199     write /sys/class/android_usb/android0/enable 0
    200     write /sys/class/android_usb/android0/idVendor 05C6
    201     write /sys/class/android_usb/android0/idProduct 9091
    202     write /sys/class/android_usb/android0/f_diag/clients diag
    203     write /sys/class/android_usb/android0/f_serial/transports smd
    204     write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
    205     write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb
    206     write /sys/class/android_usb/android0/enable 1
    207     start adbd
    208     setprop sys.usb.state ${sys.usb.config}
    209 
    210 # rndis with serial
    211 on property:sys.usb.config=rndis,serial
    212     stop adbd
    213     write /sys/class/android_usb/android0/enable 0
    214     write /sys/class/android_usb/android0/idVendor 12d1
    215     write /sys/class/android_usb/android0/idProduct 105d
    216     write /sys/class/android_usb/android0/f_diag/clients diag
    217     write /sys/class/android_usb/android0/f_serial/transports smd
    218     write /sys/class/android_usb/android0/functions rndis,serial,diag
    219     write /sys/class/android_usb/android0/enable 1
    220     setprop sys.usb.state ${sys.usb.config}
    221 
    222 # rndis with serial and adb
    223 on property:sys.usb.config=rndis,serial,adb
    224     stop adbd
    225     write /sys/class/android_usb/android0/enable 0
    226     write /sys/class/android_usb/android0/idVendor 12d1
    227     write /sys/class/android_usb/android0/idProduct 105d
    228     write /sys/class/android_usb/android0/f_diag/clients diag
    229     write /sys/class/android_usb/android0/f_serial/transports smd
    230     write /sys/class/android_usb/android0/functions rndis,serial,diag,adb
    231     write /sys/class/android_usb/android0/enable 1
    232     start adbd
    233     setprop sys.usb.state ${sys.usb.config}
    234 
    235