blob: c4d4c9dfd9b7cbf7e0db8b2b35f64a43a968eda4 [file] [log] [blame]
#
# Copyright 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import init.shamu.usb.rc
import init.shamu.power.rc
import init.shamu.diag.rc
on early-init
mkdir /firmware 0771 system system
symlink /data/tombstones /tombstones
mount debugfs debugfs /sys/kernel/debug
chown system system /sys/kernel/debug/kgsl/proc
on init
# See storage config details at http://source.android.com/tech/storage/
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage/emulated 0555 root root
# Set permissions for persist partition
mkdir /persist 0771 system system
mkdir /firmware 0771 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
# Support legacy paths
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
on fs
mount_all fstab.shamu
restorecon_recursive /persist
setprop ro.crypto.fuse_sdcard true
# Keeping following partitions outside fstab file. As user may not have
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
wait /dev/block/platform/msm_sdcc.1/by-name/persist
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/persist /persist nosuid nodev barrier=1
mkdir /fsg 0755 root root
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/mdm1m9kefs3 /fsg ro nosuid nodev barrier=0
# Enable rmnet data and aggregation
setprop persist.rmnet.mux enabled
setprop persist.rmnet.data.enable true
setprop persist.data.wda.enable true
setprop persist.data.df.agg.dl_pkt 10
setprop persist.data.df.agg.dl_size 4096
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
mkdir /tombstones/lpass 0771 system system
mkdir /tombstones/wcnss 0771 system system
mkdir /tombstones/dsps 0771 system system
# SENSORS
#Create directory used by sensor subsystem(dsps)
mkdir /data/system/sensors
chmod 0775 /data/system/sensors
write /data/system/sensors/settings 1
chmod 0660 /data/system/sensors/settings
# AKM setting data
mkdir /data/misc/sensors
chmod 0775 /data/misc/sensors
mkdir /persist/sensors
chmod 0775 /persist/sensors
# Fingerprint sensor
mkdir /data/validity 0775 system system
mkdir /data/validity/fwext 0775 system system
symlink /system/vendor/lib/hw/ValidityPersistentData /data/validity/ValidityPersistentData
symlink /system/vendor/lib/hw/6_03f_moto.xefwext /data/validity/fwext/6_03f_moto.xefwext
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Allow subsystem (modem etc) debugging
write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
write /sys/kernel/boot_adsp/boot 1
# Subsytem Restart
#venus
write /sys/bus/msm_subsys/devices/subsys0/restart_level "related"
write /sys/bus/msm_subsys/devices/subsys0/recovery_policy "skip_restart"
#adsp
write /sys/bus/msm_subsys/devices/subsys1/restart_level "related"
write /sys/bus/msm_subsys/devices/subsys1/recovery_policy "skip_restart"
#vpu
write /sys/bus/msm_subsys/devices/subsys2/restart_level "related"
write /sys/bus/msm_subsys/devices/subsys2/recovery_policy "skip_restart"
#esoc0 (mdm)
write /sys/bus/msm_subsys/devices/subsys3/restart_level "related"
write /sys/bus/msm_subsys/devices/subsys3/recovery_policy "skip_restart"
on boot
insmod /system/lib/modules/adsprpc.ko
insmod /system/lib/modules/mhi.ko
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 /proc/bluetooth/sleep/lpm
chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite
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 bluetooth /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
#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
setprop wifi.interface wlan0
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576
#readable symlinks for video nodes
mkdir /dev/video
symlink /dev/video32 /dev/video/venus_dec
symlink /dev/video33 /dev/video/venus_enc
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
# Allow QMUX daemon to assign port open wait time
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
#port-bridge
chmod 0660 /dev/smd0
chown system system /dev/smd0
#BT DUN port-bridge
chmod 0660 /dev/smd7
chown bluetooth bluetooth /dev/smd7
#For bridgemgr daemon to inform the USB driver of the correct transport
chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576
setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
# Assign TCP buffer thresholds to be ceiling value of technology maximums
# Increased technology maximums should be reflected here.
write /proc/sys/net/core/rmem_max 2097152
write /proc/sys/net/core/wmem_max 2097152
#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
# NFC local data and nfcee xml storage
mkdir /data/nfc 0770 nfc nfc
mkdir /data/nfc/param 0770 nfc nfc
# Set the console loglevel to < KERN_INFO
# Set the default message loglevel to KERN_INFO
# write /proc/sys/kernel/printk "6 6 1 7"
write /sys/bus/platform/drivers/xhci_msm_hsic/unbind msm_hsic_host
write /sys/module/rmnet_usb/parameters/mux_enabled 1
write /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links 8
write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev 17
write /sys/module/rmnet_usb/parameters/rmnet_data_init 1
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
# Audio DSP permissions
chown media media /dev/ttyHS3
chown media media /sys/devices/c55_ctrl/gpio_ap_int/edge
chown media media /sys/devices/c55_ctrl/gpio_ap_int/value
chown media media /sys/devices/c55_ctrl/gpio_c55_int/value
chown media media /sys/devices/c55_ctrl/gpio_core/value
chown media media /sys/devices/c55_ctrl/gpio_reset/value
mkdir /data/adspd/ 0770 media media
mkdir /data/adspd/1 0770 media media
# subsystem ramdump collection
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
# msm specific files that need to be created on /data
on post-fs-data
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0770 media_rw media_rw
chown media_rw media_rw /data/media
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 directories used by CnE subsystem
mkdir /data/connectivity 0771 system system
chown system system /data/connectivity
mkdir /data/connectivity/nsrm 0771 system system
chown system system /data/connectivity/nsrm
# Create directory used by audio subsystem
mkdir /data/misc/audio 0770 audio 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
#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 gpsone_daemon services
mkdir /data/misc/gpsone_d 0770 system gps
#Create directories for QuIPS
mkdir /data/misc/quipc 0770 gps system
#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
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
# Export GPIO56 for fusion targets to enable/disable hub
service usbhub_init /system/bin/usbhub_init
class late_start
user root
disabled
oneshot
service qcomsysd /system/bin/qcom-system-daemon
class main
on property:persist.radio.atfwd.start=false
stop atfwd
on property:ro.board.platform=msm7630_fusion
start usbhub_init
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
on property:bluetooth.isEnabled=true
start btwlancoex
write /sys/class/bluetooth/hci0/idle_timeout 7000
on property:bluetooth.sap.status=running
start bt-sap
on property:bluetooth.sap.status=stopped
stop bt-sap
on property:bluetooth.dun.status=running
start bt-dun
on property:bluetooth.dun.status=stopped
stop bt-dun
on property:ro.bluetooth.ftm_enabled=true
start ftmd
on property:persist.env.fastdorm.enabled=true
setprop persist.radio.data_no_toggle 1
service cnd /system/bin/cnd
class late_start
socket cnd stream 660 root inet
service irsc_util /system/bin/irsc_util "/etc/sec_config"
class main
user root
oneshot
service mdm_helper /system/bin/mdm_helper
class core
onrestart setprop ro.service.mdm_helper_restarted "true"
service rmt_storage /system/bin/rmt_storage
class core
user root
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:wc_transport.start_hci=true
start start_hci_filter
on property:wc_transport.start_hci=false
stop start_hci_filter
service start_hci_filter /system/bin/wcnss_filter
class late_start
user bluetooth
group bluetooth
disabled
on property:bluetooth.hciattach=true
start hciattach
on property:bluetooth.hciattach=false
setprop bluetooth.status off
service hciattach_ath3k /system/bin/sh /system/etc/init.ath3k.bt.sh
class late_start
user bluetooth
group system bluetooth net_bt_admin misc
disabled
oneshot
service bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
class late_start
user bluetooth
group bluetooth net_bt_admin inet
disabled
oneshot
service bt-sap /system/bin/sapd 15
user bluetooth
group bluetooth net_bt_admin
class late_start
disabled
oneshot
service ftmd /system/bin/ftmdaemon
class late_start
user root
group bluetooth net_bt_admin misc net_bt_stack
disabled
oneshot
service bridgemgrd /system/bin/bridgemgrd
class late_start
user radio
group radio
service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0
class late_start
user system
group system inet
disabled
service qmiproxy /system/bin/qmiproxy
class main
user radio
group radio
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
service netmgrd /system/bin/netmgrd
class main
group radio
service qti /system/vendor/bin/qti
class main
disabled
service sensors /system/bin/sensors.qcom
class main
user root
group root
on property:ro.use_data_netmgrd=false
# netmgr not supported on specific target
stop netmgrd
# 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
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 p2p_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
-I/system/etc/wifi/p2p_supplicant_overlay.conf \
-O/data/misc/wifi/sockets \
-puse_p2p_group_interface=1p2p_device=1 -m/data/misc/wifi/p2p_supplicant.conf \
-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 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 -dddd \
-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 -ABKLG
class late_start
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
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 ptt_socket_app /system/bin/ptt_socket_app -d
class main
user root
group root
oneshot
service ptt_ffbm /system/bin/ptt_socket_app -f -d
user root
group root
disabled
oneshot
service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
class late_start
disabled
oneshot
service iprenew_bt-pan /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
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 gpsone_daemon /system/bin/gpsone_daemon
class late_start
user gps
group gps 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 adspd /system/bin/adspd /dev/ttyHS3
class late_start
socket adspdsock stream 0666 media media
user media
group media input
on property:crypto.driver.load=1
insmod /system/lib/modules/qce.ko
insmod /system/lib/modules/qcedev.ko
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-crda /system/bin/sh /system/etc/init.crda.sh
class late_start
user root
disabled
oneshot
on property:sys.boot_completed=1
start qcom-post-boot
on property:ro.debuggable=1
start ss_ramdump
service atfwd /system/bin/ATFWD-daemon
class late_start
user system
group system radio
service hostapd /system/bin/hostapd -dd /data/misc/wifi/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 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 profiler_daemon /system/bin/profiler_daemon
class late_start
user root
group root
disabled
# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
class late_start
service hcidump /system/bin/sh /system/etc/hcidump.sh
user bluetooth
group bluetooth system net_bt_admin net_admin
disabled
oneshot
on charger
write /sys/class/leds/lcd-backlight/brightness 100
service charger /charger
class charger
service ssr_diag /system/bin/ssr_diag
class late_start
user system
group system
# Define fastmmi
service fastmmi /system/bin/mmi
user root
group root
disabled
on ffbm
start fastmmisrv
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
service charger_monitor /system/bin/charger_monitor
user system
group system
disabled
service qlogd /system/xbin/qlogd
class main
disabled
on property:persist.sys.qlogd=1
start qlogd
on property:persist.sys.qlogd=0
stop qlogd
# Allow usb charging to be disabled peristently
on property:persist.usb.chgdisabled=1
write /sys/class/power_supply/battery/charging_enabled 0
on property:persist.usb.chgdisabled=0
write /sys/class/power_supply/battery/charging_enabled 1
service qrngd /system/bin/qrngd -f
class main
user root
group root
disabled
service qseecomd /system/bin/qseecomd
class core
user root
group root
service mpdecision /system/bin/mpdecision --no_sleep --avg_comp
user root
disabled
service ss_ramdump /system/bin/subsystem_ramdump
class main
user root
group root
disabled
service thermal-engine /system/bin/thermal-engine
class main
user root
group root
service security-check1 /sbin/security_boot_check system
class core
oneshot
service security-check2 /sbin/security_boot_check recovery
class core
oneshot
service time_daemon /system/bin/time_daemon
class late_start
user root
group root
service audiod /system/bin/audiod
class late_start
user system
group system
on property:init.svc.bootanim=stopped
start usf-post-boot
service qcamerasvr /system/bin/mm-qcamera-daemon
class late_start
user camera
group camera system inet input graphics
service bdAddrLoader /system/bin/bdAddrLoader -p ro.boot.btmacaddr -s -x
class main
user bluetooth
group system bluetooth
oneshot
on property:vold.decrypt=trigger_reset_main
stop gnss-svcd
# When QCA1530 is known not to present
on property:persist.qca1530=no
stop gnss-svcd
stop gnss-detect
write /sys/kernel/qca1530/chip_state 0
on property:init.svc.surfaceflinger=stopped
stop ppd
service mmi-touch-sh /system/bin/sh /init.mmi.touch.sh atmel
class late_start
user root
oneshot
# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -p -B \
-o /data/data/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116