#
# Copyright 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

import init.mako.usb.rc

on early-init
    mount debugfs debugfs /sys/kernel/debug

on init
    # See storage config details at http://source.android.com/tech/storage/
    mkdir /mnt/shell/emulated 0700 shell shell
    mkdir /storage/emulated 0555 root root

    export EXTERNAL_STORAGE /storage/emulated/legacy
    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
    export EMULATED_STORAGE_TARGET /storage/emulated

    # Support legacy paths
    symlink /storage/emulated/legacy /sdcard
    symlink /storage/emulated/legacy /mnt/sdcard
    symlink /storage/emulated/legacy /storage/sdcard0
    symlink /mnt/shell/emulated/0 /storage/emulated/legacy

on init
    # Set permissions for persist partition
    mkdir /persist 0771 system system
    mkdir /firmware 0771 system system

on fs
    mount_all ./fstab.mako
    setprop ro.crypto.fuse_sdcard true

on early-boot
    # set RLIMIT_MEMLOCK to 64MB
    setrlimit 8 67108864 67108864

on boot
    #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

    # Allow QMUX daemon to assign port open wait time
    chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait

    #Remove SUID bit for iproute2 ip tool
    chmod 0755 /system/bin/ip

    #port-bridge
    chmod 0660 /dev/smd0
    chown system system /dev/smd0

    #BT DUN port-bridge
    chmod 0660 /dev/smd7
    chown bluetooth bluetooth /dev/smd7

    chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state

    # create symlink for fb1 as HDMI
    symlink /dev/graphics/fb1 /dev/graphics/hdmi

    # Remove write permissions to video related nodes
    chmod 0664 /sys/devices/virtual/graphics/fb1/hpd
    chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode
    chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d

    # Change owner and group for media server and surface flinger
    chown system system /sys/devices/virtual/graphics/fb1/format_3d
    chown system system /sys/devices/virtual/graphics/fb1/hpd

    #For bridgemgr daemon to inform the USB driver of the correct transport
    chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport

    chmod 660 /dev/rtc0
    chown system system /dev/rtc0

    chown root system /proc/net/ip_conntrack

    # Enable DEBUG_SUSPEND, DEBUG_EXIT_SUSPEND, and DEBUG_WAKEUP
    write /sys/module/wakelock/parameters/debug_mask 7

    #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


# NFC: create data/nfc for nv storage
    mkdir /data/nfc 770 nfc nfc
    mkdir /data/nfc/param 770 nfc nfc

# 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  1220608
    write /proc/sys/net/core/wmem_max  1220608

# msm specific files that need to be created on /data
on post-fs-data
    mkdir /data/media 0770 media_rw media_rw

    # 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
# to observe dnsmasq.leases file for dhcp information of soft ap.
    chown dhcp system /data/misc/dhcp

    write /dev/wcnss_wlan 1
    write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1

    # Create directory used by audio subsystem
    mkdir /data/misc/audio 0770 audio audio

    # Workaround for conn_init not copying the updated firmware
    rm /data/misc/wifi/WCNSS_qcom_cfg.ini
    rm /data/misc/wifi/WCNSS_qcom_wlan_nv.bin

    # 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 0664 /sys/devices/platform/msm_sdcc.1/polling
    chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
    chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
    chmod 0664 /sys/devices/platform/msm_sdcc.4/polling

    # Chown polling nodes as needed from UI running on system server
    chown system system /sys/devices/platform/msm_sdcc.1/polling
    chown system system /sys/devices/platform/msm_sdcc.2/polling
    chown system system /sys/devices/platform/msm_sdcc.3/polling
    chown system system /sys/devices/platform/msm_sdcc.4/polling

    #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
    mkdir /data/system 0775 system system
    #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant

    #Create directory used by sensor subsystem(dsps)
    mkdir /data/system/sensors
    chmod 665 /data/system/sensors
    write /data/system/sensors/settings 1
    chmod 660 /data/system/sensors/settings

    # AKM setting data
    mkdir /data/misc/sensors
    chmod 775 /data/misc/sensors

    mkdir /persist/sensors
    chmod 775 /persist/sensors

    #Provide the access to hostapd.conf only to root and group
    chmod 0660 /data/hostapd/hostapd.conf

    # Enable the setgid bit on the directory
    mkdir /data/audio 0770 media audio
    chmod 2770 /data/audio

    # kickstart
    mkdir /data/qcks 0770 system system
    chown system /dev/block/platform/msm_sdcc.1/by-name

    setprop vold.post_fs_data_done 1

    rm /data/local/tmp/adreno_config.txt

    # LED On/Off synchronization
    chown system system /sys/class/leds/red/device/lock

    # communicate with mpdecision and thermald
    mkdir /dev/socket/mpdecision 0770 system system
    chmod 2770 /dev/socket/mpdecision

    # adjust vibrator amplitude
    write /sys/class/timed_output/vibrator/amp 70

    # Enable Power modes and set the CPU Freq Sampling rates
    write /sys/module/rpm_resources/enable_low_power/L2_cache 1
    write /sys/module/rpm_resources/enable_low_power/pxo 1
    write /sys/module/rpm_resources/enable_low_power/vdd_dig 1
    write /sys/module/rpm_resources/enable_low_power/vdd_mem 1
    write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand"
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand"
    write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "ondemand"
    write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "ondemand"
    write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
    write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
    write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
    write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 384000

on charger
    # Enable Power modes and set the CPU Freq Sampling rates
    write /sys/module/rpm_resources/enable_low_power/L2_cache 1
    write /sys/module/rpm_resources/enable_low_power/pxo 1
    write /sys/module/rpm_resources/enable_low_power/vdd_dig 1
    write /sys/module/rpm_resources/enable_low_power/vdd_mem 1
    write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled 1
    write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "powersave"
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "powersave"
    write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "powersave"
    write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor "powersave"
    write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
    write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
    write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
    write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 384000
    write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 384000

on property:init.svc.wpa_supplicant=stopped
    stop dhcpcd

service rmt_storage /system/bin/rmt_storage
    class main
    user root

service hciattach /system/bin/sh /system/etc/init.mako.bt.sh
    class late_start
    user bluetooth
    group qcom_oncrpc bluetooth net_bt_admin system
    disabled
    oneshot

on property:bluetooth.hciattach=true
    start hciattach

on property:bluetooth.hciattach=false
    setprop bluetooth.status off

service bridgemgrd /system/bin/bridgemgrd
    class main
    user radio
    group radio

# QMUX must be in multiple groups to support external process connections
service qmuxd /system/bin/qmuxd
    class main
    user radio
    group radio audio bluetooth gps

service ks_checker /system/bin/sh /system/etc/kickstart_checker.sh
    class core
    oneshot

service kickstart /system/bin/qcks -i /firmware/image/ -r /data/tombstones/mdm/
    class core
    user system
    group system
    disabled
    oneshot

on property:persist.radio.kickstart=on
    start kickstart

service netmgrd /system/bin/netmgrd
    class main


service sensors /system/bin/sensors.qcom
    class late_start
    user root
    group root

service wpa_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    -e/data/misc/wifi/entropy.bin
    #   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 p2p_supplicant /system/bin/logwrapper /system/bin/wpa_supplicant \
    -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -N \
    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
#   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 -aABDKL
    class main
    disabled
    oneshot

service dhcpcd_p2p /system/bin/dhcpcd -aABKL
    class main
    disabled
    oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service iprenew_p2p /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service dhcpcd_bnep0 /system/bin/dhcpcd -BKLG
    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  1

service charger /charger
    class charger

# virtual sdcard daemon running as media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
    class late_start

service thermald /system/bin/thermald
    class main

service mpdecision /system/bin/mpdecision --no_sleep --avg_comp
    class main

service qcamerasvr /system/bin/mm-qcamera-daemon
    class late_start
    user camera
    group camera system inet input

service conn_init /system/bin/logwrapper /system/bin/conn_init
    class late_start
    user system
    group system wifi
    oneshot

service bdAddrLoader /system/bin/bdAddrLoader -f /persist/bluetooth/.bdaddr -h -x
    class main
    user bluetooth
    group system bluetooth
    oneshot

# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/bugmailer.sh -v
    class main
    disabled
    oneshot
    keycodes 114 115 116

service qseecomd /system/bin/qseecomd
    class late_start
    user system
    group system

service diag_mdlog /system/bin/logwrapper /system/bin/diag_mdlog -s 100
    class late_start
    disabled

# on property:gsm.sim.state=READY
#    start diag_mdlog
