Skip to content

Instantly share code, notes, and snippets.

@vinecodes
Created March 8, 2018 18:58
Show Gist options
  • Save vinecodes/0ffbde818cbda3a92eab84489c16d024 to your computer and use it in GitHub Desktop.
Save vinecodes/0ffbde818cbda3a92eab84489c16d024 to your computer and use it in GitHub Desktop.
G4c mpdecision removal
# Copyright (c) 2009-2012, 2014-2015, 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.qcom.power.rc
import init.target.rc
import init.board.sensors.rc
on early-init
symlink /dev/diag_lge /dev/diag
mount debugfs debugfs /sys/kernel/debug
mkdir /firmware 0771 system system
mkdir /system 0777 root root
symlink /data/tombstones /tombstones
on init
export LD_SHIM_LIBS /system/lib/libril.so|liblge.so:/system/lib/libril.so|liblge.so:/system/vendor/lib/lib-imsvt.so|libshims_ims.so
# Set permissions for persist partition
mkdir /persist 0771 system system
mkdir /persist-lg 0771 system system
mkdir /sns 0775 system system
mkdir /mpt 0755 system system
symlink /sdcard /storage/sdcard0
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
chown system system /sys/class/leds/red/pattern_id
chmod 0664 /sys/class/leds/red/pattern_id
chown system system /sys/class/leds/red/brightness
chmod 0644 /sys/class/leds/red/brightness
on fs
mount_all fstab.qcom
mkdir /persist/data 0700 system system
restorecon_recursive /persist
setprop ro.crypto.fuse_sdcard true
# msm specific files that need to be created on /data
on post-fs-data
# Create directory for TZ Apps
mkdir /data/misc/qsee 0770 system system
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/misc/camera 0770 camera camera
mkdir /data/misc/ipa 0700 net_admin net_admin
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
chown dhcp system /data/misc/dhcp
# Create the directories used by CnE subsystem
mkdir /data/connectivity 0771 system system
chown system system /data/connectivity
# Create the directories used by DPM subsystem
mkdir /data/dpm 0771 system system
chown system system /data/dpm
mkdir /data/dpm/nsrm 0771 system system
chown system system /data/dpm/nsrm
# Create directory used by audio subsystem
mkdir /data/misc/audio 0770 audio audio
# Create directory used by the DASH client
mkdir /data/misc/dash 0770 media audio
# Create directory used by display clients
mkdir /data/misc/display 0770 system graphics
mkdir /persist/display 0770 system graphics
# 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
# Allow Torch app use torch
chown system system /sys/class/leds/led:flash_torch/brightness
chmod 0666 /sys/class/leds/led:flash_torch/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 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
mkdir /data/misc/location/gpsone_d 0770 system gps
mkdir /data/misc/location/quipc 0770 gps system
mkdir /data/misc/location/gsiff 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
#Create folder for qlogd
mkdir /data/misc/qlogd 0664
#Create folder for mm-qcamera-daemon
mkdir /data/camera 0770 media camera
#Create PERFD deamon related dirs
mkdir /data/misc/perfd 0755 root system
chmod 2755 /data/misc/perfd
mkdir /data/system/perfd 0770 root system
chmod 2770 /data/system/perfd
mkdir /persist/drm 0770 system system
# Sensor
mkdir /persist/sensors 0770 system system
#Create FM dir for patchdownloader
mkdir /data/misc/fm 0770 system system
chmod 0770 /data/misc/fm
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
mkdir /persist/data/sfs 0700 system system
mkdir /persist/data/tz 0700 system system
mkdir /data/misc/dts 0770 media audio
chown system system /mpt
chmod 0775 /mpt
# persist-lg
chown system system /persist-lg
chmod 0771 /persist-lg
chmod 0755 /sns
chown system system /sns
mkdir /data/misc/sensor 0775 system system
restorecon_recursive /data/misc/sensor
# Ugly sensors hack
write /sys/devices/virtual/input/lge_accelerometer/enable 1
write /sys/devices/virtual/input/lge_magnetometer/enable 1
write /sys/devices/virtual/input/lge_proximity/enable 1
write /sys/devices/virtual/input/lge_light/enable 1
#Proximity sensor
chown system system /sys/class/input/event0/device/enable
chmod 0660 /sys/class/input/event0/device/enable
#FM Radio
mkdir /data/misc/fm 0770 system system
chmod 0770 /data/misc/fm
service baseband-sh /system/bin/sh /init.baseband.sh
class late_start
user root
oneshot
disabled
write /proc/sys/vm/vfs_cache_pressure 10000
# restart qcamerasvr when restarting mediaserver and servicemanager
on property:init.svc.media=restarting
restart qcamerasvr
on property:init.svc.servicemanager=restarting
restart qcamerasvr
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/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
write /sys/kernel/boot_adsp/boot 1
chown root audio /sys/kernel/boot_adsp/boot
on boot
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
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 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 0644 /proc/cmdline
chmod 0660 /dev/ttyHS2
chown bluetooth bluetooth /dev/ttyHS2
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/device/extldo
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
#FM Radio
chmod 0644 /dev/radio0
chown fm_radio fm_radio /dev/radio0
setprop ro.fm.module QCT
#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 /persist/misc 0770 system system
#Create NETMGR daemon socket area
mkdir /dev/socket/netmgr 0750 radio radio
setprop wifi.interface wlan0
# permissions for NFC
chmod 0600 /dev/bcm2079x
chown nfc nfc /dev/bcm2079x
chmod 0600 /dev/pn547
chown nfc nfc /dev/pn547
setprop debug.nfc.fw_download "true"
setprop debug.nfc.fw_boot_download "false"
# HAL looks for pn54x but kernel driver uses pn547
symlink /dev/pn547 /dev/pn54x
# 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
#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,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
# 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 8388608
write /proc/sys/net/core/wmem_max 8388608
#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
# 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
# Mark the copy complete flag to not completed
write /data/misc/radio/copy_complete 0
chown radio radio /data/misc/radio/copy_complete
chmod 0660 /data/misc/radio/copy_complete
# Set the premission for idle_time
chown system graphics /sys/class/graphics/fb0/idle_time
chmod 0664 /sys/class/graphics/fb0/idle_time
write /dev/wcnss_wlan ""
# Flashlight
chown system system /sys/class/leds/torch-light/brightness
chmod 0666 /sys/class/leds/torch-light/brightness
# START touch_driver
chown system system /sys/devices/virtual/input/lge_touch/incoming_call
chmod 664 /sys/devices/virtual/input/lge_touch/incoming_call
chown system system /sys/devices/virtual/input/lge_touch/ime_status
chown system lgkeyguard /sys/devices/virtual/input/lge_touch/keyguard
chmod 664 /sys/devices/virtual/input/lge_touch/keyguard
chown system system /sys/devices/virtual/input/lge_touch/ts_noise_log_enable
chmod 664 /sys/devices/virtual/input/lge_touch/ts_noise_log_enable
chown system system /sys/devices/virtual/input/lge_touch/ts_noise
chmod 664 /sys/devices/virtual/input/lge_touch/ts_noise
chown system system /sys/devices/virtual/input/lge_touch/sensing_test
chmod 664 /sys/devices/virtual/input/lge_touch/sensing_test
chown system system /sys/devices/virtual/input/lge_touch/hidden_normal_cal_state
chmod 664 /sys/devices/virtual/input/lge_touch/hidden_normal_cal_state
chown system system /sys/devices/virtual/input/lge_touch/hidden_lpwg_cal_state
chmod 664 /sys/devices/virtual/input/lge_touch/hidden_lpwg_cal_state
# END touch_driver
# START touch_knock_on
chown system system /sys/devices/virtual/input/lge_touch/lpwg_data
chmod 664 /sys/devices/virtual/input/lge_touch/lpwg_data
chown system radio /sys/devices/virtual/input/lge_touch/lpwg_notify
chmod 664 /sys/devices/virtual/input/lge_touch/lpwg_notify
#write /sys/class/devices/virtual/input/lge_touch/lpwg_notify 1
chown system system /sys/devices/virtual/input/lge_touch/lpwg_test_info
chmod 644 /sys/devices/virtual/input/lge_touch/lpwg_test_info
chown system system /sys/devices/virtual/input/lge_touch/lpwg_test_ctrl
chmod 644 /sys/devices/virtual/input/lge_touch/lpwg_test_ctrl
chown system system /sys/devices/virtual/input/lge_touch/touch_wake_up_test
chmod 664 /sys/devices/virtual/input/lge_touch/touch_wake_up_test
chown system system /sys/devices/virtual/input/lge_touch/quick_cover_status
chmod 664 /sys/devices/virtual/input/lge_touch/quick_cover_status
chown system system /sys/devices/virtual/input/lge_touch/knock_on_type
chmod 664 /sys/devices/virtual/input/lge_touch/knock_on_type
chown system system /sys/devices/virtual/input/lge_touch/tap_to_wake
chmod 664 /sys/devices/virtual/input/lge_touch/tap_to_wake
# END touch_knock_on
# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
chown radio system /sys/android_power/acquire_full_wake_lock
chown radio system /sys/android_power/acquire_partial_wake_lock
chown radio system /sys/android_power/release_wake_lock
chown system system /sys/power/autosleep
chown system system /sys/power/state
chown system system /sys/power/wakeup_count
chown radio system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
# Assume SMP uses shared cpufreq policy for all CPUs
chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# vm_bms
chown root system /sys/class/power_supply/bms/current_now
chown root system /sys/class/power_supply/bms/voltage_ocv
chmod 0664 /sys/class/power_supply/bms/current_now
chmod 0664 /sys/class/power_supply/bms/voltage_ocv
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
on property:vold.decrypt=trigger_restart_framework
start config_bluetooth
service cnd /system/bin/cnd
class late_start
socket cnd stream 660 root inet
service dpmd /system/bin/dpmd
class late_start
socket dpmd stream 660 root system
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
service rfs_access /system/bin/rfs_access
class core
user root
group system net_raw
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
# QMUX must be in multiple groups to support external process connections
service qmuxd /system/bin/qmuxd
class main
user root
group radio audio bluetooth gps diag qcom_diag
service netmgrd /system/bin/netmgrd
class main
user root
group radio
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 p2p_supplicant /system/bin/wpa_supplicant \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
-I/system/etc/wifi/p2p_supplicant_overlay.conf -N \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
-I/system/etc/wifi/wpa_supplicant_overlay.conf \
-O/data/misc/wifi/sockets -puse_p2p_group_interface=1 -dd \
-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 -dd \
-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 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 hostapd /system/bin/hostapd -dd /data/hostapd/hostapd.conf
class late_start
user root
group root
oneshot
disabled
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 charger /sbin/healthd -c
class charger
critical
seclabel u:r:healthd:s0
service qcamerasvr /system/bin/mm-qcamera-daemon
class late_start
user camera
group camera system inet input graphics
service qseecomd /system/bin/qseecomd
class core
user root
group root
service perfd /system/vendor/bin/perfd
class main
user root
disabled
service thermal-engine /system/vendor/bin/thermal-engine
class main
user root
socket thermal-send-client stream 0666 system system
socket thermal-recv-client stream 0660 system system
socket thermal-recv-passive-client stream 0666 system system
group root
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
service ppd /system/bin/mm-pp-daemon
class late_start
disabled
user system
socket pps stream 0660 system system
group system graphics
on property:init.svc.surfaceflinger=stopped
stop ppd
on property:init.svc.surfaceflinger=running
start ppd
service wcnss-service /system/bin/wcnss_service
class main
user root
group system wifi
oneshot
# Sensor daemon
service sensord /system/bin/sensord
class main
user root
group system misc input root
on property:init.svc.zygote=restarting
restart sensord
service ril-daemon2 /system/bin/rild -c 2
class main
socket rild2 stream 660 root radio
socket rild-debug2 stream 660 radio system
user root
group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag log net_raw
service qcom-c_main-sh /system/bin/sh /init.class_main.sh
class main
user root
oneshot
on property:gsm.version.baseband=""
start baseband-sh
service vm_bms /system/bin/vm_bms
class main
user root
group root wakelock
service ims_rtp_daemon /system/bin/ims_rtp_daemon
class main
user system
socket ims_rtpd stream 0660 system radio
group radio diag diag inet log
disabled
on property:sys.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
service imscmservice /system/bin/imscmservice
class main
user system
group radio diag diag log
disabled
on property:sys.ims.DATA_DAEMON_STATUS=1
start imscmservice
service imsdatadaemon /system/bin/imsdatadaemon
class main
user system
socket ims_datad stream 0660 system radio
group system wifi radio inet log diag
disabled
on property:sys.ims.QMI_DAEMON_STATUS=1
start imsdatadaemon
service imsqmidaemon /system/bin/imsqmidaemon
class main
user system
socket ims_qmid stream 0660 system radio
group radio log diag
service fm_dl /system/bin/sh /init.qcom.fm.sh
class late_start
user system
group system
oneshot
service hwaddrs /system/bin/hwaddrs
class core
user root
group bluetooth wifi
oneshot
# Running hwaddrs under init is enforcing 0600, we need more
on property:init.svc.hwaddrs=stopped
chmod 644 /data/misc/wifi/config
chmod 644 /data/misc/bluetooth/bdaddr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment