# 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/libqc-opt.so|libshim_qcopt.so:/system/bin/rmt_storage|libshim_rmt_storage.so:/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 /mnt/sdcard 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 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 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 oneshot service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL class late_start disabled oneshot service dhcpcd_ibss /system/bin/dhcpcd -BKM class late_start disabled oneshot service dhcpcd_p2p /system/bin/dhcpcd -aABKL class late_start disabled oneshot service iprenew_wlan0 /system/bin/dhcpcd -n class late_start disabled oneshot service iprenew_p2p /system/bin/dhcpcd -n class late_start disabled oneshot service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL class late_start disabled oneshot service iprenew_eth0 /system/bin/dhcpcd -n class late_start disabled oneshot service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep1 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep2 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep3 /system/bin/dhcpcd -BKLG disabled oneshot service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG disabled oneshot #for WiFi MFG(TestMode) service mfgloader /system/bin/mfgloader class main disabled oneshot service wlandutservice /system/bin/wlandutservice class main user system group wifi net_raw net_admin system inet disabled oneshot service macloader /system/bin/macloader class main oneshot 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 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