95b673a2dd
Use /data/vendor partition to hold vendor radio data. Modify radio related init rc and scripts. Change-Id: I6518e276f68d405151b1b124de6a0ca1b759d951
456 lines
15 KiB
Text
456 lines
15 KiB
Text
# Copyright (c) 2009-2012, 2014-2016, 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.power.rc
|
|
import init.qcom.usb.rc
|
|
import init.target.rc
|
|
import init.device.rc
|
|
|
|
on early-init
|
|
mount debugfs debugfs /sys/kernel/debug
|
|
chmod 0755 /sys/kernel/debug
|
|
chown root system /dev/kmsg
|
|
chmod 0620 /dev/kmsg
|
|
|
|
on init
|
|
# Set permissions for persist partition
|
|
mkdir /persist 0771 root system
|
|
|
|
# Support legacy path
|
|
symlink /sdcard /storage/sdcard0
|
|
|
|
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
|
|
|
|
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_slpi/boot 1
|
|
chown root audio /sys/kernel/boot_adsp/boot
|
|
|
|
# Graphics
|
|
chown system graphics /sys/class/graphics/fb0/idle_time
|
|
chmod 0664 /sys/class/graphics/fb0/idle_time
|
|
chown system graphics /sys/class/graphics/fb0/dynamic_fps
|
|
chmod 0664 /sys/class/graphics/fb0/dynamic_fps
|
|
chown system graphics /sys/class/graphics/fb0/dyn_pu
|
|
chmod 0664 /sys/class/graphics/fb0/dyn_pu
|
|
chown system graphics /sys/class/graphics/fb0/modes
|
|
chmod 0664 /sys/class/graphics/fb0/modes
|
|
chown system graphics /sys/class/graphics/fb0/mode
|
|
chmod 0664 /sys/class/graphics/fb0/mode
|
|
chown system graphics /sys/class/graphics/fb0/msm_cmd_autorefresh_en
|
|
chmod 0664 /sys/class/graphics/fb0/msm_cmd_autorefresh_en
|
|
|
|
on boot
|
|
chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
|
|
chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
|
|
|
|
# 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/display 0770 system graphics
|
|
mkdir /persist/drm 0770 system system
|
|
mkdir /persist/bluetooth 0770 bluetooth bluetooth
|
|
mkdir /persist/misc 0770 system system
|
|
mkdir /persist/alarm 0770 system system
|
|
mkdir /persist/time 0770 system system
|
|
|
|
# Create NETMGR daemon socket area
|
|
mkdir /dev/socket/netmgr 0750 radio radio
|
|
|
|
# Prevent permission denied error for telephony
|
|
chmod 0644 /proc/cmdline
|
|
|
|
# enable camera read sensors data
|
|
setprop persist.camera.gyro.disable 0
|
|
|
|
# Remove SUID bit for iproute2 ip tool
|
|
chmod 0755 /system/bin/ip
|
|
|
|
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 8388608
|
|
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
|
|
|
|
# Allow access to dload sysfs node
|
|
chown root system /sys/kernel/dload/emmc_dload
|
|
chmod 0660 /sys/kernel/dload/emmc_dload
|
|
|
|
# Goodix Fingerprint
|
|
chown system system /dev/goodix_fp
|
|
chmod 0644 /dev/goodix_fp
|
|
|
|
setprop persist.sys.fp.vendor none
|
|
start gx_fpd
|
|
|
|
# IR blaster
|
|
chown root system /sys/class/leds/infrared/transmit
|
|
chown root system /sys/class/leds/infrared/brightness
|
|
|
|
# Notification LEDs
|
|
chown root system /sys/class/leds/red/blink
|
|
chown root system /sys/class/leds/green/blink
|
|
chown root system /sys/class/leds/blue/blink
|
|
|
|
# Wifi firmware reload path
|
|
chown wifi wifi /sys/module/wlan/parameters/fwpath
|
|
|
|
# msm specific files that need to be created on /data
|
|
on post-fs-data
|
|
# Create directory used by display clients
|
|
mkdir /data/vendor/display 0770 system graphics
|
|
|
|
# Create directory used by media clients
|
|
mkdir /data/vendor/media 0770 mediacodec media
|
|
|
|
#Create directories for Fingerprint
|
|
mkdir /data/misc/stargate 0770 system system
|
|
mkdir /data/misc/stargate/bg_estimation 0770 system system
|
|
mkdir /data/misc/stargate/calib_test 0770 system system
|
|
mkdir /data/misc/stargate/database 0770 system system
|
|
|
|
# Create directory for TZ Apps
|
|
mkdir /data/misc/qsee 0770 system system
|
|
|
|
#Create folder for mm-qcamera-daemon
|
|
mkdir /data/misc/camera 0770 camera camera
|
|
|
|
mkdir /data/media 0770 media_rw media_rw
|
|
chown media_rw media_rw /data/media
|
|
|
|
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/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 netmgr log dir
|
|
mkdir /data/vendor/netmgr 0770 radio radio
|
|
chmod 0770 /data/vendor/netmgr
|
|
|
|
# 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 for audio delta files
|
|
mkdir /data/misc/audio/acdbdata 0770 media audio
|
|
mkdir /data/misc/audio/acdbdata/delta 0770 media audio
|
|
|
|
# Create directory for radio
|
|
mkdir /data/vendor/radio 0770 system radio
|
|
|
|
# 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
|
|
|
|
# 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 /data/time folder for time-services
|
|
mkdir /data/time/ 0700 system system
|
|
|
|
mkdir /data/audio/ 0770 media audio
|
|
|
|
# Create a folder for audio delta files
|
|
mkdir /data/audio/acdbdata 0770 media audio
|
|
mkdir /data/audio/acdbdata/delta 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 FM dir for patchdownloader
|
|
mkdir /data/misc/fm 0770 system system
|
|
chmod 0770 /data/misc/fm
|
|
|
|
# Create PERFD deamon related dirs
|
|
mkdir /data/system/perfd 0770 root system
|
|
chmod 2770 /data/system/perfd
|
|
rm /data/system/perfd/default_values
|
|
start perfd
|
|
|
|
# Create IOP deamon related dirs
|
|
mkdir /data/misc/iop 0770 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
|
|
|
|
# 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
|
|
|
|
# Sensors
|
|
chmod 0775 /persist/sensors
|
|
chmod 0664 /persist/sensors/sensors_settings
|
|
chown system root /persist/sensors/sensors_settings
|
|
|
|
mkdir /data/misc/sensors
|
|
chmod 0775 /data/misc/sensors
|
|
|
|
service perfd /system/vendor/bin/perfd
|
|
class main
|
|
user root
|
|
group root readproc
|
|
disabled
|
|
socket perfd seqpacket 0666 root system
|
|
|
|
service iop /vendor/bin/iop
|
|
class main
|
|
user root
|
|
group root
|
|
disabled
|
|
socket iop seqpacket 0666 root system
|
|
|
|
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
|
|
# CPE fw_name used by sound trigger HAL
|
|
chown media audio /sys/kernel/wcd_cpe0/fw_name
|
|
|
|
on property:vold.decrypt=trigger_restart_framework
|
|
start config_bt_addr
|
|
start config_bluetooth
|
|
start wcnss-service
|
|
|
|
on property:persist.env.fastdorm.enabled=true
|
|
setprop persist.radio.data_no_toggle 1
|
|
|
|
service cnd /vendor/bin/cnd
|
|
class main
|
|
socket cnd stream 660 root inet
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service dpmd /vendor/bin/dpmd
|
|
class late_start
|
|
socket dpmd stream 660 root system
|
|
group system readproc
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
|
|
class core
|
|
user root
|
|
oneshot
|
|
|
|
service rmt_storage /vendor/bin/rmt_storage
|
|
class core
|
|
user root
|
|
group system wakelock
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service tftp_server /vendor/bin/tftp_server
|
|
class main
|
|
user root
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service config_bt_addr /vendor/bin/btnvtool -O
|
|
class core
|
|
user bluetooth
|
|
group bluetooth radio
|
|
oneshot
|
|
|
|
service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh
|
|
class late_start
|
|
user bluetooth
|
|
group bluetooth net_bt_admin
|
|
disabled
|
|
seclabel u:r:bluetooth_loader:s0
|
|
oneshot
|
|
|
|
on property:bluetooth.hciattach=true
|
|
start hciattach
|
|
|
|
# FM
|
|
on property:hw.fm.init=0
|
|
write /sys/module/radio_iris_transport/parameters/fmsmd_set 0
|
|
|
|
on property:hw.fm.init=1
|
|
write /sys/module/radio_iris_transport/parameters/fmsmd_set 1
|
|
|
|
service netmgrd /vendor/bin/netmgrd
|
|
class main
|
|
user root
|
|
group root wifi wakelock radio inet
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service qti /vendor/bin/qti
|
|
class main
|
|
user radio
|
|
group radio qcom_diag usb
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service sensors /vendor/bin/sensors.qcom
|
|
class core
|
|
user root
|
|
group root
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
# 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 \
|
|
-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
|
|
class main
|
|
socket wpa_wlan0 dgram 660 wifi wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service loc_launcher /vendor/bin/loc_launcher
|
|
#loc_launcher will start as root and set its uid to gps
|
|
class late_start
|
|
group gps inet net_raw qcom_diag net_admin wifi
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service qcom-sh /system/bin/sh /init.qcom.sh
|
|
class late_start
|
|
user root
|
|
oneshot
|
|
|
|
service ril-daemon2 /vendor/bin/hw/rild -c 2
|
|
class main
|
|
user radio
|
|
group radio cache inet misc audio log readproc wakelock oem_2901
|
|
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
|
|
|
|
service charger /charger
|
|
class charger
|
|
group system graphics
|
|
seclabel u:r:healthd:s0
|
|
|
|
service msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
|
|
class late_start
|
|
user root
|
|
group root
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service qseeproxydaemon /system/vendor/bin/qseeproxydaemon
|
|
class late_start
|
|
user system
|
|
group system
|
|
writepid /dev/cpuset/system-background/tasks
|
|
|
|
service gx_fpd /vendor/bin/gx_fpd
|
|
class core
|
|
user root
|
|
group system system
|
|
disabled
|
|
|
|
on property:persist.sys.fp.vendor=switchf
|
|
stop gx_fpd
|
|
setprop persist.sys.fp.vendor searchf
|
|
start fingerprintd
|
|
setprop ro.boot.fpsensor fpc
|
|
|
|
on property:persist.sys.fp.vendor=goodix
|
|
setprop ro.boot.fpsensor gdx
|
|
|
|
on property:persist.sys.fp.onstart=1
|
|
start fingerprintd
|
|
|
|
on property:ro.boot.fpsensor=gdx
|
|
setprop ro.hardware.fingerprint goodix
|
|
|
|
service time_daemon /vendor/bin/time_daemon
|
|
class main
|
|
user root
|
|
group root
|