diff options
Diffstat (limited to 'rootdir/etc/init.qcom.rc')
-rw-r--r-- | rootdir/etc/init.qcom.rc | 575 |
1 files changed, 575 insertions, 0 deletions
diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc new file mode 100644 index 0000000..b84f7b8 --- /dev/null +++ b/rootdir/etc/init.qcom.rc @@ -0,0 +1,575 @@ +# +# Copyright 2012 The Android Open Source Project +# Copyright (C) 2013 The CyanogenMod 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.qcom.power.rc +import /init.sony.rc +import /init.sony.usb.rc +import /init.platform-common.rc +import /init.camera.rc + +on early-init + mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755 + chown system system /sys/kernel/debug/kgsl/proc + +on init + symlink /dev/block/platform/msm_sdcc.1 /dev/block/bootdevice + + # Enable subsystem restart + write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 + 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" + + # for backwards compatibility + symlink /sdcard /storage/sdcard0 + + mkdir /tmp + mount tmpfs tmpfs /tmp nosuid mode=0755,uid=0,gid=0 + chmod 0664 /proc/rdtag + chown root system /proc/rdtag + + wait /dev/block/mmcblk0p1 + chown system system /dev/block/mmcblk0p1 + chmod 0770 /dev/block/mmcblk0p1 + + # Bluetooth address setting + setprop ro.bt.bdaddr_path "/data/etc/bluetooth_bdaddr" + chown bluetooth bluetooth ro.bt.bdaddr_path + + #Enable Bluetooth HFP 1.6 + setprop ro.bluetooth.hfp.ver 1.6 + + #Disable Bluetooth A2DP SNK + setprop bluetooth.a2dp.sink.enabled false + + write /sys/module/qpnp_rtc/parameters/poweron_alarm 1 + + # Enable panic on out of memory + write /proc/sys/vm/panic_on_oom 2 + + # Setup zram options + write /sys/block/zram0/comp_algorithm lz4 + + # Create a tmpfs for dynamic network mounting + mkdir /storage/removable/remote 0700 root system + mount tmpfs tmpfs /storage/removable/remote mode=0755,uid=0,gid=0 + + # Set the property to indicate type of virtual display to 0 + # 0 indicates that virtual display is not a Wifi display and that the + # session is not exercised through RemoteDisplay in the android framework + setprop persist.sys.wfd.virtual 0 + +on fs + mount_all ./fstab.qcom + mkdir /lta-label 0555 system system + wait /dev/block/platform/msm_sdcc.1/by-name/LTALabel + mount ext4 /dev/block/platform/msm_sdcc.1/by-name/LTALabel /lta-label nosuid nodev noatime noexec ro barrier=0 + chown system system /lta-label + chmod 0555 /lta-label + + # Mount ZRAM + swapon_all fstab.qcom + + # Adaptive LMK + write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 + write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 53059 + + symlink /sdcard /storage/sdcard0 + + # Start hvdcp to enable quck charge 2.0 in power off charge + start hvdcp + +on early-boot + # set RLIMIT_MEMLOCK to 64MB + setrlimit 8 67108864 67108864 + + write /sys/kernel/boot_adsp/boot 1 + + # Run pre_hw_config.sh before entering charge only mode. + exec /system/bin/sh /system/etc/pre_hw_config.sh + +on boot + write /sys/module/qpnp_power_on/parameters/forcecrash_on 1 + + # Bluetooth + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state + # bluetooth LPM + chown bluetooth bluetooth /proc/bluetooth/sleep/lpm + chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite + + # BT DUN port-bridge + chmod 0660 /dev/smd7 + chown bluetooth bluetooth /dev/smd7 + + chmod 0660 /sys/class/rfkill/rfkill0/state + chown bluetooth bluetooth /dev/ttyHS0 + 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 + + #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 + + # 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 + + #Create NETMGR daemon socket area + mkdir /dev/socket/netmgr 0750 radio radio + + # Wlan Interface Port + setprop wifi.interface wlan0 + + # WiFi Firmware + chown wifi wifi /sys/module/bcmdhd/parameters/firmware_path + + # Send single UNSOL_CALL_RING notification + setprop ro.telephony.call_ring.multiple false + + # Create folder for timekeep + mkdir /data/time/ 0700 system system + chmod 0770 /data/time/ats_2 + + # port-bridge + chmod 0660 /dev/smd0 + chown system system /dev/smd0 + + chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state + + # Graphics + chown system graphics /sys/class/graphics/fb0/idle_time + chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time + chown system graphics /sys/class/graphics/fb0/dynamic_fps + chmod 0664 /sys/devices/virtual/graphics/fb0/dynamic_fps + chown system graphics /sys/class/graphics/fb0/dyn_pu + chmod 0664 /sys/devices/virtual/graphics/fb0/dyn_pu + chown system graphics /sys/class/graphics/fb0/modes + chmod 0664 /sys/devices/virtual/graphics/fb0/modes + chown system graphics /sys/class/graphics/fb0/mode + chmod 0664 /sys/devices/virtual/graphics/fb0/mode + + chown system graphics /sys/class/graphics/fb1/hpd + chmod 0664 /sys/devices/virtual/graphics/fb1/hpd + chown system graphics /sys/class/graphics/fb1/res_info + chmod 0664 /sys/class/graphics/fb1/res_info + chmod 0664 /sys/devices/virtual/graphics/fb1/res_info + chown system graphics /sys/class/graphics/fb1/vendor_name + chmod 0664 /sys/devices/virtual/graphics/fb1/vendor_name + chown system graphics /sys/class/graphics/fb1/product_description + chmod 0664 /sys/devices/virtual/graphics/fb1/product_description + chown system graphics /sys/class/graphics/fb1/video_mode + chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode + chown system graphics /sys/class/graphics/fb1/format_3d + chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d + chown system graphics /sys/class/graphics/fb1/s3d_mode + chmod 0664 /sys/devices/virtual/graphics/fb1/s3d_mode + chown system graphics /sys/class/graphics/fb1/cec/enable + chmod 0664 /sys/devices/virtual/graphics/fb1/cec/enable + chown system graphics /sys/class/graphics/fb1/cec/logical_addr + chmod 0664 /sys/devices/virtual/graphics/fb1/cec/logical_addr + chown system graphics /sys/class/graphics/fb1/cec/rd_msg + chmod 0664 /sys/devices/virtual/graphics/fb1/cec/rd_msg + chown system graphics /sys/class/graphics/fb1/pa + chmod 0664 /sys/devices/virtual/graphics/fb1/pa + chown system graphics /sys/class/graphics/fb1/cec/wr_msg + chmod 0664 /sys/devices/virtual/graphics/fb1/cec/wr_msg + chown system graphics /sys/class/graphics/fb1/hdcp/tp + chmod 0664 /sys/devices/virtual/graphics/fb1/hdcp/tp + + # create symlink for fb1 as HDMI + symlink /dev/graphics/fb1 /dev/graphics/hdmi + + # Change owner and group to get adopter/device ids from MHL driver + chown system system /sys/class/mhl/sii8334/adopter_id + chown system system /sys/class/mhl/sii8334/device_id + + # For bridgemgr daemon to inform the USB driver of the correct transport + chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport + + # For setting tcp delayed ack + chown system system /sys/kernel/ipv4/tcp_delack_seg + chown system system /sys/kernel/ipv4/tcp_use_userconfig + + # Define TCP delayed ack settings for WiFi & LTE + setprop net.tcp.delack.default 1 + setprop net.tcp.delack.wifi 20 + setprop net.tcp.delack.lte 8 + setprop net.tcp.usercfg.default 0 + setprop net.tcp.usercfg.wifi 1 + setprop net.tcp.usercfg.lte 1 + + # 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 + + chmod 660 /dev/rtc0 + chown system system /dev/rtc0 + + # 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 + + # 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" + + chown system /sys/devices/virtual/timed_output/vibrator/vtg_level + + # charger + chown root system /sys/module/qpnp_charger/parameters/charger_monitor + chown root system /sys/class/power_supply/battery/input_current_max + chown root system /sys/class/power_supply/battery/input_current_trim + chown root system /sys/class/power_supply/battery/voltage_min + chmod 0644 /sys/module/qpnp_charger/parameters/charger_monitor + chmod 0644 /sys/class/power_supply/battery/input_current_max + chmod 0644 /sys/class/power_supply/battery/input_current_trim + chmod 0644 /sys/class/power_supply/battery/voltage_min + + # thermananger + chmod 0644 /sys/class/power_supply/usb/current_max + + chown system system /sys/devices/virtual/graphics/fb0/rgb + chmod 0660 /sys/devices/virtual/graphics/fb0/rgb + +on post-fs + # Change to socket location on libkeyctrl/suntory for /data encryption + # Create suntory data directory + mkdir /dev/socket/suntory 0755 system system + mkdir /data/suntory 0755 system system + + # led RGB + chown system system /sys/class/leds/rgb/sync_state + chown system system /sys/class/leds/rgb/start_blink + chown system system /sys/class/leds/led:rgb_red/brightness + chown system system /sys/class/leds/led:rgb_red/lut_pwm + chown system system /sys/class/leds/led:rgb_red/step_duration + chown system system /sys/class/leds/led:rgb_red/pause_lo_multi + chown system system /sys/class/leds/led:rgb_red/pause_hi_multi + chown system system /sys/class/leds/led:rgb_green/brightness + chown system system /sys/class/leds/led:rgb_green/lut_pwm + chown system system /sys/class/leds/led:rgb_green/step_duration + chown system system /sys/class/leds/led:rgb_green/pause_lo_multi + chown system system /sys/class/leds/led:rgb_green/pause_hi_multi + chown system system /sys/class/leds/led:rgb_blue/brightness + chown system system /sys/class/leds/led:rgb_blue/lut_pwm + chown system system /sys/class/leds/led:rgb_blue/step_duration + chown system system /sys/class/leds/led:rgb_blue/pause_lo_multi + chown system system /sys/class/leds/led:rgb_blue/pause_hi_multi + +on post-fs-data + # Observe dnsmasq.leases file for dhcp information of soft ap. + chown dhcp dhcp /data/misc/dhcp + + mkdir /data/misc/bluetooth 0770 bluetooth bluetooth + + # led RGB + chown system system /sys/class/leds/rgb/sync_state + chown system system /sys/class/leds/rgb/start_blink + chown system system /sys/class/leds/led:rgb_red/brightness + chown system system /sys/class/leds/led:rgb_red/lut_pwm + chown system system /sys/class/leds/led:rgb_red/step_duration + chown system system /sys/class/leds/led:rgb_red/pause_lo_multi + chown system system /sys/class/leds/led:rgb_red/pause_hi_multi + chown system system /sys/class/leds/led:rgb_green/brightness + chown system system /sys/class/leds/led:rgb_green/lut_pwm + chown system system /sys/class/leds/led:rgb_green/step_duration + chown system system /sys/class/leds/led:rgb_green/pause_lo_multi + chown system system /sys/class/leds/led:rgb_green/pause_hi_multi + chown system system /sys/class/leds/led:rgb_blue/brightness + chown system system /sys/class/leds/led:rgb_blue/lut_pwm + chown system system /sys/class/leds/led:rgb_blue/step_duration + chown system system /sys/class/leds/led:rgb_blue/pause_lo_multi + chown system system /sys/class/leds/led:rgb_blue/pause_hi_multi + + mkdir /data/tombstones 0755 system system + mkdir /data/tombstones/vendor 0755 system system + mkdir /data/pc 0700 radio radio + + # Create directory used by audio subsystem + mkdir /data/misc/audio 0770 audio audio + + # IR Blaster + chown system system /dev/ttyHSL2 + chmod 0660 /dev/ttyHSL2 + chown system system /sys/devices/platform/ir_remote_control/enable + chmod 0220 /sys/devices/platform/ir_remote_control/enable + + 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 + + # NFC local data and nfcee xml storage + mkdir /data/nfc 0770 nfc nfc + mkdir /data/nfc/param 0770 nfc nfc + + # QCOM Sensors + mkdir /data/system/sensors 0775 system system + mkdir /data/misc/sensors 0775 system system + write /data/system/sensors/settings 1 + chmod 664 /data/system/sensors/settings + chown system /data/system/sensors/settings + + # 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 + + chown system system /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy + + # Create directories for gpsone_daemon services + mkdir /data/misc/location/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 + mkdir /data/misc/location/gsiff 0770 gps gps + + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0770 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + + # Create directory used by bluetooth subsystem + mkdir /data/vendor/bluetooth 2770 bluetooth bluetooth + + # Provide the access to hostapd.conf only to root and group + chmod 0660 /data/hostapd/hostapd.conf + + mkdir /data/audio 0770 media audio + + # Create /data/time folder for time-services + mkdir /data/time 0700 system system + + # Enable Power save functionality for modem + setprop persist.radio.add_power_save 1 + + chown system /dev/block/platform/msm_sdcc.1/by-name + + setprop vold.post_fs_data_done 1 + + # Create directory for TZ Apps + mkdir /data/misc/qsee 0770 system system + + # SONY: Create a dir on data partition not to be deleted during mr and wipedata + mkdir /data/persist 0770 system system + + # SONY: Create dir for Widevine keybox + mkdir /data/persist/wv 0700 system system + + # SONY: Create dir for marlin sdata + mkdir /data/persist/marlin 0700 system system + + # SONY: Create a dir for pin-cache components + mkdir /data/pc 0600 radio radio + mkdir /cache/pc 0770 radio system + + start wvkbd_installer + +on property:bluetooth.isEnabled=true +# start btwlancoex + write /sys/class/bluetooth/hci0/idle_timeout 7000 + +# QMUX must be in multiple groups to support external process connections +service qmuxd /system/vendor/bin/qmuxd + class main + user root + group radio audio bluetooth gps nfc diag wakelock oem_2950 + +# Wi-Fi and BT MAC addresses +service macaddrsetup /system/vendor/bin/macaddrsetup /sys/devices/platform/bcmdhd_wlan/macaddr + class late_start + user root + oneshot + +service netmgrd /system/vendor/bin/netmgrd + class late_start + user root + group root wifi wakelock radio inet system + seclabel u:r:netmgrd:s0 + +on property:ro.radio.noril=true + stop ril-daemon + stop netmgrd + +service qseecomd /system/vendor/bin/qseecomd + class core + user root + group drmrpc root + +service wpa_supplicant /system/vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ + -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 + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + +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 ril-daemon2 /system/bin/rild -c 2 + class late_start + socket rild2 stream 660 root radio + socket rild-debug2 stream 660 radio system + user root + disabled + group radio cache inet misc audio sdcard_r sdcard_rw oem_2950 log + +on property:persist.radio.multisim.config=dsds + start ril-daemon2 + +# Start suntrold +service suntrold /system/vendor/bin/suntrold + user system + group system camera + oneshot + class main + +# Modem Log QMI service +service mlog_qmi_service /system/vendor/bin/mlog_qmi_service + class late_start + user root + +# Thermal Manager service +service thermanager /system/vendor/bin/thermanager /system/vendor/etc/thermanager.xml + class main + user root + group root + +service irsc_util /system/vendor/bin/irsc_util "/system/vendor/etc/sec_config" + class main + user root + oneshot + +service rmt_storage /system/vendor/bin/rmt_storage + class core + user root + group system wakelock + +service sensors /system/vendor/bin/sensors.qcom + class core + user root + group root wakelock + +service qcom-sensor-sh /system/vendor/bin/init.qcom-sensor.sh + class main + user root + oneshot + +# HexagonDSP FastRPC daemon +service adsprpcd /system/vendor/bin/adsprpcd + class main + user media + group media + seclabel u:r:adsprpcd:s0 + +service charger /charger + class charger + group system graphics + seclabel u:r:healthd:s0 + +# Redefined Service +service audioserver /system/bin/audioserver + class main + user audioserver + # media gid needed for /dev/fm (radio) and for /data/misc/media (tee) + group audio camera drmrpc inet media mediadrm net_bt bluetooth net_bw_acct oem_2950 + ioprio rt 4 + +service drm /system/bin/drmserver + class main + user drm + group drm system inet drmrpc readproc + + +service media /system/bin/mediaserver + class main + user media + group audio camera inet net_bt bluetooth net_bw_acct drmrpc mediadrm system + ioprio rt 4 + +service mediadrm /system/bin/mediadrmserver + class main + user media + group mediadrm drmrpc + ioprio rt 4 + +service mpdecision /system/vendor/bin/mpdecision --avg_comp + class main + user root + group root readproc + disabled + +# brcm-uim-sysfs (BT/FM/ANT+) + service uim /system/bin/brcm-uim-sysfs + class late_start + user root + group bluetooth net_bt + seclabel u:r:uim:s0 + +# OSS time +service timekeep /system/vendor/bin/timekeep restore + class late_start + user root + group root + oneshot + writepid /dev/cpuset/system-background/tasks + +# Quick Charge +service hvdcp /system/vendor/bin/hvdcp + class core + user root + disabled |