Home | History | Annotate | Download | only in bullhead
      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 LGE
     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 
     25 on 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 on post-fs-data
     32     write /sys/module/rndis_ipa/parameters/min_cpu_freq 1036800
     33     write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA
     34 
     35 # MTP
     36 on property:sys.usb.config=mtp
     37     stop adbd
     38     write /sys/class/android_usb/android0/enable 0
     39     write /sys/class/android_usb/android0/idVendor 18D1
     40     write /sys/class/android_usb/android0/idProduct 4EE1
     41     write /sys/class/android_usb/android0/bDeviceClass 0
     42     write /sys/class/android_usb/android0/bDeviceSubClass 0
     43     write /sys/class/android_usb/android0/bDeviceProtocol 0
     44     write /sys/class/android_usb/android0/functions mtp
     45     write /sys/module/g_android/parameters/mtp_rx_req_len 131072
     46     write /sys/module/g_android/parameters/mtp_tx_reqs 32
     47     write /sys/class/android_usb/android0/enable 1
     48     setprop sys.usb.state ${sys.usb.config}
     49 
     50 on property:sys.usb.config=mtp,adb
     51     write /sys/class/android_usb/android0/enable 0
     52     write /sys/class/android_usb/android0/idVendor 18D1
     53     write /sys/class/android_usb/android0/idProduct 4EE2
     54     write /sys/class/android_usb/android0/bDeviceClass 0
     55     write /sys/class/android_usb/android0/bDeviceSubClass 0
     56     write /sys/class/android_usb/android0/bDeviceProtocol 0
     57     write /sys/class/android_usb/android0/functions mtp,adb
     58     write /sys/module/g_android/parameters/mtp_rx_req_len 131072
     59     write /sys/module/g_android/parameters/mtp_tx_reqs 32
     60     write /sys/class/android_usb/android0/enable 1
     61     start adbd
     62     setprop sys.usb.state ${sys.usb.config}
     63 
     64 # rndis
     65 on property:sys.usb.config=rndis
     66     stop adbd
     67     write /sys/class/android_usb/android0/enable 0
     68     write /sys/class/android_usb/android0/idVendor 18D1
     69     write /sys/class/android_usb/android0/idProduct 4EE3
     70     write /sys/class/android_usb/android0/bDeviceClass 239
     71     write /sys/class/android_usb/android0/bDeviceSubClass 2
     72     write /sys/class/android_usb/android0/bDeviceProtocol 1
     73     write /sys/class/android_usb/android0/functions rndis
     74     write /sys/class/android_usb/android0/enable 1
     75     setprop sys.usb.state ${sys.usb.config}
     76 
     77 on property:sys.usb.config=rndis,adb
     78     write /sys/class/android_usb/android0/enable 0
     79     write /sys/class/android_usb/android0/idVendor 18D1
     80     write /sys/class/android_usb/android0/idProduct 4EE4
     81     write /sys/class/android_usb/android0/bDeviceClass 239
     82     write /sys/class/android_usb/android0/bDeviceSubClass 2
     83     write /sys/class/android_usb/android0/bDeviceProtocol 1
     84     write /sys/class/android_usb/android0/functions rndis,adb
     85     write /sys/class/android_usb/android0/enable 1
     86     start adbd
     87     setprop sys.usb.state ${sys.usb.config}
     88 
     89 # PTP
     90 on property:sys.usb.config=ptp
     91     stop adbd
     92     write /sys/class/android_usb/android0/enable 0
     93     write /sys/class/android_usb/android0/idVendor 18D1
     94     write /sys/class/android_usb/android0/idProduct 4EE5
     95     write /sys/class/android_usb/android0/bDeviceClass 0
     96     write /sys/class/android_usb/android0/bDeviceSubClass 0
     97     write /sys/class/android_usb/android0/bDeviceProtocol 0
     98     write /sys/class/android_usb/android0/functions ptp
     99     write /sys/class/android_usb/android0/enable 1
    100     setprop sys.usb.state ${sys.usb.config}
    101 
    102 on property:sys.usb.config=ptp,adb
    103     write /sys/class/android_usb/android0/enable 0
    104     write /sys/class/android_usb/android0/idVendor 18D1
    105     write /sys/class/android_usb/android0/idProduct 4EE6
    106     write /sys/class/android_usb/android0/bDeviceClass 0
    107     write /sys/class/android_usb/android0/bDeviceSubClass 0
    108     write /sys/class/android_usb/android0/bDeviceProtocol 0
    109     write /sys/class/android_usb/android0/functions ptp,adb
    110     write /sys/class/android_usb/android0/enable 1
    111     start adbd
    112     setprop sys.usb.state ${sys.usb.config}
    113 
    114 # diag
    115 on property:sys.usb.config=diag
    116     stop adbd
    117     write /sys/class/android_usb/android0/enable 0
    118     write /sys/class/android_usb/android0/idVendor 05C6
    119     write /sys/class/android_usb/android0/idProduct 903D
    120     write /sys/class/android_usb/android0/bDeviceClass 0
    121     write /sys/class/android_usb/android0/bDeviceSubClass 0
    122     write /sys/class/android_usb/android0/bDeviceProtocol 0
    123     write /sys/class/android_usb/android0/f_diag/clients diag
    124     write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty
    125     write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
    126     write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet
    127     write /sys/class/android_usb/android0/enable 1
    128     start adbd
    129     setprop sys.usb.state ${sys.usb.config}
    130 
    131 on property:sys.usb.config=diag,adb
    132     stop adbd
    133     write /sys/class/android_usb/android0/enable 0
    134     write /sys/class/android_usb/android0/idVendor 05C6
    135     write /sys/class/android_usb/android0/idProduct 903D
    136     write /sys/class/android_usb/android0/bDeviceClass 0
    137     write /sys/class/android_usb/android0/bDeviceSubClass 0
    138     write /sys/class/android_usb/android0/bDeviceProtocol 0
    139     write /sys/class/android_usb/android0/f_diag/clients diag
    140     write /sys/class/android_usb/android0/f_acm/acm_transports smd,tty
    141     write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa
    142     write /sys/class/android_usb/android0/functions diag,adb,acm,rmnet
    143     write /sys/class/android_usb/android0/enable 1
    144     start adbd
    145     setprop sys.usb.state ${sys.usb.config}
    146 
    147 # USB midi configuration
    148 on property:sys.usb.config=midi
    149     stop adbd
    150     write /sys/class/android_usb/android0/enable 0
    151     write /sys/class/android_usb/android0/idVendor 18D1
    152     write /sys/class/android_usb/android0/idProduct 4EE8
    153     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    154     write /sys/class/android_usb/android0/enable 1
    155     setprop sys.usb.state ${sys.usb.config}
    156 
    157 # USB midi configuration, with adb
    158 on property:sys.usb.config=midi,adb
    159     write /sys/class/android_usb/android0/enable 0
    160     write /sys/class/android_usb/android0/idVendor 18D1
    161     write /sys/class/android_usb/android0/idProduct 4EE9
    162     write /sys/class/android_usb/android0/functions ${sys.usb.config}
    163     write /sys/class/android_usb/android0/enable 1
    164     start adbd
    165     setprop sys.usb.state ${sys.usb.config}
    166