android_device_oneplus_sm81.../rootdir/etc/init.qcom.rc

1279 lines
40 KiB
Plaintext

# Copyright (c) 2009-2012, 2014-2018, 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.
#
#ifdef VENDOR_EDIT
import /vendor/etc/init/hw/init.oem.rc
import /vendor/etc/init/hw/init.oem.debug.rc
#endif VENDOR_EDIT
#ifdef VENDOR_EDIT
import /vendor/etc/init/hw/init.oem.rc
import /vendor/etc/init/hw/init.oem.debug.rc
#endif VENDOR_EDIT
#ifdef VENDOR_EDIT
import /vendor/etc/init/hw/init.guacamoleg.rc
#endif VENDOR_EDIT
import /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.msm.usb.configfs.rc
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.qcom.factory.rc
import /vendor/etc/init/hw/init.qcom.test.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
# Change ownership of hw_recovery related nodes
chown system graphics /sys/kernel/debug/dri/0/debug/dump
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_reg
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dbgbus
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_vbif_dbgbus
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules-aging msm_11ad_proxy
on init
# Create cgroup mount point for memory
mkdir /sys/fs/cgroup/memory/bg 0750 root system
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
on post-fs
chmod 0755 /sys/kernel/debug/tracing
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Allow subsystem (modem etc) debugging
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_cdsp/boot 1
write /sys/kernel/boot_slpi/boot 1
exec u:r:qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
# SSR Setup
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
write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys6/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys7/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys8/restart_level RELATED
# for backward compatibility
chown system system /persist/sensors
chown system system /persist/sensors/registry
chown system system /persist/sensors/registry/registry
chown system system /persist/sensors/registry/registry/sensors_registry
chown system system /persist/sensors/sensors_settings
chown system system /persist/sensors/registry/config
chmod 0664 /persist/sensors/sensors_settings
chown system system /mnt/vendor/persist/sensors
chown system system /mnt/vendor/persist/sensors/sns.reg
chown system system /mnt/vendor/persist/sensors/sensors_list.txt
chown system system /mnt/vendor/persist/sensors/registry
chown system system /mnt/vendor/persist/sensors/registry/registry
chown system system /mnt/vendor/persist/sensors/registry/registry/sensors_registry
chown system system /mnt/vendor/persist/sensors/sensors_settings
chown system system /mnt/vendor/persist/sensors/registry/sns_reg_config
chown system system /mnt/vendor/persist/sensors/registry/sns_reg_version
chown system system /mnt/vendor/persist/sensors/registry/config
chmod 0664 /mnt/vendor/persist/sensors/sensors_settings
on property:ro.hardware.type=automotive
wait /sys/class/net/can0
start can
on boot
setprop vendor.camera.aux.packagelist org.codeaurora.snapcam,org.omnirom.snap,com.oneplus.camera,com.google.android.GoogleCamera
chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
chown bluetooth net_bt /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
chown system system /sys/module/msm_core/parameters/polling_interval
chown system system /sys/module/msm_core/parameters/disabled
chown system system /sys/kernel/debug/msm_core/enable
chown system system /sys/kernel/debug/msm_core/ptable
chown system system /sys/kernel/boot_slpi/ssr
chown system system /sys/kernel/boot_adsp/ssr
chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/module/bluetooth_power/parameters/power
chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /proc/bluetooth/sleep/proto
chown bluetooth net_bt /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
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
#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
mkdir /persist/drm 0770 system system
mkdir /mnt/vendor/persist/bluetooth 0770 bluetooth bluetooth
mkdir /persist/misc 0770 system system
mkdir /mnt/vendor/persist/alarm 0770 system system
mkdir /mnt/vendor/persist/time 0770 system system
mkdir /mnt/vendor/persist/secnvm 0770 system system
#Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
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
setprop ro.telephony.call_ring.multiple false
#Remove SUID bit for iproute2 ip tool
chmod 0755 /system/bin/ip
chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208
setprop net.tcp.buffersize.lte 2097152,4194304,8388608,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,524288,4096,16384,262144
setprop net.tcp.2g_init_rwnd 10
# 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 16777216
write /proc/sys/net/core/wmem_max 8388608
# 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
# Set the console loglevel to < KERN_INFO
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "6 6 1 7"
# Allow access for CCID command/response timeout configuration
chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
# bond0 used by FST Manager
chown wifi wifi /sys/class/net/bond0/bonding/queue_id
# Allow access to emmc rawdump block partition and dload sysfs node
chown root system /dev/block/bootdevice/by-name/rawdump
chmod 0660 /dev/block/bootdevice/by-name/rawdump
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /dev/block/bootdevice/by-name/ramdump
chmod 0660 /dev/block/bootdevice/by-name/ramdump
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
chown system system /sys/class/backlight/panel0-backlight/brightness
chown system system /sys/class/backlight/panel0-backlight/max_brightness
# Allow access to sensors device attributes
chown system system /sys/class/sensors/MPU6050-accel/enable
chown system system /sys/class/sensors/MPU6050-accel/poll_delay
chown system system /sys/class/sensors/MPU6050-gyro/enable
chown system system /sys/class/sensors/MPU6050-gyro/poll_delay
chown system system /sys/class/sensors/apds9930-light/enable
chown system system /sys/class/sensors/apds9930-light/poll_delay
chown system system /sys/class/sensors/apds9930-proximity/enable
chown system system /sys/class/sensors/apds9930-proximity/poll_delay
# Create directory used for display
# for backward compatibility
mkdir /persist/display 0770 system graphics
mkdir /mnt/vendor/persist/display 0770 system graphics
# Create vpp directory
mkdir /mnt/vendor/persist/vpp 0770 media media
# Create hvdcp_opti directory
mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
# sensors log dir
mkdir /data/vendor/sensors
chown system system /data/vendor/sensors
# msm specific files that need to be created on /data
on post-fs-data
mkdir /data/vendor/misc 01771 system system
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
# Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
# Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media
# create QDMA dropbox
mkdir /data/vendor/qdmastats 0700 system system
mkdir /data/vendor/qdma 0770 system system
mkdir /dev/socket/qdma 0777 system system
chmod 2777 /dev/socket/qdma
# Create /data/vendor/tzstorage directory for SFS listener
mkdir /data/vendor/tzstorage 0770 system system
# Create directory for apps access via QTEEConnector
mkdir /data/vendor/qtee 0770 system system
#Create folder of camera
mkdir /data/vendor/camera 0770 camera camera
#Create directory for tftp
mkdir /data/vendor/tombstones 0771 system system
mkdir /data/vendor/ramdump 0771 root system
mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
# Create the directories used by the Wireless subsystem
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/sockets 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
#create port-bridge log dir
mkdir /data/vendor/port_bridge 0770 radio radio
chmod 0770 /data/vendor/port_bridge
#create netmgr log dir
mkdir /data/vendor/netmgr 0770 radio radio
chmod 0770 /data/vendor/netmgr
#create ipacm log dir
mkdir /data/vendor/ipa 0770 radio radio
chmod 0770 /data/vendor/ipa
#Create QTI dir for logs
mkdir /data/vendor/dataqti 0770 radio radio
chmod 0770 /data/vendor/dataqti
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
# Create directory used by audio subsystem
mkdir /data/vendor/audio 0770 audio audio
# Create directory for audio delta files
mkdir /data/vendor/audio/acdbdata 0770 media audio
mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
# Create directory for radio
mkdir /data/vendor/radio 0770 system radio
# Create directory for modem_config
mkdir /data/vendor/modem_config 0570 radio root
# 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 root system /persist
chmod 0771 /persist
chown system system /persist/WCNSS_qcom_wlan_nv.bin
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
#symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
#Create directories for Location services
mkdir /data/vendor/location 0770 gps gps
mkdir /data/vendor/location/mq 0770 gps gps
mkdir /data/vendor/location/xtwifi 0770 gps gps
mkdir /dev/socket/location 0770 gps gps
mkdir /dev/socket/location/mq 0770 gps gps
mkdir /dev/socket/location/xtra 0770 gps gps
mkdir /data/vendor/location-partner 0770 gps gps
mkdir /data/vendor/location-partner/dre 0770 gps gps
mkdir /data/vendor/location-partner/ppe 0770 gps gps
mkdir /dev/socket/location 0770 gps gps
mkdir /dev/socket/location/ehub 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 /data/time folder for time-services
mkdir /data/vendor/time/ 0700 system system
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
#Create FM dir for patchdownloader
mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system
#Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system
# Mark the copy complete flag to not completed
write /data/vendor/radio/copy_complete 0
chown radio radio /data/vendor/radio/copy_complete
chmod 0660 /data/vendor/radio/copy_complete
# copy prebuilt qcril.db files always
copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
chown radio radio /data/vendor/radio/qcril_prebuilt.db
chmod 0660 /data/vendor/radio/qcril_prebuilt.db
# File flags for prebuilt ril db file
write /data/vendor/radio/prebuilt_db_support 1
chown radio radio /data/vendor/radio/prebuilt_db_support
chmod 0400 /data/vendor/radio/prebuilt_db_support
write /data/vendor/radio/db_check_done 0
chown radio radio /data/vendor/radio/db_check_done
chmod 0660 /data/vendor/radio/db_check_done
# qti-logkit data
mkdir /data/vendor/qti-logkit/ 0771 system system
mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag
mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag
mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell
#Create SWAP related dirs
mkdir /data/vendor/swap 0770 root system
chmod 2770 /data/vendor/swap
# set aggressive read ahead for dm-0 and dm-1 during boot up
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/block/dm-2/queue/read_ahead_kb 2048
# Create vpp directory
mkdir /data/vendor/vpp 0770 media media
#Create dir for TUI
mkdir /data/vendor/tui 0700 system system
#Start move time data to /data/vendor once post-fs-data done
start vendor.move_time_data
#Start move_wifi_data service.
start vendor.move_wifi_data
service nqnfcinfo /system/vendor/bin/nqnfcinfo
class late_start
group nfc
user system
oneshot
service iop /system/vendor/bin/iop
class main
user root
group root
disabled
socket iop seqpacket 0666 root system
service qcomsysd /system/vendor/bin/qcom-system-daemon
class main
user root
group root diag oem_2901
disabled
on property:persist.vendor.qcomsysd.enabled=1
enable qcomsysd
on property:persist.vendor.qcomsysd.enabled=0
stop qcomsysd
service vendor.ssr_setup /system/vendor/bin/ssr_setup
oneshot
disabled
service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump
class main
user system
group system
disabled
on property:ro.vendor.iocgrp.config=1
mkdir /dev/blkio
mount cgroup none /dev/blkio blkio
chown system system /dev/blkio
chown system system /dev/blkio/tasks
chmod 0664 /dev/blkio/tasks
mkdir /dev/blkio/bg 0755 system system
chown system system /dev/blkio/bg/tasks
chmod 0664 /dev/blkio/bg/tasks
write /dev/blkio/blkio.weight 1000
write /dev/blkio/bg/blkio.weight 100
on property:persist.vendor.sys.ssr.enable_debug=*
write /sys/module/subsystem_restart/parameters/enable_debug ${persist.vendor.sys.ssr.enable_debug}
on property:persist.vendor.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.vendor.sys.mba_boot_timeout}
on property:persist.vendor.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.vendor.sys.modem_auth_timeout}
on property:persist.vendor.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.vendor.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.restart_level=*
start vendor.ssr_setup
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
mkdir /data/vendor/ramdump_ssr 770 system system
start vendor.ss_ramdump
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0 and dm-1 to 512kb
write /sys/block/dm-0/queue/read_ahead_kb 512
write /sys/block/dm-1/queue/read_ahead_kb 512
#WDSP FW boot sysfs node used by STHAL
chown media audio /sys/kernel/wdsp0/boot
chown media audio /sys/kernel/wcd_cpe0/fw_name
on property:persist.vendor.radio.atfwd.start=false
stop vendor.atfwd
on property:vendor.radio.atfwd.start=false
stop vendor.atfwd
# corefile limit
on property:persist.debug.trace=1
mkdir /data/core 0777 root root
write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e"
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
on property:vendor.bluetooth.dun.status=running
start vendor.bt-dun
on property:vendor.bluetooth.dun.status=stopped
stop vendor.bt-dun
on property:ro.bluetooth.ftm_enabled=true
start ftmd
on property:vendor.bluetooth.startbtsnoop=true
start vendor.btsnoop
on property:vendor.bluetooth.startbtsnoop=false
stop vendor.btsnoop
on property:vendor.bluetooth.startbtlogger=true
start vendor.bt_logger
on property:vendor.bluetooth.startbtlogger=false
stop vendor.bt_logger
service qcom-c_core-sh /vendor/bin/init.qcom.class_core.sh
class core
user root
oneshot
service qcom-c_main-sh /vendor/bin/init.class_main.sh
class main
user root
oneshot
service qcom-c_late-sh /vendor/bin/init.class_late.sh
class late_start
user root
oneshot
on property:vold.decrypt=trigger_restart_framework
start qcom-c_main-sh
start wcnss-service
start qcom-c_late-sh
on property:persist.env.fastdorm.enabled=true
setprop persist.radio.data_no_toggle 1
service vendor.cnd /system/vendor/bin/cnd
class main
user system
group system wifi inet radio wakelock net_admin
service dpmQmiMgr /system/vendor/bin/dpmQmiMgr
class main
user system
group system
service vendor.qrtr-ns /vendor/bin/qrtr-ns -f
class core
user vendor_qrtr
group vendor_qrtr
capabilities NET_BIND_SERVICE
service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
class core
user root
oneshot
service vendor.rmt_storage /vendor/bin/rmt_storage
class core
user root
shutdown critical
ioprio rt 0
service vendor.tftp_server /vendor/bin/tftp_server
class core
user root
service vendor.bt-dun /system/bin/dun-server /dev/smd7 /dev/rfcomm0
class late_start
user bluetooth
group bluetooth net_bt_admin inet
disabled
oneshot
service vendor.btsnoop /system/bin/btsnoop
user bluetooth
group bluetooth net_bt_admin sdcard_rw sdcard_r media_rw
class late_start
disabled
oneshot
service vendor.bt_logger /system/bin/bt_logger
user bluetooth
group bluetooth net_bt_admin sdcard_rw sdcard_r media_rw
class late_start
disabled
oneshot
service ftmd /system/bin/logwrapper /system/bin/ftmdaemon
class late_start
user root
group bluetooth net_bt_admin misc diag net_bt
disabled
oneshot
service vendor.port-bridge /system/vendor/bin/port-bridge
class main
user radio
group radio system inet
disabled
oneshot
service qmiproxy /system/bin/qmiproxy
class main
user radio
group radio diag
disabled
# QMUX must be in multiple groups to support external process connections
service vendor.qmuxd /system/vendor/bin/qmuxd
class main
user root
group radio audio bluetooth gps nfc diag
disabled
service vendor.netmgrd /system/vendor/bin/netmgrd
class main
disabled
service vendor.ipacm-diag /system/vendor/bin/ipacm-diag
class main
user radio
socket ipacm_log_file dgram 660 radio radio
group radio diag oem_2901
disabled
service vendor.ipacm /system/vendor/bin/ipacm
class main
user radio
group radio inet
disabled
service vendor.sensors /vendor/bin/sscrpcd sensorspd
class early_hal
user system
group system
service vendor.sensors.qti /vendor/bin/sensors.qti
class core
user system
group system
disabled
on property:ro.vendor.use_data_netmgrd=false
# netmgr not supported on specific target
stop vendor.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
on property:sys.sysctl.tcp_adv_win_scale=*
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
-g@android:vendor_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
interface android.hardware.wifi.supplicant@1.0::ISupplicant default
interface android.hardware.wifi.supplicant@1.1::ISupplicant default
class main
socket vendor_wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wpa_wigig0 \
-S wigigsvc
# 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_wigig0 dgram 660 wifi wifi
disabled
oneshot
# Data Migration
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
class main
user wifi
group wifi
oneshot
# FST Manager with hostapd (softap) - all settings inside ini file
service fstman /vendor/bin/fstman -B -ddd -c /data/vendor/wifi/fstman.ini -a 1
user wifi
group wifi
capabilities NET_ADMIN NET_RAW
class main
disabled
oneshot
# FST Manager with supplicant - connect to supplicant socket
service fstman_wlan0 /vendor/bin/fstman -B -ddd -c /data/vendor/wifi/fstman.ini \
-a 0 @android:vendor_wpa_wlan0
user wifi
group wifi
capabilities NET_ADMIN NET_RAW
class main
disabled
oneshot
service wigighalsvc /vendor/bin/wigighalsvc
interface vendor.qti.hardware.wigig.supptunnel@1.0::ISuppTunnelProvider default
class hal
user system
group wifi
# needed for on-demand insmod/rmmod of wigig module
capabilities SYS_MODULE
disabled
service wigignpt /vendor/bin/wigignpt
interface vendor.qti.hardware.wigig.netperftuner@1.0::INetPerfTuner default
class hal
socket wigignpt stream 660 system wifi
user system
group wifi
capabilities NET_ADMIN
disabled
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG
class late_start
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_bond0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service iprenew_wigig0 /system/bin/dhcpcd -n
class late_start
disabled
oneshot
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user wifi
group wifi system inet net_admin
capabilities NET_ADMIN
oneshot
service ptt_ffbm /system/vendor/bin/ptt_socket_app -f -d
user root
group root
disabled
oneshot
service wifi_ftmd /system/vendor/bin/wifi_ftmd
user system
group system inet net_admin
socket wififtmd_server dgram 0660 system system
disabled
oneshot
on property:vendor.wifi.ftmd.load=true
insmod /system/lib/modules/pronto/pronto_wlan.ko con_mode=5
on property:persist.vendor.data.shs_ko_load=1
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules rmnet_shs
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules-aging rmnet_shs
on property:persist.vendor.data.shs_ko_load=0
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules rmnet_shs
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules-aging rmnet_shs
on property:persist.vendor.data.perf_ko_load=1
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules rmnet_perf
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules-aging rmnet_perf
on property:persist.vendor.data.perf_ko_load=0
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules rmnet_perf
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules-aging rmnet_perf
service cnss-daemon /system/vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
capabilities NET_ADMIN
on property:sys.shutdown.requested=*
stop cnss-daemon
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
#ifdef VENDOR_EDIT
#Disable connection security service
#service ssgqmigd /vendor/bin/ssgqmigd
# class late_start
# user radio
# group radio gps system
# socket ssgqmig seqpacket 0660 radio inet
#
#service ssgtzd /vendor/bin/ssgtzd
# class late_start
# user system
# group system
# socket ssgtzd stream 0660 system inet
#endif
service mlid /vendor/bin/mlid
class late_start
user gps
group gps
socket mlid stream 0666 gps gps
service vendor.qdmastatsd /system/vendor/bin/qdmastatsd
class late_start
user system
group readproc system net_bw_stats radio vendor_rfs_shared
service loc_launcher /system/vendor/bin/loc_launcher
class late_start
user gps
group gps
on property:crypto.driver.load=1
insmod /system/lib/modules/qce.ko
insmod /system/lib/modules/qcedev.ko
#yanweibo begin to delete no useful service since phone do not have drmdiagapp file
#service drmdiag /system/vendor/bin/drmdiagapp
# class late_start
# user root
# disabled
# oneshot
#yanweibo end
on property:drmdiag.load=1
start drmdiag
on property:drmdiag.load=0
stop drmdiag
service qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root
group root system radio
oneshot
service vendor-sensor-sh /vendor/bin/init.qcom.sensors.sh
class core
user root
oneshot
service crashdata-sh /vendor/bin/init.qcom.crashdata.sh
class late_start
user root
oneshot
service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
class late_start
user root
group root system wakelock graphics
disabled
oneshot
service qti-testscripts /system/bin/sh /system/etc/init.qcom.testscripts.sh
class late_start
user root
disabled
oneshot
seclabel u:r:qti-testscripts:s0
service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh
class late_start
group wifi inet
disabled
oneshot
service wifi-crda /vendor/bin/init.crda.sh
class late_start
user root
disabled
oneshot
on property:sys.boot_completed=1
start qcom-post-boot
start qti-testscripts
on property:ro.vendor.ril.mbn_copy_completed=1
write /data/vendor/radio/copy_complete 1
service qvop-daemon /vendor/bin/qvop-daemon
class late_start
user system
group system drmrpc
service vendor.atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
disabled
service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
interface android.hardware.wifi.hostapd@1.0::IHostapd default
class main
capabilities NET_ADMIN NET_RAW
user wifi
group wifi
disabled
oneshot
service vendor.wigig_hostapd /vendor/bin/hw/hostapd -dd -j wigighostapd /data/vendor/wifi/hostapd/wigig_hostapd.conf
class late_start
capabilities NET_ADMIN NET_RAW
user wifi
group wifi inet keystore
oneshot
disabled
service ims_regmanager /system/vendor/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 vendor.ril-daemon2 /vendor/bin/hw/rild -c 2
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service profiler_daemon /system/bin/profiler_daemon
class late_start
user root
group root
disabled
service can /vendor/bin/init.qti.can.sh
class late_start
user root
disabled
oneshot
service charger /charger
class charger
group system graphics
seclabel u:r:healthd:s0
service vendor.ssr_diag /system/vendor/bin/ssr_diag
class late_start
user system
group system
disabled
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 root
group root
disabled
service qbcharger /charger -m 1
disabled
oneshot
on property:sys.qbcharger.enable=true
start qbcharger
on property:sys.qbcharger.enable=false
stop qbcharger
service diag_mdlog_start /system/vendor/bin/diag_mdlog -c
class late_start
user shell
group system diag sdcard_rw sdcard_r media_rw oem_2901
disabled
oneshot
service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k
class late_start
user shell
group system diag sdcard_rw sdcard_r media_rw oem_2901
disabled
oneshot
service qlogd /system/xbin/qlogd
socket qlogd stream 0662 system system
class main
disabled
on property:persist.sys.qlogd=1
start qlogd
on property:persist.sys.qlogd=0
stop qlogd
service vm_bms /vendor/bin/vm_bms
user root
group root
disabled
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled
service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_little_big.conf
class core
user root
group root
disabled
service vendor.msm_irqbl_sdm630 /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_sdm630.conf
class core
user root
group root
disabled
# service for USERDEBUG
service vendor.LKCore-dbg /vendor/bin/LKCore
class late_start
oneshot
disabled
user root
group root system log diag net_raw
# service for USER
service vendor.LKCore-rel /vendor/bin/LKCore
class late_start
oneshot
disabled
user system
group system log diag
service qseeproxydaemon /system/vendor/bin/qseeproxydaemon
class late_start
user system
group system
service esepmdaemon /system/vendor/bin/esepmdaemon
class core
user system
group nfc
on charger
setprop persist.sys.usb.config mass_storage
load_system_props
start qcom-post-boot
#add poweroffhandler
service poweroffhandler /system/vendor/bin/poweroffhandler
class core
user media
group graphics audio
disabled
oneshot
#Mixed HWC versions among targets
on property:init.svc.surfaceflinger=restarting
stop vendor.hwcomposer-2-1
stop vendor.hwcomposer-2-2
start vendor.hwcomposer-2-1
start vendor.hwcomposer-2-2
on property:vendor.display.lcd_density=*
setprop ro.sf.lcd_density ${vendor.display.lcd_density}
service time_daemon /system/vendor/bin/time_daemon
class main
user root
group root
service vendor.vppservice /vendor/bin/vppservice
class main
user media
group camera
# Set vendor-ril lib path based on Meta version
on property:vendor.rild.libpath=*
setprop rild.libpath ${vendor.rild.libpath}
on property:ro.vendor.radio.noril=*
setprop ro.radio.noril ${ro.vendor.radio.noril}
#service seemp_healthd /vendor/bin/seemp_healthd
# class late_start
# user system
# group system
service vendor.power_off_alarm /vendor/bin/power_off_alarm
class core
group system
disabled
oneshot
service vendor.move_time_data /system/bin/move_time_data.sh
class main
user system
group system
disabled
oneshot
service vendor.hbtp /vendor/bin/hbtp_daemon
class main
user system
group system
capabilities SYS_NICE
disabled
service chre /vendor/bin/chre
class late_start
user system
group system
socket chre seqpacket 0660 root system
shutdown critical
on property:vendor.chre.enabled=0
stop chre
service bugreport /system/bin/dumpstate -d -p -B -z -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116
#Set GPU Opengles version
on property:vendor.opengles.version=*
setprop ro.opengles.version ${vendor.opengles.version}
#Set gpu available frequencies property
on property:vendor.gpu.available_frequencies=*
setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}
service vendor.wifilearner /system/vendor/bin/wifilearner
class main
user wifi
group wifi
oneshot
service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service
override
class hal
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock
capabilities BLOCK_SUSPEND
ioprio rt 4
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
# audioflinger restarts itself when it loses connection with the hal
# and its .rc file has an "onrestart restart audio-hal" rule, thus
# an additional auto-restart from the init process isn't needed.
oneshot
interface android.hardware.audio@4.0::IDevicesFactory default
interface android.hardware.audio@2.0::IDevicesFactory default
service dashd /sbin/dashd
class core
critical
seclabel u:r:dashd:s0
group root system