# Copyright (c) 2009-2012, 2014-2020, 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 /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.xiaomi.rc

on early-init
    #create symlink for vendor mount points
    symlink /vendor/firmware_mnt /firmware
    symlink /vendor/bt_firmware /bt_firmware
    symlink /vendor/dsp /dsp

    #Change ownership of sysfs power control node
    chown system graphics /sys/class/drm/card0/device/power/control

    # Remove some data cache
    rm /data/resource-cache
    rm /data/system/package_cache

    #Disable UFS clock scaling
    write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0

    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

on init

    # Support legacy paths
    symlink /sdcard /mnt/sdcard
    symlink /sdcard /storage/sdcard0

    # 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

    #ExtR HONGMI-90103,jiyanan.wt,ADD,20211130,enbale WLAN PD restart
    write /sys/bus/msm_subsys/devices/subsys2/restart_level related

on post-fs
    mkdir /mnt/vendor/dsp 0770 root root
    copy /vendor/dsp/cdsp/fastrpc_shell_3 /mnt/vendor/dsp/fastrpc_shell_3
    chmod 0644 /mnt/vendor/dsp/fastrpc_shell_3
    mount none /mnt/vendor/dsp/fastrpc_shell_3 /vendor/dsp/cdsp/fastrpc_shell_3 bind

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/devices/virtual/npu/msm_npu/boot 1
    write /sys/devices/virtual/cvp/cvp/boot 1
    exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh

    chown system system /mnt/vendor/persist/data/pfm/licenses
    chmod 0775 /mnt/vendor/persist/data/pfm/licenses
    chown system system /mnt/vendor/persist/data/pfm/licenses/store_0
    chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_0
    chown system system /mnt/vendor/persist/data/pfm/licenses/store_1
    chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_1
    chown system system /mnt/vendor/persist/data/pfm/licenses/store_2
    chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_2
    chown system system /mnt/vendor/persist/data/pfm/licenses/store_3
    chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_3
    chown system system /mnt/vendor/persist/data/pfm/licenses/store_4
    chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_4

on boot
    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/boot_slpi/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

    # This location is used by QCRIL to host UNIX domain
    # socket files used for internal IPC within QCRIL
    # modules
    mkdir /dev/socket/qmux_radio 0770 radio radio
    chmod 2770 /dev/socket/qmux_radio

    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 /mnt/vendor/persist/time 0770 system system
    mkdir /mnt/vendor/persist/secnvm 0770 system system
    mkdir /mnt/vendor/persist/iar_db 0770 system system
    mkdir /mnt/vendor/spunvm 0770 system system

    #Create WIGIG socket area
    mkdir /dev/socket/wigig 0770 wifi wifi

    setprop wifi.interface wlan0

    setprop persist.bluetooth.a2dp_offload.disabled false

    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

    setprop net.tcp.2g_init_rwnd 10

    # 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_WARN
    # Set the default message loglevel to KERN_INFO
    write /proc/sys/kernel/printk "4 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
    chown system system /sys/class/backlight/panel1-backlight/brightness
    chown system system /sys/class/backlight/panel1-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

    # limit discard size to 128MB in order to avoid long IO latency
    write /sys/block/sda/queue/discard_max_bytes 134217728
    
    chmod 0777 /sys/bus/coresight/devices/coresight-tmc-etr/block_size
    chmod 0777 /dev/byte-cntr

    #enable coresight for diag_mdlog_system over qdss
    write /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size 0x2000000
    write /sys/bus/coresight/devices/coresight-tmc-etr/enable_sink 1
    write /sys/bus/coresight/devices/coresight-stm/enable_source 1
    write /sys/bus/coresight/devices/coresight-stm/hwevent_enable 0

# 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 powermodule
    mkdir /data/vendor/pwr 0700 root root

    # Create directory used by media clients
    mkdir /data/vendor/media 0770 mediacodec media

    # 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/tombstones/rfs 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
    mkdir /data/vendor/wlan_logs_t 0770 system wifi

    #ExtR HONGMI-99227, jiyanan.wt, 20210903,ADD, generate bt/wlan addr file
    mkdir /data/vendor/mac_addr 0775 root system

    # Create the directories used by WiGig Sensing
    mkdir /data/vendor/sensing 0770 system wifi

    # 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
    rm /data/vendor/radio/shmbus

    # 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

    #Add for ir
    chown system system /dev/ir_spi
    chmod 0666 /dev/ir_spi

    #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 /dev/socket/location/dgnss 0770 gps gps

    #Create directories for wifihal services
    mkdir /dev/socket/wifihal 0770 wifi wifi
    chmod 2770 /dev/socket/wifihal

    # 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
    copy /vendor/radio/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
    copy /vendor/etc/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
    chown radio radio /data/vendor/radio/qcrilNr_prebuilt.db
    chmod 0660 /data/vendor/radio/qcrilNr_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 drmrpc

    #Create dir for dolby
    mkdir /data/vendor/dolby 0770 media media

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/bin/subsystem_ramdump_system 2
    class main
#    user system
    group system bluetooth sdcard_rw everybody
    ioprio rt 4
    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.sys.ssr.enable_debug=*
    write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}

on property:persist.sys.mba_boot_timeout=*
    write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}

on property:persist.sys.modem_auth_timeout=*
    write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}

on property:persist.sys.pil_proxy_timeout=*
    write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.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:persist.vendor.sys.rawdump_copy=1
    write /sys/kernel/dload/emmc_dload 1

on property:persist.vendor.sys.rawdump_copy=0
    write /sys/kernel/dload/emmc_dload 0

on property:sys.boot_completed=1
    write /dev/kmsg "Boot completed "
    #Enable UFS clock scaling back
    write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
    #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
    #Reinit lmkd to reconfigure lmkd properties
    setprop lmkd.reinit 1
    write /sys/kernel/dload/dload_mode "both"
    write /sys/kernel/dload/emmc_dload 1

    # This initializes vendor.qti.hardware.perf service
    setprop vendor.post_boot.parsed 1

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/core-%e-%p"

on property:vendor.media.target.version=*
    setprop vendor.sys.media.target.version ${vendor.media.target.version}

on property:vendor.netflix.bsp_rev=*
    setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev}

on property:vendor.media.target_variant=*
    setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
    setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}

service qcom-c_main-sh /vendor/bin/init.class_main.sh
    class main
    user root
    group root system
    oneshot

on property:vold.decrypt=trigger_restart_framework
    start qcom-c_main-sh
    start wcnss-service

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 qmiproxy /system/bin/qmiproxy
    class main
    user radio
    group radio diag
    disabled

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:wigig/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 wigig/wpa_wigig0 dgram 660 wifi wifi
    disabled
    oneshot

service wigignpt /vendor/bin/wigignpt
    class hal
    socket wigig/wigignpt stream 660 system wifi
    user system
    group wifi
    capabilities NET_ADMIN
    disabled

on property:persist.vendor.wigig.npt.enable=1
    start wigignpt

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

#+ExtR HONGMI-89895 jiyanan 20210922 add for capture wifi full log start
service vendor.cnss_diag /vendor/bin/cnss_diag -q -f
    class late_start
    user system
    group system wifi inet net_admin sdcard_rw media_rw diag
    disabled
    oneshot

service vendor.tcpdump /vendor/bin/tcpdump -i any -W 2 -C 2 -s 134 -w /data/vendor/wlan_logs_t/tcpdump.pcap
    class main
    disabled
    oneshot

service sniffer /vendor/bin/tcpdump -i wlan0 -w /data/vendor/wlan_logs_t/sniffer.pcap
    class main
    disabled
    oneshot

on property:vendor.wififulllog.value=true
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap0
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap0
    start vendor.cnss_diag
    start vendor.tcpdump

on property:vendor.wififulllog.value=false
    stop vendor.cnss_diag
    stop vendor.tcpdump
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap0
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap0
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap1
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap1
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap2
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap2
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap3
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap3
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap4
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap4
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap5
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap5
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap6
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap6
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap7
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap7
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap8
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap8
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap9
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap9
    chmod 0664 /data/vendor/wlan_logs_t/tcpdump.pcap10
    chown system root /data/vendor/wlan_logs_t/tcpdump.pcap10

service startpktlog /system/bin/iwpriv wlan0 pktlog 2
    class main
    user root
    group root
    disabled
    oneshot

service stoppktlog /system/bin/iwpriv wlan0 pktlog 0
    class main
    user root
    group root
    disabled
    oneshot

on property:wifi.pktlog.debug.0.chen=false
    start stoppktlog

on property:wifi.pktlog.debug.0.chen=true
    start startpktlog
#-ExtR HONGMI-89895 jiyanan 20210922 add for capture wifi full log start

#+ExtB HONGMI-89820,liupeng.wt.Add,20211011 add wifi sar

#india k6s
#2g head sar
on property:vendor.sysctl.tx=1
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli01
service wpa_cli01 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 29
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6s
#2g body sar
on property:vendor.sysctl.tx=2
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli02
service wpa_cli02 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6s
#2g restore
on property:vendor.sysctl.tx=3
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli03
service wpa_cli03 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6s
#5g head sar
on property:vendor.sysctl.tx=4
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli04
service wpa_cli04 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 23
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6s
#5g body sar
on property:vendor.sysctl.tx=5
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli05
service wpa_cli05 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6s
#5g restore
on property:vendor.sysctl.tx=6
    stop wpa_cli01
    stop wpa_cli02
    stop wpa_cli03
    stop wpa_cli04
    stop wpa_cli05
    stop wpa_cli06
    start wpa_cli06
service wpa_cli06 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#2g head sar
on property:vendor.sysctl.tx=11
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli11
service wpa_cli11 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 29
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#2g body sar
on property:vendor.sysctl.tx=12
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli12
service wpa_cli12 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#2g restore
on property:vendor.sysctl.tx=13
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli13
service wpa_cli13 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#5g head sar
on property:vendor.sysctl.tx=14
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli14
service wpa_cli14 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 20
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#5g body sar
on property:vendor.sysctl.tx=15
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli15
service wpa_cli15 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 28
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#india k6p
#5g restore
on property:vendor.sysctl.tx=16
    stop wpa_cli11
    stop wpa_cli12
    stop wpa_cli13
    stop wpa_cli14
    stop wpa_cli15
    stop wpa_cli16
    start wpa_cli16
service wpa_cli16 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 28
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#2g head sar
on property:vendor.sysctl.tx=21
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli21
service wpa_cli21 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 33
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#2g body sar
on property:vendor.sysctl.tx=22
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli22
service wpa_cli22 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 38
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#2g restore
on property:vendor.sysctl.tx=23
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli23
service wpa_cli23 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 38
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#5g head sar
on property:vendor.sysctl.tx=24
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli24
service wpa_cli24 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 27
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#5g body sar
on property:vendor.sysctl.tx=25
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli25
service wpa_cli25 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 36
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#CN k6s
#5g restore
on property:vendor.sysctl.tx=26
    stop wpa_cli21
    stop wpa_cli22
    stop wpa_cli23
    stop wpa_cli24
    stop wpa_cli25
    stop wpa_cli26
    start wpa_cli26
service wpa_cli26 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 36
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#2g head sar
on property:vendor.sysctl.tx=31
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli31
service wpa_cli31 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 24
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#2g body sar
on property:vendor.sysctl.tx=32
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli32
service wpa_cli32 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#2g restore
on property:vendor.sysctl.tx=33
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli33
service wpa_cli33 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#5g head sar
on property:vendor.sysctl.tx=34
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli34
service wpa_cli34 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 19
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#5g body sar
on property:vendor.sysctl.tx=35
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli35
service wpa_cli35 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#JP k6s
#5g restore
on property:vendor.sysctl.tx=36
    stop wpa_cli31
    stop wpa_cli32
    stop wpa_cli33
    stop wpa_cli34
    stop wpa_cli35
    stop wpa_cli36
    start wpa_cli36
service wpa_cli36 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#2g head sar
on property:vendor.sysctl.tx=41
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start wpa_cli41
service wpa_cli41 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 24
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#2g body sar
on property:vendor.sysctl.tx=42
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start wpa_cli42
service wpa_cli42 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#2g restore
on property:vendor.sysctl.tx=43
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start wpa_cli43
service wpa_cli43 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 37
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#5g head sar
on property:vendor.sysctl.tx=44
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start wpa_cli44
service wpa_cli44 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 19
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#5g body sar
on property:vendor.sysctl.tx=45
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start wpa_cli45
service wpa_cli45 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#GL k6s
#5g restore
on property:vendor.sysctl.tx=46
    stop wpa_cli41
    stop wpa_cli42
    stop wpa_cli43
    stop wpa_cli44
    stop wpa_cli45
    stop wpa_cli46
    start  wpa_cli46
service wpa_cli46 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 32
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0

#KR k6s no sar power
#2g head sar
on property:vendor.sysctl.tx=51
    start  wpa_cli51
service wpa_cli51 /vendor/bin/wpa_cli driver SET_TX_POWER_CALLING 8
    class main
    user root
    group root
    disabled
    oneshot
    seclabel u:r:sar:s0


#-ExtB HONGMI-89820,liupeng.wt.Add,20211011 add wifi sar

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

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=*
    write /sys/kernel/shutdown_wlan/shutdown 1
    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

service ssgqmigd /vendor/bin/ssgqmigd
    class late_start
    user radio
    group radio gps system
    socket ssgqmig seqpacket 0660 radio inet

service mlid /vendor/bin/mlid
    class late_start
    user gps
    group gps
    socket mlid stream 0666 gps gps

service loc_launcher /system/vendor/bin/loc_launcher
    class late_start
    user gps
    group gps

on property:persist.sys.xtra-daemon.enabled=*
    restart loc_launcher

service qcom-sh /vendor/bin/init.qcom.sh
    class late_start
    user root
    group root system radio
    oneshot

service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
    class late_start
    user root
    group root system wakelock graphics
    disabled
    oneshot

on property:sys.boot_completed=1
    start qcom-post-boot

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

service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
    class main
    capabilities NET_ADMIN NET_RAW
    user wifi
    group wifi
    disabled
    oneshot

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 vendor.ssr_diag /system/vendor/bin/ssr_diag
    class late_start
    user system
    group system
    disabled

#HONGMI-102656, wuwenting.wt, modify, 20211012, change diag command
service diag_mdlog_start /system/vendor/bin/diag_mdlog -q 2 -u
    class late_start
    user shell
    group system oem_2901 sdcard_rw sdcard_r media_rw
    disabled
    oneshot

service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k
    class late_start
    user shell
    group system oem_2901 sdcard_rw sdcard_r media_rw
    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

on property:init.svc.vendor.charger=running
    setprop persist.sys.usb.config mass_storage
    start qcom-post-boot

#add poweroffhandler
service poweroffhandler /system/vendor/bin/poweroffhandler
    class core
    user media
    group graphics audio
    disabled
    oneshot

service time_daemon /vendor/bin/time_daemon
    class main
    user system
    group system
    capabilities SYS_TIME

on property:ro.vendor.radio.noril=*
    setprop ro.radio.noril ${ro.vendor.radio.noril}

service vendor.power_off_alarm /vendor/bin/power_off_alarm
    class core
    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.audio-hal /vendor/bin/hw/android.hardware.audio.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
    socket audio_hw_socket seqpacket 0666 system system
    onrestart restart audioserver
