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