aboutsummaryrefslogtreecommitdiff
path: root/rootdir
diff options
context:
space:
mode:
Diffstat (limited to 'rootdir')
-rwxr-xr-xrootdir/etc/init.qcom.power.rc59
-rwxr-xr-xrootdir/etc/init.qcom.rc105
-rwxr-xr-xrootdir/etc/init.qcom.sh236
-rwxr-xr-xrootdir/etc/init.qcom.usb.rc163
-rwxr-xr-xrootdir/etc/init.qcom.usb.sh65
5 files changed, 328 insertions, 300 deletions
diff --git a/rootdir/etc/init.qcom.power.rc b/rootdir/etc/init.qcom.power.rc
index 50ba17e..fe2351f 100755
--- a/rootdir/etc/init.qcom.power.rc
+++ b/rootdir/etc/init.qcom.power.rc
@@ -1,56 +1,11 @@
-on init
- # sets up initial cpusets for ActivityManager
- mkdir /dev/cpuset
- mount cpuset none /dev/cpuset
-
- # this ensures that the cpusets are present and usable, but the device's
- # init.rc must actually set the correct cpus
- mkdir /dev/cpuset/foreground
- write /dev/cpuset/foreground/cpus 0
- write /dev/cpuset/foreground/mems 0
- mkdir /dev/cpuset/foreground/boost
- write /dev/cpuset/foreground/boost/cpus 0
- write /dev/cpuset/foreground/boost/mems 0
- mkdir /dev/cpuset/background
- write /dev/cpuset/background/cpus 0
- write /dev/cpuset/background/mems 0
-
- # system-background is for system tasks that should only run on
- # little cores, not on bigs
- # to be used only by init, so don't change system-bg permissions
- mkdir /dev/cpuset/system-background
- write /dev/cpuset/system-background/cpus 0
- write /dev/cpuset/system-background/mems 0
-
- mkdir /dev/cpuset/top-app
- write /dev/cpuset/top-app/cpus 0
- write /dev/cpuset/top-app/mems 0
-
- # change permissions for all cpusets we'll touch at runtime
- chown system system /dev/cpuset
- chown system system /dev/cpuset/foreground
- chown system system /dev/cpuset/foreground/boost
- chown system system /dev/cpuset/background
- chown system system /dev/cpuset/system-background
- chown system system /dev/cpuset/top-app
- chown system system /dev/cpuset/tasks
- chown system system /dev/cpuset/foreground/tasks
- chown system system /dev/cpuset/foreground/boost/tasks
- chown system system /dev/cpuset/background/tasks
- chown system system /dev/cpuset/system-background/tasks
- chown system system /dev/cpuset/top-app/tasks
-
- # set system-background to 0775 so SurfaceFlinger can touch it
- chmod 0775 /dev/cpuset/system-background
-
- chmod 0664 /dev/cpuset/foreground/tasks
- chmod 0664 /dev/cpuset/foreground/boost/tasks
- chmod 0664 /dev/cpuset/background/tasks
- chmod 0664 /dev/cpuset/system-background/tasks
- chmod 0664 /dev/cpuset/top-app/tasks
- chmod 0664 /dev/cpuset/tasks
-
on boot
+ # Update foreground and background cpusets
+ write /dev/cpuset/foreground/cpus 0-3
+ write /dev/cpuset/foreground/boost/cpus 0-3
+ write /dev/cpuset/background/cpus 0-3
+ write /dev/cpuset/system-background/cpus 0-3
+ write /dev/cpuset/top-app/cpus 0-3
+
# Enable sched boost
write /proc/sys/kernel/sched_boost 1
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc
index a63cc01..109c85f 100755
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -26,6 +26,7 @@
#
import init.qcom.power.rc
import init.qcom.usb.rc
+import init.qcom.bt.sh
on early-init
mkdir /firmware 0771 system system
@@ -550,69 +551,6 @@ service audiod /system/bin/audiod
user system
group system
-service usf_tester /system/bin/usf_tester
- user system
- group system inet
- disabled
- oneshot
-
-service usf_epos /system/bin/usf_epos
- class main
- user system
- group system inet
- disabled
- oneshot
-
-service usf_gesture /system/bin/usf_gesture
- user system
- group system inet
- disabled
- oneshot
-
-service usf_sync_gesture /system/bin/usf_sync_gesture
- user system
- group system inet audio
- disabled
- oneshot
-
-service usf_p2p /system/bin/usf_p2p
- user system
- group system inet
- disabled
- oneshot
-
-service usf_hovering /system/bin/usf_hovering
- user system
- group system inet
- disabled
- oneshot
-
-service usf_proximity /system/bin/usf_proximity
- class late_start
- user system
- group system inet audio
-
-service usf_pairing /system/bin/usf_pairing
- user system
- group system inet
- disabled
- oneshot
-
-service usf_sw_calib /system/bin/usf_sw_calib
- user system
- group system inet
- disabled
- oneshot
-
-service usf-post-boot /system/bin/sh /system/etc/usf_post_boot.sh
- class late_start
- user root
- disabled
- oneshot
-
-on property:init.svc.bootanim=stopped
- start usf-post-boot
-
service imsqmidaemon /system/bin/imsqmidaemon
class main
user system
@@ -798,18 +736,7 @@ on property:bluetooth.startbtsnoop=true
on property:bluetooth.startbtsnoop=false
stop btsnoop
-service qcom-c_core-sh /system/bin/sh /init.qcom.class_core.sh
- class core
- user root
- oneshot
-
-service qcom-c_main-sh /system/bin/sh /init.class_main.sh
- class main
- user root
- oneshot
-
on property:vold.decrypt=trigger_restart_framework
- start qcom-c_main-sh
start config_bt_addr
start config_bluetooth
@@ -1205,41 +1132,12 @@ on property:drmdiag.load=1
on property:drmdiag.load=0
stop drmdiag
-service qcom-sh /system/bin/sh /init.qcom.sh
- class late_start
- user root
- oneshot
-
-service sensor-sh /system/bin/sh /init.qcom.sensors.sh
- class core
- user root
- oneshot
-
service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh
class late_start
user root
disabled
oneshot
-service qti-testscripts /system/bin/sh /system/etc/init.qcom.testscripts.sh
- class late_start
- user root
- disabled
- oneshot
- seclabel u:r:qti-testscripts:s0
-
-service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh
- class late_start
- group wifi inet
- disabled
- oneshot
-
-service wifi-crda /system/bin/sh /system/etc/init.crda.sh
- class late_start
- user root
- disabled
- oneshot
-
service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh
class late_start
user root
@@ -1248,7 +1146,6 @@ service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh
on property:sys.boot_completed=1
start qcom-post-boot
- start qti-testscripts
start config-zram
service atfwd /system/bin/ATFWD-daemon
diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh
index 176d9fe..848f11e 100755
--- a/rootdir/etc/init.qcom.sh
+++ b/rootdir/etc/init.qcom.sh
@@ -26,6 +26,68 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+target=`getprop ro.board.platform`
+if [ -f /sys/devices/soc0/soc_id ]; then
+ platformid=`cat /sys/devices/soc0/soc_id`
+else
+ platformid=`cat /sys/devices/system/soc/soc0/id`
+fi
+
+start_battery_monitor()
+{
+ if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then
+ chown -h root.system /sys/module/pm8921_bms/parameters/*
+ chown -h root.system /sys/module/qpnp_bms/parameters/*
+ chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data
+ chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp
+ chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl
+ chmod 0660 /sys/module/qpnp_bms/parameters/*
+ chmod 0660 /sys/module/pm8921_bms/parameters/*
+ mkdir -p /data/bms
+ chown -h root.system /data/bms
+ chmod 0770 /data/bms
+ start battery_monitor
+ fi
+}
+
+start_charger_monitor()
+{
+ if ls /sys/module/qpnp_charger/parameters/charger_monitor; then
+ chown -h root.system /sys/module/qpnp_charger/parameters/*
+ chown -h root.system /sys/class/power_supply/battery/input_current_max
+ chown -h root.system /sys/class/power_supply/battery/input_current_trim
+ chown -h root.system /sys/class/power_supply/battery/input_current_settled
+ chown -h root.system /sys/class/power_supply/battery/voltage_min
+ chmod 0664 /sys/class/power_supply/battery/input_current_max
+ chmod 0664 /sys/class/power_supply/battery/input_current_trim
+ chmod 0664 /sys/class/power_supply/battery/input_current_settled
+ chmod 0664 /sys/class/power_supply/battery/voltage_min
+ chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor
+ start charger_monitor
+ fi
+}
+
+start_vm_bms()
+{
+ if [ -e /dev/vm_bms ]; then
+ chown -h root.system /sys/class/power_supply/bms/current_now
+ chown -h root.system /sys/class/power_supply/bms/voltage_ocv
+ chmod 0664 /sys/class/power_supply/bms/current_now
+ chmod 0664 /sys/class/power_supply/bms/voltage_ocv
+ start vm_bms
+ fi
+}
+
+start_msm_irqbalance_8939()
+{
+ if [ -f /system/bin/msm_irqbalance ]; then
+ case "$platformid" in
+ "239" | "294" | "295")
+ start msm_irqbalance;;
+ esac
+ fi
+}
+
start_msm_irqbalance()
{
if [ -f /system/bin/msm_irqbalance ]; then
@@ -41,6 +103,180 @@ start_copying_prebuilt_qcril_db()
fi
}
+baseband=`getprop ro.baseband`
+echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr
+
+case "$baseband" in
+ "svlte2a")
+ start bridgemgrd
+ ;;
+esac
+
+case "$target" in
+ "msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ value=`cat /sys/devices/soc0/hw_platform`
+ else
+ value=`cat /sys/devices/system/soc/soc0/hw_platform`
+ fi
+ case "$value" in
+ "Fluid")
+ start profiler_daemon;;
+ esac
+ ;;
+ "msm8660" )
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ platformvalue=`cat /sys/devices/soc0/hw_platform`
+ else
+ platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
+ fi
+ case "$platformvalue" in
+ "Fluid")
+ start profiler_daemon;;
+ esac
+ ;;
+ "msm8960")
+ case "$baseband" in
+ "msm")
+ start_battery_monitor;;
+ esac
+
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ platformvalue=`cat /sys/devices/soc0/hw_platform`
+ else
+ platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform`
+ fi
+ case "$platformvalue" in
+ "Fluid")
+ start profiler_daemon;;
+ "Liquid")
+ start profiler_daemon;;
+ esac
+ ;;
+ "msm8974")
+ platformvalue=`cat /sys/devices/soc0/hw_platform`
+ case "$platformvalue" in
+ "Fluid")
+ start profiler_daemon;;
+ "Liquid")
+ start profiler_daemon;;
+ esac
+ case "$baseband" in
+ "msm")
+ start_battery_monitor
+ ;;
+ esac
+ start_charger_monitor
+ ;;
+ "apq8084")
+ platformvalue=`cat /sys/devices/soc0/hw_platform`
+ case "$platformvalue" in
+ "Fluid")
+ start profiler_daemon;;
+ "Liquid")
+ start profiler_daemon;;
+ esac
+ ;;
+ "msm8226")
+ start_charger_monitor
+ ;;
+ "msm8610")
+ start_charger_monitor
+ ;;
+ "msm8916")
+ start_vm_bms
+ start_msm_irqbalance_8939
+ if [ -f /sys/devices/soc0/soc_id ]; then
+ soc_id=`cat /sys/devices/soc0/soc_id`
+ else
+ soc_id=`cat /sys/devices/system/soc/soc0/id`
+ fi
+
+ if [ -f /sys/devices/soc0/platform_subtype_id ]; then
+ platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id`
+ fi
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ hw_platform=`cat /sys/devices/soc0/hw_platform`
+ fi
+ case "$soc_id" in
+ "239")
+ case "$hw_platform" in
+ "Surf")
+ case "$platform_subtype_id" in
+ "1")
+ setprop qemu.hw.mainkeys 0
+ ;;
+ esac
+ ;;
+ "MTP")
+ case "$platform_subtype_id" in
+ "3")
+ setprop qemu.hw.mainkeys 0
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ "msm8994" | "msm8992")
+ start_msm_irqbalance
+ ;;
+ "msm8996")
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ hw_platform=`cat /sys/devices/soc0/hw_platform`
+ fi
+ case "$hw_platform" in
+ "MTP" | "CDP")
+ #Loop through the sysfs nodes and determine the correct sysfs to change the permission and ownership.
+ for count in 0 1 2 3 4 5 6 7 8 9 10
+ do
+ dir="/sys/devices/soc/75ba000.i2c/i2c-12/12-0020/input/input"$count
+ if [ -d "$dir" ]; then
+ chmod 0660 $dir/secure_touch_enable
+ chmod 0440 $dir/secure_touch
+ chown system.drmrpc $dir/secure_touch_enable
+ chown system.drmrpc $dir/secure_touch
+ break
+ fi
+ done
+ ;;
+ esac
+ ;;
+ "msm8909")
+ start_vm_bms
+ ;;
+ "msm8937")
+ start_msm_irqbalance_8939
+ if [ -f /sys/devices/soc0/soc_id ]; then
+ soc_id=`cat /sys/devices/soc0/soc_id`
+ else
+ soc_id=`cat /sys/devices/system/soc/soc0/id`
+ fi
+
+ if [ -f /sys/devices/soc0/hw_platform ]; then
+ hw_platform=`cat /sys/devices/soc0/hw_platform`
+ else
+ hw_platform=`cat /sys/devices/system/soc/soc0/hw_platform`
+ fi
+ case "$soc_id" in
+ "294" | "295")
+ case "$hw_platform" in
+ "Surf")
+ setprop qemu.hw.mainkeys 0
+ ;;
+ "MTP")
+ setprop qemu.hw.mainkeys 0
+ ;;
+ "RCM")
+ setprop qemu.hw.mainkeys 0
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
bootmode=`getprop ro.bootmode`
emmc_boot=`getprop ro.boot.emmc`
case "$emmc_boot"
diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc
index ee1cc63..9fe0e25 100755
--- a/rootdir/etc/init.qcom.usb.rc
+++ b/rootdir/etc/init.qcom.usb.rc
@@ -28,10 +28,6 @@
on init
write /sys/class/android_usb/android0/f_rndis/wceis 1
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
- write /sys/class/android_usb/android0/iManufacturer ShenQi Inc.
- write /sys/class/android_usb/android0/iProduct Z2-PLUS
- write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "ShenQi Z2-PLUS 0100"
- write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
on fs
mkdir /dev/usb-ffs 0770 shell shell
@@ -44,118 +40,55 @@ service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
user root
oneshot
-# 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 1
- write /sys/class/android_usb/android0/f_diag/clients diag
- write /sys/class/android_usb/android0/f_serial/transports tty,tty,tty
- write /sys/class/android_usb/android0/functions diag,adb,serial
- 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 2B4C
- write /sys/class/android_usb/android0/idProduct 1016
- write /sys/class/android_usb/android0/f_diag/clients diag
- write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
- write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
- write /sys/class/android_usb/android0/functions diag,serial,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 2B4C
- write /sys/class/android_usb/android0/idProduct 1017
- write /sys/class/android_usb/android0/f_diag/clients diag
- write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
- write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
- write /sys/class/android_usb/android0/functions adb,diag,serial,mass_storage
- write /sys/class/android_usb/android0/enable 1
- start adbd
- setprop sys.usb.state ${sys.usb.config}
-
-on property:sys.usb.config=rndis
- write /sys/class/android_usb/android0/enable 0
- write /sys/class/android_usb/android0/idVendor 2B4C
- write /sys/class/android_usb/android0/idProduct 1018
- write /sys/class/android_usb/android0/functions rndis
- write /sys/class/android_usb/android0/enable 1
- setprop sys.usb.state ${sys.usb.config}
-
-on property:sys.usb.config=rndis,adb
- write /sys/class/android_usb/android0/enable 0
- write /sys/class/android_usb/android0/idVendor 2B4C
- write /sys/class/android_usb/android0/idProduct 1019
- write /sys/class/android_usb/android0/functions rndis,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 2B4C
- write /sys/class/android_usb/android0/idProduct 101A
- write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
- write /sys/class/android_usb/android0/functions mtp,mass_storage
- 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 2B4C
- write /sys/class/android_usb/android0/idProduct 101B
- write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
- write /sys/class/android_usb/android0/functions mtp,mass_storage,adb
- write /sys/class/android_usb/android0/enable 1
- start adbd
- setprop sys.usb.state ${sys.usb.config}
-
-on property:sys.usb.config=ptp
- write /sys/class/android_usb/android0/enable 0
- write /sys/class/android_usb/android0/idVendor 2B4C
- write /sys/class/android_usb/android0/idProduct 101C
- 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 2B4C
- write /sys/class/android_usb/android0/idProduct 101D
- 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=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 90B5
- write /sys/class/android_usb/android0/f_diag/clients diag
- write /sys/class/android_usb/android0/f_serial/transports char_bridge
- write /sys/class/android_usb/android0/functions rndis,serial,diag
- write /sys/class/android_usb/android0/enable 1
- setprop sys.usb.state ${sys.usb.config}
-
-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 90B6
- write /sys/class/android_usb/android0/f_diag/clients diag
- write /sys/class/android_usb/android0/f_serial/transports char_bridge
- write /sys/class/android_usb/android0/functions rndis,serial,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 ${sys.usb.rps_mask}
+# 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,serial_tty,serial_smd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh
index 1b2ba3a..e0e6f1d 100755
--- a/rootdir/etc/init.qcom.usb.sh
+++ b/rootdir/etc/init.qcom.usb.sh
@@ -93,42 +93,40 @@ fi
target=`getprop ro.board.platform`
+#ifdef VENDOR_EDIT
+boot_mode=`getprop ro.boot.ftm_mode`
+echo "boot_mode: $boot_mode" > /dev/kmsg
+case "$boot_mode" in
+ "ftm_at" | "ftm_rf" | "ftm_wlan" | "ftm_mos")
+ usb_config=`getprop persist.sys.usb.config`
+ echo "BEFORE boot_mode: $usb_config" > /dev/kmsg
+ if [ "$usb_config" != "diag,adb" ] ; then
+ setprop persist.sys.usb.config diag,adb
+ fi
+ ;;
+esac
+usb_config=`getprop persist.sys.usb.config`
+echo "AFTER boot_mode: $usb_config" > /dev/kmsg
+#endif
+
#
# Allow USB enumeration with default PID/VID
#
baseband=`getprop ro.baseband`
echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua
usb_config=`getprop persist.sys.usb.config`
+echo "BEFORE: $usb_config" > /dev/kmsg
case "$usb_config" in
- "" | "adb") #USB persist config not set, select default configuration
+ "" | "adb" | "none") #USB persist config not set, select default configuration
case "$esoc_link" in
- "HSIC")
- setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
- setprop persist.rmnet.mux enabled
- ;;
- "HSIC+PCIe")
- setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb
- ;;
"PCIe")
setprop persist.sys.usb.config diag,diag_mdm,serial_cdev,rmnet_qti_ether,mass_storage,adb
;;
*)
- case "$baseband" in
- "mdm")
- setprop persist.sys.usb.config mass_storage,adb
- ;;
- "mdm2")
- setprop persist.sys.usb.config mass_storage,adb
- ;;
- "sglte")
- setprop persist.sys.usb.config mass_storage,adb
- ;;
- "dsda" | "sglte2")
- setprop persist.sys.usb.config mass_storage,adb
- ;;
- "dsda2")
- setprop persist.sys.usb.config mass_storage,adb
- ;;
+ case "$soc_hwplatform" in
+ "Dragon")
+ setprop persist.sys.usb.config diag,adb
+ ;;
*)
case "$target" in
"msm8916")
@@ -145,13 +143,18 @@ case "$usb_config" in
if [ "$soc_revision" == "1.0" -o "$soc_hwplatform" == "Dragon" ]
then
setprop persist.sys.usb.config diag,adb
- else
- setprop persist.sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
+ #[BSP-66]-Anderson-Disable_set_the_property.
+ #This will ause BSP-66 issue and cause all the port enable in default.
+ #else
+ #setprop persist.sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
fi
;;
"msm8909" | "msm8937")
setprop persist.sys.usb.config diag,serial_smd,rmnet_qti_bam,adb
;;
+ "msm8952" | "titanium")
+ setprop persist.sys.usb.config diag,serial_smd,rmnet_ipa,adb
+ ;;
*)
setprop persist.sys.usb.config diag,adb
;;
@@ -160,10 +163,12 @@ case "$usb_config" in
esac
;;
esac
- ;;
- * ) ;; #USB persist config exists, do nothing
+ ;;
+ * ) ;; #USB persist config exists, do nothing
esac
+
+
#
# Do target specific things
#
@@ -184,8 +189,10 @@ case "$target" in
fi
fi
;;
- "msm8994" | "msm8992" | "msm8996")
+ "msm8994" | "msm8992" | "msm8996" | "titanium")
echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports
+ echo 131072 > /sys/module/g_android/parameters/mtp_tx_req_len
+ echo 131072 > /sys/module/g_android/parameters/mtp_rx_req_len
;;
esac