809 lines
28 KiB
Plaintext
Executable File
809 lines
28 KiB
Plaintext
Executable File
# Copyright (c) 2009-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.
|
|
#
|
|
|
|
import init.qcom.usb.rc
|
|
import init.target.rc
|
|
|
|
on early-init
|
|
write /sys/block/mmcblk0/queue/read_ahead_kb 512
|
|
write /sys/block/mmcblk1/queue/read_ahead_kb 512
|
|
setprop sys.io.scheduler noop
|
|
|
|
on init
|
|
export LD_SHIM_LIBS "/system/vendor/lib/libOpenCL.so|libboringssl-compat.so:/system/lib/libril.so|libril_shim.so"
|
|
|
|
# Set permissions for persist partition
|
|
mkdir /persist 0771 system system
|
|
|
|
# Support legacy paths
|
|
symlink /sdcard /storage/sdcard0
|
|
|
|
on early-boot
|
|
# set RLIMIT_MEMLOCK to 64MB
|
|
setrlimit 8 67108864 67108864
|
|
|
|
## [START] system_sw.sa: comment out early_boot.sh and take necessary settings out
|
|
#exec /system/bin/sh /init.qcom.early_boot.sh ${ro.board.platform}
|
|
chown system graphics /sys/class/graphics/fb1/hpd
|
|
chown system graphics /sys/class/graphics/fb1/vendor_name
|
|
chown system graphics /sys/class/graphics/fb1/product_description
|
|
chmod 0664 /sys/class/graphics/fb1/hpd
|
|
chmod 0664 /sys/class/graphics/fb1/vendor_name
|
|
chmod 0664 /sys/class/graphics/fb1/product_description
|
|
chmod 0664 /sys/class/graphics/fb1/video_mode
|
|
chmod 0664 /sys/class/graphics/fb1/format_3d
|
|
symlink /dev/graphics/fb1 /dev/graphics/hdmi
|
|
chown system system /sys/class/graphics/fb1/format_3d
|
|
## [END] system_sw.sa
|
|
|
|
start wcnss-service
|
|
|
|
# Remove symlinks to avoid issues with migrate after nandroid restores
|
|
# Will be recreated at end of boot
|
|
rm /data/data/com.android.providers.telephony/databases/telephony.db
|
|
rm /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml
|
|
|
|
|
|
on boot
|
|
|
|
mount debugfs /sys/kernel/debug /sys/kernel/debug
|
|
|
|
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
|
|
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
|
|
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
|
|
chown bluetooth bluetooth /proc/bluetooth/sleep/proto
|
|
chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
|
|
chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
|
|
chown system system /sys/module/sco/parameters/disable_esco
|
|
chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
|
|
chmod 0660 /sys/module/bluetooth_power/parameters/power
|
|
chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
|
|
chmod 0660 /sys/class/rfkill/rfkill0/state
|
|
chmod 0660 /proc/bluetooth/sleep/proto
|
|
chown bluetooth net_bt_stack /dev/ttyHS0
|
|
chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
|
|
chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
|
|
chmod 0660 /dev/ttyHS0
|
|
chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
|
|
chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
|
|
|
|
chmod 0660 /dev/ttyHS2
|
|
chown bluetooth bluetooth /dev/ttyHS2
|
|
|
|
#Basic permissions
|
|
chown root system /dev/socket
|
|
chmod 775 /dev/socket
|
|
#Create QMUX deamon socket area
|
|
mkdir /dev/socket/qmux_radio 0770 radio radio
|
|
chmod 2770 /dev/socket/qmux_radio
|
|
mkdir /dev/socket/qmux_audio 0770 media audio
|
|
chmod 2770 /dev/socket/qmux_audio
|
|
mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
|
|
chmod 2770 /dev/socket/qmux_bluetooth
|
|
mkdir /dev/socket/qmux_gps 0770 gps gps
|
|
chmod 2770 /dev/socket/qmux_gps
|
|
|
|
chown root system /sys/class/sec/sec_touchkey/tsp_keys_enabled
|
|
|
|
# Allow QMUX daemon to assign port open wait time
|
|
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
|
|
|
|
setprop wifi.interface wlan0
|
|
|
|
setprop ro.telephony.call_ring.multiple false
|
|
|
|
#Set SUID bit for usbhub
|
|
chmod 4755 /system/bin/usbhub
|
|
chmod 755 /system/bin/usbhub_init
|
|
|
|
#Remove SUID bit for iproute2 ip tool
|
|
chmod 0755 /system/bin/ip
|
|
|
|
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
|
|
|
|
#For bridgemgr daemon to inform the USB driver of the correct transport
|
|
chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
|
|
|
|
#To allow interfaces to get v6 address when tethering is enabled
|
|
write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2
|
|
write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2
|
|
|
|
# To prevent out of order acknowledgements from making
|
|
# connection tracking to treat them as not belonging to
|
|
# the connection they belong to.
|
|
# Otherwise, a weird issue happens in which some long
|
|
# connections on high-throughput links get dropped when
|
|
# an ack packet comes out of order
|
|
write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
|
|
|
|
# msm specific files that need to be created on /data
|
|
on post-fs-data
|
|
mkdir /data/misc/bluetooth 0770 bluetooth bluetooth
|
|
|
|
# Create the directories used by the Wireless subsystem
|
|
mkdir /data/misc/wifi 0770 wifi wifi
|
|
mkdir /data/misc/wifi/sockets 0770 wifi wifi
|
|
mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
|
|
mkdir /data/misc/dhcp 0770 dhcp dhcp
|
|
chown dhcp dhcp /data/misc/dhcp
|
|
|
|
# Create the directory used by CnE subsystem
|
|
mkdir /data/connectivity 0771 system system
|
|
chown system system /data/connectivity
|
|
|
|
# for WIFI TRP/TIS
|
|
chown system root /data/.psm.info
|
|
chmod 0664 /data/.psm.info
|
|
|
|
# for WIFI Cert
|
|
chmod 0664 /data/.bustxglom.info
|
|
chmod 0664 /data/.roamoff.info
|
|
chmod 0664 /data/.frameburst.info
|
|
chmod 0664 /data/.txbf.info
|
|
|
|
# for WIFI MAC address
|
|
mkdir /efs/wifi 0775 radio system
|
|
chown system system /efs/wifi/.mac.info
|
|
chmod 0664 /efs/wifi/.mac.info
|
|
|
|
# Create directory used by audio subsystem
|
|
mkdir /data/misc/audio 0770 audio audio
|
|
restorecon_recursive /data/misc/audio
|
|
|
|
# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
|
|
# We chown/chmod /persist again so because mount is run as root + defaults
|
|
chown system system /persist
|
|
chmod 0771 /persist
|
|
chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
|
|
chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
|
|
chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
|
|
chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
|
|
|
|
# Chown polling nodes as needed from UI running on system server
|
|
chown system system /sys/devices/platform/msm_sdcc.1/polling
|
|
chown system system /sys/devices/platform/msm_sdcc.2/polling
|
|
chown system system /sys/devices/platform/msm_sdcc.3/polling
|
|
chown system system /sys/devices/platform/msm_sdcc.4/polling
|
|
|
|
# For disabling softkeys *FIXME*
|
|
chown root system /sys/class/sec/sec_touchkey/brightness
|
|
chmod 0664 /sys/class/sec/sec_touchkey/brightness
|
|
chown root system /sys/class/sec/sec_touchkey/max_brightness
|
|
chmod 0664 /sys/class/sec/sec_touchkey/max_brightness
|
|
|
|
#Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
|
|
mkdir /data/system 0775 system system
|
|
#symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
|
|
|
|
#Create directories for wiper services
|
|
mkdir /data/wpstiles/ 0755 shell
|
|
mkdir /data/wiper 0755 gps qcom_oncrpc
|
|
|
|
#Create directories for gpsone_daemon services
|
|
mkdir /data/misc/gpsone_d 0770 system gps
|
|
|
|
#Create directories for QuIPS
|
|
mkdir /data/misc/quipc 0770 system gps
|
|
|
|
#Create directories for Location services
|
|
mkdir /data/misc/location 0770 gps gps
|
|
mkdir /data/misc/location/mq 0770 gps gps
|
|
mkdir /data/misc/location/xtwifi 0770 gps gps
|
|
|
|
#Create directory from IMS services
|
|
mkdir /data/shared 0755
|
|
chown system system /data/shared
|
|
|
|
#Create directory for FOTA
|
|
mkdir /data/fota 0771
|
|
chown system system /data/fota
|
|
|
|
#Create directory for hostapd
|
|
mkdir /data/hostapd 0770 system wifi
|
|
|
|
# Create /data/time folder for time-services
|
|
mkdir /data/time/ 0700 system system
|
|
|
|
mkdir /data/audio/ 0770 media audio
|
|
# Enable the setgid bit on the directory
|
|
chmod 2770 /data/audio
|
|
chown system system /sys/devices/virtual/lcd/panel/panel/backlight
|
|
|
|
# Display calibration
|
|
chown system system /sys/devices/virtual/graphics/fb0/rgb
|
|
chmod 0660 /sys/devices/virtual/graphics/fb0/rgb
|
|
|
|
setprop vold.post_fs_data_done 1
|
|
|
|
#Create a folder for SRS to be able to create a usercfg file
|
|
mkdir /data/data/media 0770 media media
|
|
restorecon_recursive /data/media
|
|
|
|
# GPIO DVS
|
|
chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl
|
|
|
|
# Export GPIO56 for fusion targets to enable/disable hub
|
|
service usbhub_init /system/bin/usbhub_init
|
|
class late_start
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
on property:init.svc.surfaceflinger=stopped
|
|
stop ppd
|
|
stop hdmid
|
|
|
|
on property:ro.board.platform=msm7630_fusion
|
|
start usbhub_init
|
|
|
|
on property:init.svc.wpa_supplicant=stopped
|
|
stop dhcpcd
|
|
|
|
# BRCM bt
|
|
# on property:bluetooth.isEnabled=true
|
|
# start btwlancoex
|
|
# write /sys/class/bluetooth/hci0/idle_timeout 7000
|
|
|
|
on property:ro.bluetooth.ftm_enabled=true
|
|
start ftmd
|
|
|
|
on property:vold.decrypt=trigger_restart_framework
|
|
start config_bluetooth
|
|
|
|
service irsc_util /system/bin/irsc_util "/etc/sec_config"
|
|
class main
|
|
user root
|
|
oneshot
|
|
|
|
service rmt_storage /system/bin/rmt_storage
|
|
class core
|
|
user root
|
|
group system
|
|
disabled
|
|
|
|
on property:ro.boot.emmc=true
|
|
start rmt_storage
|
|
|
|
service rfs_access /system/bin/rfs_access
|
|
class core
|
|
user system
|
|
group system net_raw
|
|
|
|
on property:ro.boot.emmc=true
|
|
start rfs_access
|
|
|
|
on property:ro.debuggable=1
|
|
chmod 0666 /sys/class/mhl/swing
|
|
chmod 0666 /sys/class/mhl/timing
|
|
|
|
service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot"
|
|
class core
|
|
user root
|
|
oneshot
|
|
|
|
service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
|
|
class late_start
|
|
user bluetooth
|
|
group bluetooth net_bt_admin
|
|
disabled
|
|
oneshot
|
|
|
|
on property:bluetooth.hciattach=true
|
|
start hciattach
|
|
|
|
on property:bluetooth.hciattach=false
|
|
setprop bluetooth.status off
|
|
|
|
#service ftmd /system/bin/logwrapper /system/bin/ftmdaemon
|
|
# class late_start
|
|
# user root
|
|
# group bluetooth net_bt_admin misc net_bt_stack qcom_diag
|
|
# disabled
|
|
# oneshot
|
|
|
|
#service bridgemgrd /system/bin/bridgemgrd
|
|
# class late_start
|
|
# user radio
|
|
# group radio qcom_diag
|
|
# disabled
|
|
|
|
#service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0
|
|
# class late_start
|
|
# user system
|
|
# group system inet
|
|
# disabled
|
|
|
|
# QMUX must be in multiple groups to support external process connections
|
|
service qmuxd /system/bin/qmuxd
|
|
class main
|
|
user radio
|
|
group radio audio bluetooth gps qcom_diag
|
|
|
|
service sensors /system/bin/sensors.qcom
|
|
class late_start
|
|
user root
|
|
group root
|
|
disabled
|
|
|
|
# Adjust socket buffer to enlarge TCP receive window for high bandwidth
|
|
# but only if ro.data.large_tcp_window_size property is set.
|
|
on property:ro.data.large_tcp_window_size=true
|
|
write /proc/sys/net/ipv4/tcp_adv_win_scale 2
|
|
|
|
# BRCM bt
|
|
# service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh
|
|
# class late_start
|
|
# user bluetooth
|
|
# group bluetooth net_bt_admin inet net_admin net_raw
|
|
# disabled
|
|
# oneshot
|
|
|
|
service amp_init /system/bin/amploader -i
|
|
class late_start
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
service amp_load /system/bin/amploader -l 7000
|
|
class late_start
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
service amp_unload /system/bin/amploader -u
|
|
class late_start
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
service wcnss-service /system/bin/wcnss_service
|
|
class late_start
|
|
user system
|
|
group system wifi qcom_diag radio
|
|
disabled
|
|
oneshot
|
|
|
|
service wpa_supplicant /system/bin/wpa_supplicant \
|
|
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
|
|
-I/system/etc/wifi/wpa_supplicant_overlay.conf \
|
|
-O/data/misc/wifi/sockets \
|
|
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
|
|
# we will start as root and wpa_supplicant will switch to user wifi
|
|
# after setting up the capabilities required for WEXT
|
|
# user wifi
|
|
# group wifi inet keystore
|
|
class main
|
|
socket wpa_wlan0 dgram 660 wifi wifi
|
|
disabled
|
|
group system wakelock
|
|
oneshot
|
|
|
|
service p2p_supplicant /system/bin/wpa_supplicant \
|
|
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
|
|
-I/system/etc/wifi/wpa_supplicant_overlay.conf -N \
|
|
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
|
|
-I/system/etc/wifi/p2p_supplicant_overlay.conf \
|
|
-O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
|
|
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
|
|
# we will start as root and wpa_supplicant will switch to user wifi
|
|
# after setting up the capabilities required for WEXT
|
|
# user wifi
|
|
# group wifi inet keystore
|
|
class main
|
|
socket wpa_wlan0 dgram 660 wifi wifi
|
|
disabled
|
|
group system wakelock
|
|
oneshot
|
|
|
|
service macloader /system/bin/macloader
|
|
class main late_start
|
|
oneshot
|
|
|
|
service ril-daemon /system/bin/rild
|
|
class main
|
|
socket rild stream 660 root radio
|
|
socket sap_uim_socket1 stream 660 bluetooth bluetooth
|
|
socket rild-debug stream 660 radio system
|
|
user root
|
|
group radio cache inet misc audio log wakelock qcom_diag
|
|
|
|
on property:wlan.driver.status=ok
|
|
start macloader
|
|
|
|
on property:init.svc.macloader=stopped
|
|
chown system root /data/.cid.info
|
|
chmod 0664 /data/.cid.info
|
|
chown system root /data/.rev
|
|
chmod 0664 /data/.rev
|
|
# end of wifi
|
|
|
|
service gpsone_daemon /system/bin/gpsone_daemon
|
|
class late_start
|
|
user gps
|
|
group gps qcom_oncrpc inet net_raw
|
|
disabled
|
|
|
|
service quipc_igsn /system/bin/quipc_igsn
|
|
class late_start
|
|
user gps
|
|
group inet gps
|
|
disabled
|
|
|
|
service quipc_main /system/bin/quipc_main
|
|
class late_start
|
|
user gps
|
|
group gps net_admin wifi inet
|
|
disabled
|
|
|
|
service location_mq /system/bin/location-mq
|
|
class late_start
|
|
user gps
|
|
group gps
|
|
disabled
|
|
|
|
service xtwifi_inet /system/bin/xtwifi-inet-agent
|
|
class late_start
|
|
user gps
|
|
group inet gps
|
|
disabled
|
|
|
|
service xtwifi_client /system/bin/xtwifi-client
|
|
class late_start
|
|
user gps
|
|
group net_admin wifi inet gps
|
|
disabled
|
|
|
|
service lowi-server /system/bin/lowi-server
|
|
class late_start
|
|
user gps
|
|
group gps net_admin wifi inet
|
|
disabled
|
|
|
|
service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh
|
|
class late_start
|
|
user root
|
|
group system fm_radio
|
|
disabled
|
|
oneshot
|
|
|
|
service drmdiag /system/bin/drmdiagapp
|
|
class late_start
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
on property:drmdiag.load=1
|
|
start drmdiag
|
|
|
|
on property:drmdiag.load=0
|
|
stop drmdiag
|
|
|
|
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
|
|
|
|
on property:sys.boot_completed=1
|
|
setprop sys.io.scheduler bfq
|
|
|
|
# Configure the hardware properly
|
|
write /sys/module/lpm_levels/enable_low_power/l2 4
|
|
write /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu0/retention/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu0/retention/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu1/retention/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu2/retention/suspend_enabled 1
|
|
write /sys/module/msm_pm/modes/cpu3/retention/suspend_enabled 1
|
|
write /sys/module/msm_thermal/core_control/enabled 1
|
|
|
|
# Start to configure the CPU governors
|
|
write /sys/module/msm_thermal/core_control/enabled 0
|
|
write /sys/devices/system/cpu/cpu1/online 1
|
|
write /sys/devices/system/cpu/cpu2/online 1
|
|
write /sys/devices/system/cpu/cpu3/online 1
|
|
|
|
# Conservative
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpufreq/conservative/down_threshold 65
|
|
write /sys/devices/system/cpu/cpufreq/conservative/freq_step 5
|
|
write /sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load 1
|
|
write /sys/devices/system/cpu/cpufreq/conservative/sampling_down_factor 1
|
|
write /sys/devices/system/cpu/cpufreq/conservative/sampling_rate 180000
|
|
write /sys/devices/system/cpu/cpufreq/conservative/sampling_rate_min 180000
|
|
write /sys/devices/system/cpu/cpufreq/conservative/up_threshold 90
|
|
|
|
# Interactive governor
|
|
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
|
|
|
|
write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000"
|
|
write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
|
|
write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1190400
|
|
write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1
|
|
write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70"
|
|
write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000
|
|
write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000
|
|
write /sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis 100000
|
|
write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 30000
|
|
|
|
# CPU Boost driver
|
|
|
|
# write /sys/module/cpu_boost/parameters/boost_ms 20
|
|
write /sys/module/cpu_boost/parameters/sync_threshold 1728000
|
|
write /sys/module/cpu_boost/parameters/input_boost_freq 1497600
|
|
write /sys/module/cpu_boost/parameters/input_boost_ms 500
|
|
|
|
# cpufreq
|
|
write /devices/system/cpu/cpu0/cpufreq/scaling_max_freq 2265600
|
|
write /devices/system/cpu/cpu1/cpufreq/scaling_max_freq 2265600
|
|
write /devices/system/cpu/cpu2/cpufreq/scaling_max_freq 2265600
|
|
write /devices/system/cpu/cpu3/cpufreq/scaling_max_freq 2265600
|
|
write /devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
|
|
write /devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
|
|
write /devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
|
|
write /devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
|
|
|
|
# End of governor configuration
|
|
write /sys/module/msm_thermal/core_control/enabled 1
|
|
|
|
chown root system /sys/devices/system/cpu/mfreq
|
|
chmod 220 /sys/devices/system/cpu/mfreq
|
|
chown root system /sys/devices/system/cpu/cpu1/online
|
|
chown root system /sys/devices/system/cpu/cpu2/online
|
|
chown root system /sys/devices/system/cpu/cpu3/online
|
|
chmod 664 /sys/devices/system/cpu/cpu1/online
|
|
chmod 664 /sys/devices/system/cpu/cpu2/online
|
|
chmod 664 /sys/devices/system/cpu/cpu3/online
|
|
write /dev/cpuctl/cpu.notify_on_migrate 1
|
|
|
|
# Configure the GPU
|
|
write 320000000 /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/devfreq/min_freq
|
|
|
|
# Post boot services
|
|
start mpdecision
|
|
|
|
# Symlink telephony.db and preferred-apn.xml
|
|
mkdir /data/data/com.android.providers.telephony/databases 0700 radio radio
|
|
mkdir /data/data/com.android.providers.telephony/shared_prefs 0700 radio radio
|
|
symlink /data/user_de/0/com.android.providers.telephony/databases/telephony.db /data/data/com.android.providers.telephony/databases/telephony.db
|
|
symlink /data/user_de/0/com.android.providers.telephony/shared_prefs/preferred-apn.xml /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml
|
|
|
|
service hdmid /system/bin/hdmid
|
|
class late_start
|
|
socket hdmid stream 0660 root system graphics
|
|
disabled
|
|
|
|
#service ppd /system/bin/mm-pp-daemon
|
|
# class late_start
|
|
# user system
|
|
# socket pps stream 0660 system system graphics
|
|
# group system graphics
|
|
|
|
service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf
|
|
class late_start
|
|
user root
|
|
group root
|
|
oneshot
|
|
disabled
|
|
|
|
service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D
|
|
class late_start
|
|
group radio wifi inet
|
|
disabled
|
|
oneshot
|
|
|
|
on property:persist.data.ds_fmc_app.mode=1
|
|
start ds_fmc_appd
|
|
|
|
service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative
|
|
class late_start
|
|
group qcom_oncrpc net_bt_admin inet radio wifi
|
|
disabled
|
|
|
|
on property:persist.ims.regmanager.mode=1
|
|
start ims_regmanager
|
|
|
|
on property:ro.data.large_tcp_window_size=true
|
|
# Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
|
|
write /proc/sys/net/ipv4/tcp_adv_win_scale 2
|
|
|
|
service battery_monitor /system/bin/battery_monitor
|
|
user system
|
|
group system
|
|
disabled
|
|
|
|
service ril-daemon1 /system/bin/rild -c 1
|
|
class main
|
|
socket rild1 stream 660 root radio
|
|
socket rild-debug1 stream 660 radio system
|
|
user root
|
|
disabled
|
|
group radio cache inet misc audio sdcard_r sdcard_rw qcom_oncrpc diag qcom_diag log
|
|
|
|
service profiler_daemon /system/bin/profiler_daemon
|
|
class late_start
|
|
user root
|
|
group root
|
|
disabled
|
|
|
|
service hcidump /system/bin/sh /system/etc/hcidump.sh
|
|
user bluetooth
|
|
group bluetooth system net_bt_admin net_admin
|
|
disabled
|
|
oneshot
|
|
|
|
service charger /charger
|
|
class charger
|
|
|
|
service hvdcp /system/bin/hvdcp
|
|
class core
|
|
user root
|
|
disabled
|
|
|
|
on property:persist.usb.hvdcp.detect=true
|
|
start hvdcp
|
|
|
|
on property:persist.usb.hvdcp.detect=false
|
|
stop hvdcp
|
|
|
|
# Disable SSR to SoC restart
|
|
on property:persist.sys.ssr.restart_level=1
|
|
write /sys/module/subsystem_restart/parameters/restart_level 1
|
|
# write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 0
|
|
write /sys/bus/msm_subsys/devices/subsys0/restart_level system
|
|
write /sys/bus/msm_subsys/devices/subsys1/restart_level system
|
|
write /sys/bus/msm_subsys/devices/subsys2/restart_level system
|
|
write /sys/bus/msm_subsys/devices/subsys3/restart_level system
|
|
|
|
# Enable SSR
|
|
on property:persist.sys.ssr.restart_level=3
|
|
write /sys/module/subsystem_restart/parameters/restart_level 3
|
|
# write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1
|
|
write /sys/bus/msm_subsys/devices/subsys0/restart_level related
|
|
write /sys/bus/msm_subsys/devices/subsys1/restart_level related
|
|
write /sys/bus/msm_subsys/devices/subsys2/restart_level related
|
|
write /sys/bus/msm_subsys/devices/subsys3/restart_level related
|
|
|
|
# Define fastmmi
|
|
service fastmmi /system/bin/mmi
|
|
user root
|
|
group root
|
|
disabled
|
|
oneshot
|
|
|
|
service fastmmisrv /system/bin/sh /init.qcom.factory.sh
|
|
user root
|
|
disabled
|
|
oneshot
|
|
|
|
on ffbm
|
|
start fastmmisrv
|
|
|
|
# bugreport is triggered by the KEY_VOL-UP and KEY_VOL-DOWN keycodes
|
|
service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
|
|
disabled
|
|
oneshot
|
|
keycodes 114 115
|
|
|
|
# CM Performance Profiles
|
|
|
|
# Powersave
|
|
on property:sys.perf.profile=0
|
|
stop mpdecision
|
|
write /sys/module/msm_thermal/core_control/enabled 0
|
|
write /sys/devices/system/cpu/cpu0/online 1
|
|
write /sys/devices/system/cpu/cpu1/online 1
|
|
write /sys/devices/system/cpu/cpu2/online 1
|
|
write /sys/devices/system/cpu/cpu3/online 1
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative
|
|
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative
|
|
write /sys/class/kgsl/kgsl-3d0/devfreq/governor "powersave"
|
|
write /sys/module/msm_thermal/core_control/enabled 1
|
|
start mpdecision
|
|
|
|
# Balanced
|
|
on property:sys.perf.profile=1
|
|
stop mpdecision
|
|
write /sys/module/msm_thermal/core_control/enabled 0
|
|
write /sys/devices/system/cpu/cpu0/online 1
|
|
write /sys/devices/system/cpu/cpu1/online 1
|
|
write /sys/devices/system/cpu/cpu2/online 1
|
|
write /sys/devices/system/cpu/cpu3/online 1
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
|
|
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
|
|
write /sys/class/kgsl/kgsl-3d0/devfreq/governor "msm-adreno-tz"
|
|
write /sys/module/msm_thermal/core_control/enabled 1
|
|
start mpdecision
|
|
|
|
# High performance
|
|
on property:sys.perf.profile=2
|
|
stop mpdecision
|
|
write /sys/module/msm_thermal/core_control/enabled 0
|
|
write /sys/devices/system/cpu/cpu0/online 1
|
|
write /sys/devices/system/cpu/cpu1/online 1
|
|
write /sys/devices/system/cpu/cpu2/online 1
|
|
write /sys/devices/system/cpu/cpu3/online 1
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance
|
|
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor performance
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor performance
|
|
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor performance
|
|
write /sys/class/kgsl/kgsl-3d0/devfreq/governor "performance"
|
|
write /sys/module/msm_thermal/core_control/enabled 1
|