346 lines
16 KiB
Text
Executable file
346 lines
16 KiB
Text
Executable file
# Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
# * Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
# * Neither the name of The Linux Foundation nor
|
|
# the names of its contributors may be used to endorse or promote
|
|
# products derived from this software without specific prior written
|
|
# permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
|
|
on boot
|
|
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
|
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
|
|
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
|
|
|
|
on fs
|
|
mkdir /dev/usb-ffs 0770 shell shell
|
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
|
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
|
write /sys/class/android_usb/android0/f_ffs/aliases adb
|
|
|
|
write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports "BAM2BAM_IPA"
|
|
write /sys/module/g_android/parameters/mtp_tx_req_len 131072
|
|
write /sys/module/g_android/parameters/mtp_rx_req_len 131072
|
|
|
|
# Following are the parameters required for usb functionality. They provide configurable options like
|
|
# product_id/vendor id and allows specifying required functions:
|
|
#
|
|
# Required parameters:
|
|
#
|
|
# /sys/class/android_usb/android0/enable: Enables/disables usb composition
|
|
# Value: 0 (disable), 1 (enable)
|
|
#
|
|
# /sys/class/android_usb/android0/idVendor: Stores Vendor ID
|
|
# Value: 05c6 (Vendor id for Qualcomm Inc)
|
|
#
|
|
# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition
|
|
# Value: 0x9xxx for composite interface, 0xFxxx for single interface
|
|
#
|
|
# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface.
|
|
# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2]
|
|
#
|
|
# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition.
|
|
# Value: Passed one per function driver. e.g. diag[,adb]
|
|
#
|
|
#Optional parameters:
|
|
#
|
|
# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to
|
|
# communicate to serial interface.
|
|
# Value: Passed one per interface. One value represents control and data transport together.
|
|
# e.g. smd[,sdio,tty,hsic]
|
|
# Only required if serial interface is present.
|
|
#
|
|
# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports
|
|
# used to communicate to serial interface. This is used to distinguish between more than one interface
|
|
# using same transport type.
|
|
# Value: Passed one per interface. One value represents control and data transport together.
|
|
# e.g. serial_hsic[,serial_hsusb]
|
|
# Only required for transport type hsic, optional for other transport types.
|
|
#
|
|
# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to
|
|
# communicate to rmnet interface.
|
|
# Value: Passed two per interface as control, data transport type pair.
|
|
# e.g. smd,bam[,hsuart,hsuart]
|
|
# Only required if rmnet interface is present.
|
|
#
|
|
# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports
|
|
# used to communicate to rmnet interface. This is used to distinguish between more than one interface
|
|
# using same transport type.
|
|
# Value: Passed one per interface. One value represents control and data transport together.
|
|
# e.g. rmnet_hsic[,rmnet_hsusb]
|
|
# Only required for transport type hsic, optional for other transport types.
|
|
|
|
# USB compositions
|
|
on property:sys.usb.config=diag
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 900E
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=diag,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 901D
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.tethering=true
|
|
write /sys/class/net/rndis0/queues/rx-0/rps_cpus 0
|
|
|
|
on property:sys.usb.config=rndis
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff80
|
|
write /sys/class/android_usb/android0/functions rndis
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state rndis
|
|
|
|
on property:sys.usb.config=rndis,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff88
|
|
write /sys/class/android_usb/android0/functions rndis,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state rndis,adb
|
|
|
|
on property:sys.usb.config=rndis,diag
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 902C
|
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions rndis,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state rndis
|
|
|
|
on property:sys.usb.config=rndis,diag,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 902D
|
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions rndis,diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state rndis,adb
|
|
|
|
on property:sys.usb.config=rndis,diag,dpl
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90BF
|
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_qdss/debug_intf 0
|
|
write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa
|
|
write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam
|
|
write /sys/class/android_usb/android0/functions rndis,diag,qdss
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state rndis
|
|
|
|
on property:sys.usb.config=rndis,diag,dpl,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90C0
|
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/f_qdss/debug_intf 0
|
|
write /sys/class/android_usb/android0/f_qdss/transports qti,bam2bam_ipa
|
|
write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam
|
|
write /sys/class/android_usb/android0/functions rndis,diag,qdss,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state rndis,adb
|
|
|
|
on property:sys.usb.config=rndis,serial_smd
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90B3
|
|
write /sys/class/android_usb/android0/f_serial/transports smd
|
|
write /sys/class/android_usb/android0/functions rndis,serial
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state rndis
|
|
|
|
on property:sys.usb.config=rndis,serial_smd,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90B4
|
|
write /sys/class/android_usb/android0/f_serial/transports smd
|
|
write /sys/class/android_usb/android0/functions rndis,serial,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state rndis,adb
|
|
|
|
on property:sys.usb.config=ptp
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff10
|
|
write /sys/class/android_usb/android0/functions ptp
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=ptp,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff18
|
|
write /sys/class/android_usb/android0/functions ptp,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff60
|
|
write /sys/class/android_usb/android0/functions mtp
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 2717
|
|
write /sys/class/android_usb/android0/idProduct ff68
|
|
write /sys/class/android_usb/android0/functions mtp,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 901B
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions mtp,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 903A
|
|
write /sys/class/android_usb/android0/f_diag/clients diag
|
|
write /sys/class/android_usb/android0/functions mtp,diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag,diag_mdm
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9040
|
|
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
|
|
write /sys/class/android_usb/android0/functions mtp,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag,diag_mdm,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 903F
|
|
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
|
|
write /sys/class/android_usb/android0/functions mtp,diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9088
|
|
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
|
|
write /sys/class/android_usb/android0/functions mtp,diag
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9089
|
|
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
|
|
write /sys/class/android_usb/android0/functions mtp,diag,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mass_storage
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct F000
|
|
write /sys/class/android_usb/android0/functions mass_storage
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=mass_storage,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 9015
|
|
write /sys/class/android_usb/android0/functions adb,mass_storage
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=ncm
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 0525
|
|
write /sys/class/android_usb/android0/idProduct A4A1
|
|
write /sys/class/android_usb/android0/functions ncm
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=ncm,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 908C
|
|
write /sys/class/android_usb/android0/functions ncm,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=charging
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct F006
|
|
write /sys/class/android_usb/android0/functions charging
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=midi
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90BA
|
|
write /sys/class/android_usb/android0/functions midi
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=midi,adb
|
|
write /sys/class/android_usb/android0/enable 0
|
|
write /sys/class/android_usb/android0/idVendor 05C6
|
|
write /sys/class/android_usb/android0/idProduct 90BB
|
|
write /sys/class/android_usb/android0/functions midi,adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
start adbd
|
|
setprop sys.usb.state ${sys.usb.config}
|