android_device_samsung_mond.../rootdir/etc/init.qcom.rc
2016-11-30 18:23:16 +03:00

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