Looking better but more to go

This commit is contained in:
Daniel Moran (garwynn) 2014-05-01 15:41:37 -05:00
parent 99d0a357a4
commit 7482c5ba0e
9 changed files with 1589 additions and 854 deletions

View File

@ -41,7 +41,7 @@ LOCAL_CFLAGS += \
LOCAL_C_INCLUDES:= \
$(TARGET_OUT_HEADERS)/gps.utils \
$(TARGET_OUT_HEADERS)/libloc_core \
device/samsung/hlte/gps/loc_api/libloc_api_50001
device/samsung/klte/gps/loc_api/libloc_api_50001
LOCAL_COPY_HEADERS_TO:= libloc_eng/
LOCAL_COPY_HEADERS:= \

View File

@ -33,6 +33,14 @@ LOCAL_SRC_FILES := etc/init.qcom.usb.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.ril.rc
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.ril.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional eng
@ -49,6 +57,13 @@ LOCAL_SRC_FILES := etc/ueventd.qcom.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.qcom.modem_links.sh
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.qcom.modem_links.sh
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.crda.sh
LOCAL_MODULE_TAGS := optional eng

View File

@ -15,10 +15,5 @@
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
# VOLD
/devices/msm_sdcc.3/mmc_host/mmc2,/devices/msm_sdcc.2/mmc_host/mmc1 auto vfat default voldmanaged=extSdCard:auto,noemulatedsd
/devices/platform/xhci-hcd/usb1*sda,/devices/platform/xhci-hcd/usb2*sda auto vfat default voldmanaged=UsbDriveA:auto
/devices/platform/xhci-hcd/usb1*sdb,/devices/platform/xhci-hcd/usb2*sdb auto vfat default voldmanaged=UsbDriveB:auto
/devices/platform/xhci-hcd/usb1*sdc,/devices/platform/xhci-hcd/usb2*sdc auto vfat default voldmanaged=UsbDriveC:auto
/devices/platform/xhci-hcd/usb1*sdd,/devices/platform/xhci-hcd/usb2*sdd auto vfat default voldmanaged=UsbDriveD:auto
/devices/platform/xhci-hcd/usb1*sde,/devices/platform/xhci-hcd/usb2*sde auto vfat default voldmanaged=UsbDriveE:auto
/devices/platform/xhci-hcd/usb1*sdf,/devices/platform/xhci-hcd/usb2*sdf auto vfat default voldmanaged=UsbDriveF:auto
/devices/msm_sdcc.3/mmc_host/mmc2 auto auto default voldmanaged=sdcard1:auto
/devices/platform/xhci-hcd auto auto default voldmanaged=usbdisk:auto

129
rootdir/etc/init.carrier.rc Executable file → Normal file
View File

@ -1,46 +1,9 @@
# Copyright (C) 2012 The Android Open Source Project
`# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#
on early-boot
chown bluetooth net_bt_stack /dev/ttyHS0
chmod 0660 /dev/ttyHS0
# permissions for Multiverse
chown system system /sys/class/sec/Multiverse/Brane
chmod 0600 /sys/class/sec/Multiverse/Brane
# efs
chmod 0660 /dev/block/mmcblk0p12
chown system system /dev/block/mmcblk0p12
on init
#Private Mode
mkdir /mnt/shell/privatemode 0700 system system
mkdir /storage/Private 0000 system system
on post-fs-data
#Private Mode
mkdir /data/privatemode 0770 system system
chown system system /data/privatemode
restorecon /data/privatemode
# SSWAP
write /proc/sys/vm/swappiness 130
## mount carreir partition for SPR model ##
on init
mkdir /carrier 0771 system system
on fs
wait /dev/block/platform/msm_sdcc.1/by-name/carrier
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/carrier /carrier nosuid nodev barrier=1
chown system system /carrier
chmod 0771 /carrier
restorecon -R /carrier
on boot
# permission for Input Device(Touchkey).
chmod 0660 /sys/class/input/input1/enabled
@ -68,48 +31,35 @@ on boot
chmod 0600 /dev/btlock
chown bluetooth bluetooth /dev/btlock
# permission for Expander.
chown system system /sys/class/sec/expander/expgpio
on fs
# permission for mDNIe
chown system system /sys/class/mdnie/mdnie/sensorRGB
# Support Preload install apks
mkdir /preload 0771 system system
#For Absolute Persistence Partition
mkdir /persdata 0755 system system
mkdir /persdata/absolute 0750 system system
wait /dev/block/platform/msm_sdcc.1/by-name/persdata
check_fs /dev/block/platform/msm_sdcc.1/by-name/persdata ext4
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/persdata /persdata/absolute nosuid nodev barrier=1
chown system system /persdata
chmod 0755 /persdata
chown system system /persdata/absolute
chmod 0750 /persdata/absolute
# bluetooth dhcp config
service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
# Fingerprint
mkdir /dev/validity 0770 system system
# SENSOR FRAMEWORK : starts fingerprintService
service vcsFPService /system/bin/vcsFPService
service iprenew_bt-pan /system/bin/dhcpcd -n
class late_start
user system
group system
on fs
#For Absolute Persistence Partition
mkdir /persdata 0755 system system
mkdir /persdata/absolute 0750 system system
wait /dev/block/platform/msm_sdcc.1/by-name/persdata
check_fs /dev/block/platform/msm_sdcc.1/by-name/persdata ext4
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/persdata /persdata/absolute nosuid nodev barrier=1
chown system system /persdata
chmod 0755 /persdata
chown system system /persdata/absolute
chmod 0750 /persdata/absolute
# bootchecker
service bootchecker /system/bin/bootchecker
class late_start
user system
group system log
oneshot
# TODO: replace it with device's DEXPREOPT_BOOT_JARS
disabled
oneshot
# service for TZPR provisioning version check app
service scranton_RD /system/bin/scranton_RD
@ -121,32 +71,3 @@ service scranton_RD /system/bin/scranton_RD
# start for TZPR provisioning version check app
on property:sys.qseecomd.enable=true
start scranton_RD
mkdir /efs/drm/playready 0775
chown drm system /efs/drm/playready
chmod 0775 /efs/drm/playready
#Private Mode
service privatemode /system/bin/sdcard /data/privatemode /mnt/shell/privatemode 1000 1000
class late_start
oneshot
#InsideSecure VPN Client
service vpnclientpm /system/bin/vpnclientpm -u 1000 -g 1000 \
-O /data/data/com.ipsec.service/vpnclientpm.txt \
-U rmnet,rmnet_usb,wlan,bt-pan,rndis,p2p,eth
socket vpnclientpm seqpacket 0600 system system
disabled
on property:service.vpnclientpm.enable=1
start vpnclientpm
on property:service.vpnclientpm.enable=0
stop vpnclientpm
# SSWAP
service swapon /sbin/sswap -s
class core
user root
group root
seclabel u:r:sswap:s0
oneshot

View File

@ -0,0 +1,502 @@
#!/system/bin/sh
# Copyright (c) 2012, 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 "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.
#
#
# No path is set up at this point so we have to do it here.
PATH=/sbin:/system/sbin:/system/bin:/system/xbin
export PATH
# Check for images and set up symlinks
cd /firmware/image
# Get the list of files in /firmware/image
# for which sym links have to be created
fwfiles=`ls modem* adsp* wcnss* mba* tima_* venus* widevine* playread* dtcpip* securefp* skm* keymaste* sshdcpap* sec_stor* mc_v2* tzpr25*`
# Check if the links with similar names
# have been created in /system/etc/firmware
cd /system/etc/firmware
linksNeeded=0
# For everyfile in fwfiles check if
# the corresponding file exists
for fwfile in $fwfiles; do
# if (condition) does not seem to work
# with the android shell. Therefore
# make do with case statements instead.
# if a file named $fwfile is present
# no need to create links. If the file
# with the name $fwfile is not present
# need to create links.
case `ls $fwfile` in
$fwfile)
continue;;
*)
# file with $fwfile does not exist
# need to create links
linksNeeded=1
break;;
esac
done
case $linksNeeded in
1)
cd /firmware/image
case `ls modem.mdt 2>/dev/null` in
modem.mdt)
for imgfile in modem*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
# trying to log here but nothing will be logged since it is
# early in the boot process. Is there a way to log this message?
log -p w -t PIL no modem image found;;
esac
case `ls adsp.mdt 2>/dev/null` in
adsp.mdt)
for imgfile in adsp*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no adsp image found;;
esac
case `ls wcnss.mdt 2>/dev/null` in
wcnss.mdt)
for imgfile in wcnss*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no wcnss image found;;
esac
case `ls mba.mdt 2>/dev/null` in
mba.mdt)
for imgfile in mba*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no mba image found;;
esac
case `ls venus.mdt 2>/dev/null` in
venus.mdt)
for imgfile in venus*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no venus image found;;
esac
case `ls skm.mdt 2>/dev/null` in
skm.mdt)
for imgfile in skm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no skm image found;;
esac
case `ls keymaste.mdt 2>/dev/null` in
keymaste.mdt)
rm /system/etc/firmware/keymaste.*
for imgfile in keymaste*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
rm /system/etc/firmware/keymaster.*
;;
*)
log -p w -t PIL no keymaste image found;;
esac
case `ls sec_stor.mdt 2>/dev/null` in
sec_stor.mdt)
for imgfile in sec_stor*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sec_stor image found;;
esac
case `ls widevine.mdt 2>/dev/null` in
widevine.mdt)
for imgfile in widevine*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no widevine image found;;
esac
case `ls sshdcpap.mdt 2>/dev/null` in
sshdcpap.mdt)
for imgfile in sshdcpap*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sshdcpap image found;;
esac
case `ls playread.mdt 2>/dev/null` in
playread.mdt)
for imgfile in playread*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no playread image found;;
esac
case `ls tima_pkm.mdt 2>/dev/null` in
tima_pkm.mdt)
for imgfile in tima_pkm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_pkm image found;;
esac
case `ls tima_lkm.mdt 2>/dev/null` in
tima_lkm.mdt)
for imgfile in tima_lkm*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_lkm image found;;
esac
case `ls tima_atn.mdt 2>/dev/null` in
tima_atn.mdt)
for imgfile in tima_atn*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_atn image found;;
esac
case `ls dtcpip.mdt 2>/dev/null` in
dtcpip.mdt)
for imgfile in dtcpip*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no dtcpip image found;;
esac
case `ls securefp.mdt 2>/dev/null` in
securefp.mdt)
for imgfile in securefp*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no securefp image found;;
esac
case `ls mc_v2.mdt 2>/dev/null` in
mc_v2.mdt)
for imgfile in mc_v2*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no mc_v2 image found;;
esac
case `ls tima_key.mdt 2>/dev/null` in
tima_key.mdt)
for imgfile in tima_key*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_key image found;;
esac
case `ls tzpr25.mdt 2>/dev/null` in
tzpr25.mdt)
for imgfile in tzpr25*; do
ln -s /firmware/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no tzpr25 image found;;
esac
;;
*)
# Nothing to do. No links needed
;;
esac
# Check for images and set up symlinks
cd /firmware-modem/image
# Get the list of files in /firmware/image
# for which sym links have to be created
fwfiles=`ls modem* adsp* wcnss* mba* tima_* venus* widevine* playread* dtcpip* skm* keymaste* sshdcpap* sec_stor* mc_v2*`
# Check if the links with similar names
# have been created in /system/etc/firmware
cd /system/etc/firmware
linksNeeded=0
# For everyfile in fwfiles check if
# the corresponding file exists
for fwfile in $fwfiles; do
# if (condition) does not seem to work
# with the android shell. Therefore
# make do with case statements instead.
# if a file named $fwfile is present
# no need to create links. If the file
# with the name $fwfile is not present
# need to create links.
case `ls $fwfile` in
$fwfile)
continue;;
*)
# file with $fwfile does not exist
# need to create links
linksNeeded=1
break;;
esac
done
case $linksNeeded in
1)
cd /firmware-modem/image
case `ls modem.mdt` in
modem.mdt)
for imgfile in modem*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
# trying to log here but nothing will be logged since it is
# early in the boot process. Is there a way to log this message?
log -p w -t PIL no modem image found;;
esac
case `ls adsp.mdt 2>/dev/null` in
adsp.mdt)
for imgfile in adsp*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no adsp image found;;
esac
case `ls wcnss.mdt 2>/dev/null` in
wcnss.mdt)
for imgfile in wcnss*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no wcnss image found;;
esac
case `ls mba.mdt 2>/dev/null` in
mba.mdt)
for imgfile in mba*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no mba image found;;
esac
case `ls venus.mdt 2>/dev/null` in
venus.mdt)
for imgfile in venus*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no venus image found;;
esac
case `ls skm.mdt 2>/dev/null` in
skm.mdt)
for imgfile in skm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no skm image found;;
esac
case `ls keymaste.mdt 2>/dev/null` in
keymaste.mdt)
rm /system/etc/firmware/keymaste.*
for imgfile in keymaste*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
rm /system/etc/firmware/keymaster.*
;;
*)
log -p w -t PIL no keymaste image found;;
esac
case `ls sec_stor.mdt 2>/dev/null` in
sec_stor.mdt)
for imgfile in sec_stor*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sec_stor image found;;
esac
case `ls widevine.mdt 2>/dev/null` in
widevine.mdt)
for imgfile in widevine*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no widevine image found;;
esac
case `ls sshdcpap.mdt 2>/dev/null` in
sshdcpap.mdt)
for imgfile in sshdcpap*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no sshdcpap image found;;
esac
case `ls playread.mdt 2>/dev/null` in
playread.mdt)
for imgfile in playread*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL no playread image found;;
esac
case `ls tima_pkm.mdt 2>/dev/null` in
tima_pkm.mdt)
for imgfile in tima_pkm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_pkm image found;;
esac
case `ls tima_lkm.mdt 2>/dev/null` in
tima_lkm.mdt)
for imgfile in tima_lkm*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_lkm image found;;
esac
case `ls tima_atn.mdt 2>/dev/null` in
tima_atn.mdt)
for imgfile in tima_atn*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_atn image found;;
esac
case `ls dtcpip.mdt 2>/dev/null` in
dtcpip.mdt)
for imgfile in dtcpip*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no dtcpip image found;;
esac
case `ls mc_v2.mdt 2>/dev/null` in
mc_v2.mdt)
for imgfile in mc_v2*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
break;;
*)
log -p w -t PIL 8974 device but no mc_v2 image found;;
esac
case `ls tima_key.mdt 2>/dev/null` in
tima_key.mdt)
for imgfile in tima_key*; do
ln -s /firmware-modem/image/$imgfile /system/etc/firmware/$imgfile 2>/dev/null
done
;;
*)
log -p w -t PIL 8974 device but no tima_key image found;;
esac
;;
*)
# Nothing to do. No links needed
;;
esac
cd /

748
rootdir/etc/init.qcom.rc Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@ -27,45 +27,125 @@
on init
write /sys/class/android_usb/android0/f_rndis/wceis 1
chown system system /sys/class/android_usb/android0/usb30en
chmod 0660 /sys/class/android_usb/android0/usb30en
chown system system /sys/class/android_usb/android0/terminal_version
chmod 0660 /sys/class/android_usb/android0/terminal_version
on charger
setprop sys.usb.config mass_storage
on fs
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
write /sys/class/android_usb/android0/f_ffs/aliases adb
service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
class core
user root
oneshot
# This should only be used during device bringup
on property:sys.usb.config=mtp,diag,adb
# Following are the parameters required for usb functionality. They provide configurable options like
# product_id/vendor id and allows specifying required functions:
#
# Required parameters:
#
# /sys/class/android_usb/android0/enable: Enables/disables usb composition
# Value: 0 (disable), 1 (enable)
#
# /sys/class/android_usb/android0/idVendor: Stores Vendor ID
# Value: 05c6 (Vendor id for Qualcomm Inc)
#
# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition
# Value: 0x9xxx for composite interface, 0xFxxx for single interface
#
# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface.
# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2]
#
# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition.
# Value: Passed one per function driver. e.g. diag[,adb]
#
#Optional parameters:
#
# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to
# communicate to serial interface.
# Value: Passed one per interface. One value represents control and data transport together.
# e.g. smd[,sdio,tty,hsic]
# Only required if serial interface is present.
#
# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports
# used to communicate to serial interface. This is used to distinguish between more than one interface
# using same transport type.
# Value: Passed one per interface. One value represents control and data transport together.
# e.g. serial_hsic[,serial_hsusb]
# Only required for transport type hsic, optional for other transport types.
#
# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to
# communicate to rmnet interface.
# Value: Passed two per interface as control, data transport type pair.
# e.g. smd,bam[,hsuart,hsuart]
# Only required if rmnet interface is present.
#
# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports
# used to communicate to rmnet interface. This is used to distinguish between more than one interface
# using same transport type.
# Value: Passed one per interface. One value represents control and data transport together.
# e.g. rmnet_hsic[,rmnet_hsusb]
# Only required for transport type hsic, optional for other transport types.
# USB Composite for Samsung USB Driver
on property:sys.usb.config=mtp,conn_gadget
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/functions mtp,diag,adb
write /sys/module/ci13xxx_msm/parameters/streaming 1
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,conn_gadget
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,conn_gadget,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,conn_gadget,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# USB Composite for Samsung USB Driver
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/functions mtp,acm
write /sys/module/ci13xxx_msm/parameters/streaming 1
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
#on property:sys.usb.config=mtp,adb
# write /sys/class/android_usb/android0/enable 0
# write /sys/class/android_usb/android0/idVendor 04E8
# write /sys/class/android_usb/android0/idProduct 6860
# write /sys/class/android_usb/android0/functions mtp,adb
# write /sys/class/android_usb/android0/enable 1
# start adbd
# setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ptp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
@ -105,8 +185,8 @@ on property:sys.usb.config=rndis,acm,diag
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6864
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/f_acm/acm_transports hsic
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions rndis,acm,diag
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@ -115,9 +195,9 @@ on property:sys.usb.config=rmnet,acm,diag
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 685D
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/f_acm/acm_transports hsic
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
write /sys/class/android_usb/android0/functions diag,acm,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@ -126,8 +206,8 @@ on property:sys.usb.config=diag,acm,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 685D
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/f_acm/acm_transports hsic
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions diag,acm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
@ -169,42 +249,15 @@ on property:sys.usb.config=mass_storage,mtp,adb
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,acm
# As request from the CHINA GOVERNMENT SECURITY POLICY
on property:sys.usb.config=askon
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 685E
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions acm,mass_storage
write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/functions ${sys.usb.config}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,acm,adb
on property:sys.usb.config=askon,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 685E
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions acm,mass_storage,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,acm,mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage,acm,mtp,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/instances 1
write /sys/class/android_usb/android0/functions mtp,acm,mass_storage,adb
write /sys/class/android_usb/android0/enable 1
start adbd
write /sys/class/android_usb/android0/functions ${sys.usb.config}
setprop sys.usb.state ${sys.usb.config}
# USB compositions
@ -443,7 +496,9 @@ on property:sys.usb.config=diag,serial_hsic,serial_tty,rmnet_hsic,mass_storage,a
write /sys/class/android_usb/android0/idProduct 9025
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_serial/transports hsic,tty
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
@ -456,7 +511,9 @@ on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_
write /sys/class/android_usb/android0/idProduct 9031
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/f_serial/transports hsic,tty
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
@ -469,7 +526,9 @@ on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_
write /sys/class/android_usb/android0/idProduct 9032
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
write /sys/class/android_usb/android0/f_serial/transports hsic,tty
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@ -481,19 +540,53 @@ on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmne
write /sys/class/android_usb/android0/idProduct 9065
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# Fusion 3 composition without adb
# Fusion 3 DSDA composition without adb
on property:sys.usb.config=diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9066
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/f_serial/transports hsic,hsuart
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsuart
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsuart,hsuart
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsuart
write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
# Fusion 3 DSDA2 composition with adb
on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9065
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2
write /sys/class/android_usb/android0/f_serial/transports hsic,hsic
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb
write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
# Fusion 3 DSDA2 composition without adb
on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9066
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_mdm2
write /sys/class/android_usb/android0/f_serial/transports hsic,hsic
write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic,serial_hsusb
write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic,hsic,hsic
write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic,rmnet_hsusb
write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@ -578,6 +671,25 @@ on property:sys.usb.config=rndis,diag,diag_mdm,adb
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9086
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/functions rndis,diag
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,diag_mdm,diag_qsc,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9087
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/functions rndis,diag,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
#on property:sys.usb.config=ptp
# write /sys/class/android_usb/android0/enable 0
# write /sys/class/android_usb/android0/idVendor 05C6
@ -650,6 +762,25 @@ on property:sys.usb.config=mtp,diag,diag_mdm,adb
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9088
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/functions mtp,diag
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mtp,diag,diag_mdm,diag_qsc,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9089
write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm,diag_qsc
write /sys/class/android_usb/android0/functions mtp,diag,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,diag_mdm,ccid
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
@ -691,6 +822,7 @@ on property:sys.usb.config=diag,qdss
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 904A
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,qdss
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
@ -699,7 +831,67 @@ on property:sys.usb.config=diag,qdss,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9060
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions diag,qdss,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,qdss,rmnet_bam
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9083
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
write /sys/class/android_usb/android0/functions diag,qdss,rmnet
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=diag,qdss,rmnet_bam,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9084
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet
write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,qdss
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9081
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions rndis,diag,qdss
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag,qdss,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 9082
write /sys/class/android_usb/android0/f_diag/clients diag
write /sys/class/android_usb/android0/functions rndis,diag,qdss,adb
write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ncm
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 0525
write /sys/class/android_usb/android0/idProduct A4A1
write /sys/class/android_usb/android0/functions ncm
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=ncm,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6
write /sys/class/android_usb/android0/idProduct 908C
write /sys/class/android_usb/android0/functions ncm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state ${sys.usb.config}

94
rootdir/etc/init.ril.rc Executable file
View File

@ -0,0 +1,94 @@
# Copyright (c) 2013, 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 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.
#
#
# start ril-daemon only for targets on which radio is present
#
on property:ro.baseband=apq
setprop ro.radio.noril yes
stop ril-daemon
#
# start qmuxd and qmiproxy for appropriate targets
#
on property:ro.baseband=msm
start qmuxd
on property:ro.baseband=csfb
start qmuxd
start qmiproxy
on property:ro.baseband=svlte2a
start qmuxd
start qmiproxy
on property:ro.baseband=mdm
start qmuxd
on property:ro.baseband=sglte
start qmuxd
start qmiproxy
on property:ro.baseband=sglte2
start qmuxd
start qmiproxy
on property:ro.baseband=dsda2
start qmuxd
setprop persist.radio.multisim.config dsda
on property:ro.baseband=unknown
start qmuxd
on property:persist.radio.sglte_csfb=true
stop qmiproxy
setprop persist.radio.voice.modem.index 0
#
# start netmgrd
#
on property:ro.use_data_netmgrd=true
start netmgrd
#
# start multiple rilds based on multisim property
#
on property:persist.radio.multisim.config=dsds
stop ril-daemon
start ril-daemon
start ril-daemon1
on property:persist.radio.multisim.config=dsda
stop ril-daemon
start ril-daemon
start ril-daemon1
on property:persist.radio.multisim.config=tsts
stop ril-daemon
start ril-daemon
start ril-daemon1
start ril-daemon2

652
rootdir/etc/init.target.rc Executable file → Normal file
View File

@ -27,33 +27,31 @@
#
#
on init
mkdir /efs 0771 system radio
on early-init
mkdir /firmware 0771 system system
mkdir /firmware-modem 0771 system system
symlink /data/tombstones /tombstones
# on init
# export BOOTCLASSPATH ${BOOTCLASSPATH}:/system/framework/oem-services.jar:/system/framework/WfdCommon.jar:/system/framework/qcmediaplayer.jar
# export BOOTCLASSPATH ${BOOTCLASSPATH}:/system/framework/oem-services.jar:/system/framework/WfdCommon.jar:/system/framework/qcmediaplayer.jar:/system/framework/org.codeaurora.Performance.jar
# import cne init file
# on post-fs
# export LD_PRELOAD /vendor/lib/libNimsWrap.so
on fs
write /sys/devices/msm_sdcc.1/mmc_host/mmc0/power/control on
write /sys/devices/msm_sdcc.1/mmc_host/mmc1/power/control on
write /sys/devices/msm_sdcc.3/mmc_host/mmc2/power/control on
mount_all fstab.qcom
restorecon_recursive /persist
setprop ro.crypto.fuse_sdcard true
exec /system/bin/sh /init.qcom.syspart_fixup.sh ${ro.board.platform} ${ro.serialno}
# Keeping following partitions outside fstab file. As user may not have
# these partition flashed on the device. Failure to mount any partition in fstab file
# results in failure to launch late-start class.
wait /dev/block/platform/msm_sdcc.1/by-name/cache
check_fs /dev/block/platform/msm_sdcc.1/by-name/cache ext4
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/cache /cache nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic
# wait /dev/block/platform/msm_sdcc.1/by-name/cache
# check_fs /dev/block/platform/msm_sdcc.1/by-name/cache ext4
# mount ext4 /dev/block/platform/msm_sdcc.1/by-name/cache /cache nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic
wait /dev/block/platform/msm_sdcc.1/by-name/persist
check_fs /dev/block/platform/msm_sdcc.1/by-name/persist ext4
@ -62,52 +60,256 @@ on fs
wait /dev/block/platform/msm_sdcc.1/by-name/efs
check_fs /dev/block/platform/msm_sdcc.1/by-name/efs ext4
mount ext4 /dev/block/platform/msm_sdcc.1/by-name/efs /efs nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic
chown system radio /efs
chmod 0771 /efs
chown system radio /efs
chmod 0771 /efs
restorecon -R /efs
on fs_selinux
wait /dev/block/platform/msm_sdcc.1/by-name/apnhlos
mount vfat /dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware:s0
# wait /dev/block/platform/msm_sdcc.1/by-name/apnhlos
# mount vfat /dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337
wait /dev/block/platform/msm_sdcc.1/by-name/modem
mount vfat /dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware:s0
on fs_selinux_disable
wait /dev/block/platform/msm_sdcc.1/by-name/apnhlos
mount vfat /dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337
wait /dev/block/platform/msm_sdcc.1/by-name/modem
mount vfat /dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337
# wait /dev/block/platform/msm_sdcc.1/by-name/modem
# mount vfat /dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem ro shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337
write /sys/kernel/boot_adsp/boot 1
setprop qcom.audio.init complete
on post-fs-data
mkdir /data/tombstones 0771 system system
mkdir /data/tombstones 0771 system system
mkdir /tombstones/modem 0771 system system
mkdir /tombstones/lpass 0771 system system
mkdir /tombstones/wcnss 0771 system system
mkdir /tombstones/dsps 0771 system system
mkdir /tombstones/mdm 0771 system system
# sensors
# create directory for ril data
mkdir /data/misc/radio 0775 radio radio
mkdir /data/misc/radio/hatp 0775 radio system
# drm and related files in EFS
mkdir /efs/drm 0774 drm system
mkdir /efs/drm/sdrm 0774 drm system
mkdir /efs/drm/sdrm/data_agent 0774 drm system
restorecon /efs/drm
restorecon /efs/drm/sdrm
restorecon /efs/drm/data_agent
# DivX DRM
mkdir /efs/.files 0775
mkdir /efs/.files/.dx1 0775
mkdir /efs/.files/.dm33 0775
mkdir /efs/.files/.mp301 0775
chown media system /efs/.files/.dx1
chown media system /efs/.files/.dm33
chown media system /efs/.files/.mp301
chmod 0775 /efs/.files/.dx1
chmod 0775 /efs/.files/.dm33
chmod 0775 /efs/.files/.mp301
# h2k permission
chmod 0644 /efs/redata.bin
chown radio radio /efs/h2k.dat
chmod 0644 /efs/h2k.dat
# DRK permission
mkdir /efs/prov 0770 radio system
chown radio system /efs/prov/libdevkm.lock
chmod 0660 /efs/prov/libd
#OTG Test
chown system radio /sys/class/host_notify/usb_otg/booster
chmod 0660 /sys/class/host_notify/usb_otg/booster
#Essential node for usbservice
mkdir /dev/bus/ 755 root root
mkdir /dev/bus/usb 755 root root
# wifi
mkdir /efs/wifi 0775 system system
# Permission for fast dormacy for RIL
chown system radio /sys/devices/virtual/sec/bamdmux/waketime
# for TRP/TIS
write /data/.psm.info 1
chown system root /data/.psm.info
chmod 0660 /data/.psm.info
# icd
exec icd_check
chown system system /dev/icd
chmod 0644 /dev/icd
write /dev/icdr 0
chown system system /dev/icdr
chmod 0644 /dev/icdr
chown system system /dev/tzic
# h2k permission
chmod 0644 /efs/redata.bin
chown system camera /sys/class/flash/flash/flash_power
chmod 660 /sys/class/flash/flash/flash_power
on boot
# MUIC
chown radio system /sys/class/sec/switch/usb_sel
chown radio system /sys/class/sec/switch/usb_state
chown radio system /sys/class/sec/switch/uart_sel
chown radio system /sys/class/sec/switch/chg_type
chown radio system /sys/class/sec/switch/apo_factory
chown system radio /sys/class/sec/switch/adc
chown system radio /sys/class/sec/switch/otg_test
# Fingerprint
mkdir /dev/validity 0775 system system
# SEC DVFS sysfs node
chown radio system /sys/power/cpufreq_max_limit
chown radio system /sys/power/cpufreq_min_limit
chown radio system /sys/power/cpufreq_table
chmod 664 /sys/power/cpufreq_max_limit
chmod 664 /sys/power/cpufreq_min_limit
chmod 664 /sys/power/cpufreq_table
chown radio system /sys/devices/system/cpu/kernel_max
chmod 664 /sys/devices/system/cpu/kernel_max
chown radio system /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chmod 664 /sys/class/kgsl/kgsl-3d0/max_pwrlevel
chown radio system /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chmod 664 /sys/class/kgsl/kgsl-3d0/min_pwrlevel
chown radio system /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
chmod 664 /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
# Auto Brightness
chown system system /sys/class/backlight/panel/auto_brightness
chmod 0660 /sys/class/backlight/panel/auto_brightness
# LCD mdnie and panel work
chown system system /sys/class/mdnie/mdnie/lcdtype
chown system system /sys/class/mdnie/mdnie/lcd_power
chown system media_rw /sys/class/mdnie/mdnie/scenario
chmod 0660 /sys/class/mdnie/mdnie/scenario
chown system system /sys/class/mdnie/mdnie/tuning
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system system /sys/class/mdnie/mdnie/mdnie_temp
chown system system /sys/class/mdnie/mdnie/mode
chown system system /sys/class/mdnie/mdnie/negative
chown system media_rw /sys/class/mdnie/mdnie/playspeed
chown system media_rw /sys/class/mdnie/mdnie/accessibility
chown system system /sys/class/mdnie/mdnie/cabc
chown system system /sys/class/mdnie/mdnie/bypass
chown system system /sys/class/lcd/panel/window_type
chown radio system /sys/class/lcd/panel/power_reduce
chown radio system /sys/class/lcd/panel/siop_enable
chown radio system /sys/class/lcd/panel/temperature
chown radio system /sys/class/lcd/panel/tuning
chown radio system /sys/class/lcd/panel/partial_disp
chmod 0660 /sys/class/lcd/panel/partial_disp
# LCD HMT
chown radio system /sys/class/lcd/panel/hmt_on
chown radio system /sys/class/lcd/panel/hmt_bright
chown radio system /sys/class/lcd/panel/hmt_dual_scan
chown radio system /sys/class/lcd/panel/hmt_aid
chown radio system /sys/class/lcd/panel/hmt_change_fps
chown radio system /sys/class/lcd/panel/hmt_hbm
chown radio system /sys/class/lcd/panel/hmt
chown radio system /sys/class/lcd/panel/force_500cd
chmod 0660 /sys/class/lcd/panel/hmt_on
chmod 0660 /sys/class/lcd/panel/hmt_bright
chmod 0660 /sys/class/lcd/panel/hmt_dual_scan
chmod 0660 /sys/class/lcd/panel/hmt_aid
chmod 0660 /sys/class/lcd/panel/hmt_change_fps
chmod 0660 /sys/class/lcd/panel/hmt_hbm
chmod 0660 /sys/class/lcd/panel/hmt
# LCD ALPM Mode
chown system system /sys/class/lcd/panel/alpm
chmod 0660 /sys/class/lcd/panel/alpm
# Auto Brightness
chown system system /sys/class/backlight/panel/auto_brightness
chmod 0660 /sys/class/backlight/panel/auto_brightness
# Permissions for TCON
chown system system /sys/class/tcon/tcon/lux
chown system system /sys/class/tcon/tcon/auto_br
chown system media_rw /sys/class/tcon/tcon/mode
chown system radio /sys/class/tcon/tcon/black_test
chown system radio /sys/class/tcon/tcon/tcon_test
# Adjust YUV to RGB Conversion(CSC_Conversion)
chown system media_rw /sys/class/graphics/fb0/csc_cfg
chmod 0660 /sys/class/graphics/fb0/csc_cfg
#OTG Test
chown system radio /sys/class/host_notify/usb_otg/booster
chmod 0660 /sys/class/host_notify/usb_otg/booster
#Essential node for usbservice
mkdir /dev/bus/ 755 root root
mkdir /dev/bus/usb 755 root root
# Permissions for InputDevices.
chown system radio /sys/class/sec/tsp/cmd
chown system system /sys/class/sec/sec_touchkey/brightness
# Permissions for Camera
chown system radio /sys/class/camera/rear/rear_camfw
chown system radio /sys/class/camera/rear/rear_camfw_load
chown system radio /sys/class/camera/rear/rear_camtype
chown system radio /sys/class/camera/flash/rear_flash
chown system radio /sys/class/camera/front/front_camfw
chown system radio /sys/class/camera/front/front_camtype
#OTG Test
chown system radio /sys/class/host_notify/usb_otg/booster
chmod 0660 /sys/class/host_notify/usb_otg/booster
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/sec/led/led_r
chown system system /sys/class/sec/led/led_g
chown system system /sys/class/sec/led/led_b
chown system system /sys/class/sec/led/led_pattern
chown system system /sys/class/sec/led/led_blink
chown system system /sys/class/sec/led/led_lowpower
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
# Permissions for Audio
chown system system /sys/devices/fe12f000.slim/es705-codec-gen0/keyword_grammar_path
chown system system /sys/devices/fe12f000.slim/es705-codec-gen0/keyword_net_path
# Accelerometer_sensor
chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
chown system radio /sys/class/sensors/accelerometer_sensor/calibration
chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
chown system radio /sys/class/sensors/accelerometer_sensor/vendor
chown system radio /sys/class/sensors/accelerometer_sensor/name
chown system radio /sys/class/sensors/gyro_sensor/power_on
chown system radio /sys/class/sensors/gyro_sensor/temperature
chown system radio /sys/class/sensors/gyro_sensor/vendor
chown system radio /sys/class/sensors/gyro_sensor/name
chown system radio /sys/class/sensors/gyro_sensor/selftest
chown system radio /sys/class/sensors/magnetic_sensor/raw_data
chown system radio /sys/class/sensors/magnetic_sensor/vendor
chown system radio /sys/class/sensors/magnetic_sensor/name
chown system radio /sys/class/sensors/magnetic_sensor/selftest
chown system radio /sys/class/sensors/magnetic_sensor/adc
chown system radio /sys/class/sensors/magnetic_sensor/dac
chown system radio /sys/class/sensors/magnetic_sensor/status
chown system radio /sys/class/sensors/accelerometer_sensor/selftest
# Proximity_sensor
chown system radio /sys/class/sensors/proximity_sensor/state
chown system radio /sys/class/sensors/proximity_sensor/raw_data
chown system radio /sys/class/sensors/proximity_sensor/prox_avg
@ -115,69 +317,213 @@ on post-fs-data
chown system radio /sys/class/sensors/proximity_sensor/prox_cal2
chown system radio /sys/class/sensors/proximity_sensor/prox_offset_pass
chown system radio /sys/class/sensors/proximity_sensor/prox_thresh
chown system radio /sys/class/sensors/proximity_sensor/thresh_high
chown system radio /sys/class/sensors/proximity_sensor/thresh_low
chown system radio /sys/class/sensors/proximity_sensor/vendor
chown system radio /sys/class/sensors/proximity_sensor/name
chown system radio /sys/class/sensors/proximity_sensor/thresh_high
chown system radio /sys/class/sensors/proximity_sensor/thresh_low
chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
# Light_sensor
chown system radio /sys/class/sensors/light_sensor/lux
chown system radio /sys/class/sensors/light_sensor/raw_data
chown system radio /sys/class/sensors/light_sensor/vendor
chown system radio /sys/class/sensors/light_sensor/name
# Gyro_sensor
chown system radio /sys/class/sensors/gyro_sensor/power_on
chown system radio /sys/class/sensors/gyro_sensor/power_off
chown system radio /sys/class/sensors/gyro_sensor/temperature
chown system radio /sys/class/sensors/gyro_sensor/selftest
chown system radio /sys/class/sensors/gyro_sensor/selftest_dps
chown system radio /sys/class/sensors/gyro_sensor/vendor
chown system radio /sys/class/sensors/gyro_sensor/name
# Barometer_sensor
chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
chown system radio /sys/class/sensors/barometer_sensor/vendor
chown system radio /sys/class/sensors/barometer_sensor/name
chown system radio /sys/class/sensors/barometer_sensor/calibration
# Magnetic_sensor
# chown system radio /dev/akm8963
chown system radio /sys/class/sensors/magnetic_sensor/raw_data
chown system radio /sys/class/sensors/magnetic_sensor/vendor
chown system radio /sys/class/sensors/magnetic_sensor/name
chown system radio /sys/class/sensors/magnetic_sensor/selftest
chown system radio /sys/class/sensors/magnetic_sensor/adc
chown system radio /sys/class/sensors/magnetic_sensor/dac
chown system radio /sys/class/sensors/magnetic_sensor/status
# Temphumidity_sensor
chown system radio /sys/class/sensors/temphumidity_sensor/vendor
chown system radio /sys/class/sensors/temphumidity_sensor/name
chown system radio /sys/class/sensors/temphumidity_sensor/engine_ver
chown system radio /sys/class/sensors/temphumidity_sensor/engine_ver2
chown system radio /sys/class/sensors/temphumidity_sensor/cp_thm
chown system radio /sys/class/sensors/temphumidity_sensor/send_accuracy
# Grip_sensor
chown system radio /sys/class/sensors/grip_sensor/reset
chown system radio /sys/class/sensors/grip_sensor/raw_data
chown system radio /sys/class/sensors/grip_sensor/threshold
chown system radio /sys/class/sensors/grip_sensor/calibration
chown system radio /sys/class/sensors/grip_sensor/onoff
chown system radio /sys/class/sensors/grip_sensor/vendor
chown system radio /sys/class/sensors/grip_sensor/name
chown system radio /sys/class/sensors/grip_sensor/raw_data
chown system radio /sys/class/sensors/grip_sensor/calibration
chown system radio /sys/class/sensors/grip_sensor/threshold
chown system radio /sys/class/sensors/grip_sensor/thresh_touch_check
chown system radio /sys/class/sensors/grip_sensor/onoff
chown system radio /sys/class/sensors/grip_sensor/erase_cal
# SensorHub
chown system radio /sys/class/sensors/ssp_sensor/enable
chown system radio /sys/class/sensors/ssp_sensor/mcu_rev
chown system radio /sys/class/sensors/ssp_sensor/mcu_name
chown system radio /sys/class/sensors/ssp_sensor/mcu_test
chown system radio /sys/class/sensors/ssp_sensor/mcu_reset
chown system radio /sys/class/sensors/ssp_sensor/mcu_update
chown system radio /sys/class/sensors/ssp_sensor/mcu_sleep_test
chown system radio /sys/class/sensors/ssp_sensor/ori_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/mag_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/temp_humi_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/accel_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/rot_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/game_rot_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/step_det_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/gyro_poll_delay
chown system radio /sys/class/sensors/ssp_sensor/ssp_flush
chmod 0600 /dev/batch_io
chown system system /dev/batch_io
# Gesture_sensor
chown system radio /sys/class/sensors/gesture_sensor/vendor
chown system radio /sys/class/sensors/gesture_sensor/name
chown system radio /sys/class/sensors/gesture_sensor/raw_data
chown system radio /sys/class/sensors/gesture_sensor/ir_current
chown system radio /sys/class/sensors/gesture_sensor/selftest
# SHTC1 BULK
chmod 0600 /dev/shtc1_sensor
chown system system /dev/shtc1_sensor
on boot
start imsqmidaemon
insmod /system/lib/modules/adsprpc.ko
# Permissions for SSRM
chmod 0664 /sys/devices/platform/sec-thermistor/temperature
chmod 0664 /sys/class/power_supply/battery/siop_level
chmod 0664 /sys/class/power_supply/battery/test_charge_current
chown radio system /sys/devices/platform/sec-thermistor/temperature
chown radio system /sys/class/power_supply/battery/siop_level
chown radio system /sys/class/power_supply/battery/test_charge_current
# Allow usb charging to be disabled persistently
# MOBEAM
chown system radio /sys/class/sec/sec_barcode_emul/vendor
chown system radio /sys/class/sec/sec_barcode_emul/name
chown system radio /sys/class/sec/sec_barcode_emul/barcode_send
chown system radio /sys/class/sec/sec_barcode_emul/barcode_led_status
chown system radio /sys/class/sec/sec_barcode_emul/barcode_ver_check
# NFC_NXP
setprop ro.nfc.port "I2C"
chmod 0600 /dev/pn547
chown nfc nfc /dev/pn547
# NFC_BROADCOM
chmod 0600 /dev/bcm2079x
chown nfc nfc /dev/bcm2079x
mkdir /data/nfc
mkdir /data/nfc/param
chmod 0700 /data/nfc
chmod 0700 /data/nfc/param
chown nfc nfc /data/nfc
chown nfc nfc /data/nfc/param
# IR_LED
chown system radio /sys/class/sec/sec_ir/ir_send
chown system radio /sys/class/sec/sec_ir/ir_send_result
# Permission for HALL IC
chown system radio /sys/class/sec/sec_key/hall_detect
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,704512,4096,16384,110208
setprop net.tcp.buffersize.wifi 524288,1048576,2560000,524288,1048576,2560000
setprop net.tcp.buffersize.lte 524288,1048576,2560000,524288,1048576,2560000
setprop net.tcp.buffersize.umts 4094,87380,704512,4096,16384,110208
setprop net.tcp.buffersize.hspa 4092,87380,704512,4096,16384,262144
setprop net.tcp.buffersize.hsupa 4092,87380,704512,4096,16384,262144
setprop net.tcp.buffersize.hsdpa 4092,87380,704512,4096,16384,110208
setprop net.tcp.buffersize.hspap 4092,87380,704512,4096,16384,262144
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
setprop net.tcp.buffersize.gprs 4096,30000,30000,4096,8760,11680
setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
#wifi display
write /proc/sys/net/core/rmem_max 1048576
write /proc/sys/net/core/wmem_max 2097152
# HDCP 2.x
mkdir /data/system/hdcp2 0775 system system
# h2k permission
chown radio system /efs/redata.bin
chmod 0644 /efs/h2k.dat
mkdir /data/misc/radio/hatp 0775 radio system
# Permissions for Charging
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/update
chown system radio /sys/class/power_supply/battery/factory_mode
chown system radio /sys/class/power_supply/battery/batt_slate_mode
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/call
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/video
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/music
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/browser
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/hotspot
chown sdcard_rw sdcard_rw /sys/class/power_supply/battery/camera
chown system radio /sys/class/power_supply/battery/talk_wcdma
chown system radio /sys/class/power_supply/battery/talk_gsm
chown system radio /sys/class/power_supply/battery/call
chown system radio /sys/class/power_supply/battery/data_call
chown system radio /sys/class/power_supply/battery/gps
chown system radio /sys/class/power_supply/battery/wifi
chown system radio /sys/class/power_supply/battery/lte
chown system radio /sys/class/power_supply/battery/wc_enable
chown system radio /sys/class/power_supply/battery/lcd
# Permission for fast dormancy for RIL
chown system radio /sys/devices/virtual/sec/bamdmux/waketime
# Permissions for gpio_keys
chown system radio /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# Vibetonz
chmod 0660 /dev/tspdrv
chown root shell /dev/tspdrv
chown system system /sys/class/timed_output/vibrator/pwm_value
chmod 0660 /sys/class/timed_output/vibrator/pwm_value
chown system system /sys/class/timed_output/vibrator/pwm_max
chmod 0660 /sys/class/timed_output/vibrator/pwm_max
chown system system /sys/class/timed_output/vibrator/pwm_min
chmod 0660 /sys/class/timed_output/vibrator/pwm_min
chown system system /sys/class/timed_output/vibrator/pwm_default
chmod 0660 /sys/class/timed_output/vibrator/pwm_default
chown system system /sys/class/timed_output/vibrator/pwm_threshold
chmod 0660 /sys/class/timed_output/vibrator/pwm_threshold
# Panel color temperature
chmod 0660 /sys/class/lcd/panel/panel_colors
chown system system /sys/class/lcd/panel/panel_colors
# Allow usb charging to be disabled peristently
on property:persist.usb.chgdisabled=1
write /sys/class/power_supply/battery/charging_enabled 0
on property:persist.usb.chgdisabled=0
write /sys/class/power_supply/battery/charging_enabled 1
# bt_hsic_control
service bt_hsic_control /system/bin/sh /system/etc/hsic.control.bt.sh
user root
disabled
on property:bluetooth.hsic_ctrl=load_wlan
start bt_hsic_control
on property:bluetooth.hsic_ctrl=unbind_hsic
start bt_hsic_control
#start camera server as daemon
service qcamerasvr /system/bin/mm-qcamera-daemon
class main
user camera
group camera system inet input graphics radio sdcard_rw sdcard_r media_rw shell log
#start gesture server as daemon
service qgesturesvr /system/bin/mm-gesture-daemon
class late_start
user system
group system camera input graphics net_bt_stack
#start GNSS/Sensor interface daemon
service gsiff_daemon /system/bin/gsiff_daemon
class late_start
user gps
group gps net_raw misc
user system
group gps qcom_oncrpc net_raw
service qrngd /system/bin/qrngd -f
class main
user root
group root
class main
user root
group root
service qrngp /system/bin/qrngp
class main
@ -190,163 +536,33 @@ on property:sys.boot_completed=1
start qrngp
service qseecomd /system/bin/qseecomd
class core
class late_start
user root
group root
group system
service mpdecision /system/bin/mpdecision --avg_comp
user root
disabled
service qosmgrd /system/bin/qosmgr /system/etc/qosmgr_rules.xml
user system
group system
disabled
service thermal-engine /system/bin/thermal-engine
class main
class core
user root
group root
service security-check1 /sbin/security_boot_check system
class core
oneshot
service security-check2 /sbin/security_boot_check recovery
class core
oneshot
group radio system
service time_daemon /system/bin/time_daemon
class late_start
user root
group root
service adsprpcd /system/bin/adsprpcd
class main
user media
group media
service audiod /system/bin/audiod
class late_start
user system
group system
service usf_tester /system/bin/usf_tester
user system
group system inet
disabled
service usf_epos /system/bin/usf_epos
user system
group system inet
disabled
service usf_gesture /system/bin/usf_gesture
user system
group system inet
disabled
service usf_p2p /system/bin/usf_p2p
user system
group system inet
disabled
service usf_hovering /system/bin/usf_hovering
user system
group system inet
disabled
service usf_proximity /system/bin/usf_proximity
user system
group system inet
disabled
service usf-post-boot /system/bin/sh /system/etc/usf_post_boot.sh
class late_start
user root
disabled
oneshot
service prepare-mobicore /system/bin/sh /system/bin/mobicore-presetup.sh
class core
user root
group root
oneshot
service run-mobicore /system/bin/sh /system/bin/mobicore-startup.sh
class core
user system
group system
on property:init.svc.bootanim=stopped
start usf-post-boot
start run-mobicore
service imsqmidaemon /system/bin/imsqmidaemon
class main
user system
group radio net_raw log qcom_diag
disabled
# imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service imsdatadaemon /system/bin/imsdatadaemon
class main
user root
group system wifi radio net_raw log qcom_diag net_admin
disabled
service wcnss-service /system/bin/wcnss_service
class late_start
user system
group system wifi
oneshot
on property:sys.ims.QMI_DAEMON_STATUS=1
start imsdatadaemon
service ims_rtp_daemon /system/bin/ims_rtp_daemon
class main
service ppd /system/bin/mm-pp-daemon
class late_start
user system
group radio net_raw diag qcom_diag log
disabled
on property:sys.ims.DATA_DAEMON_STATUS=1
start ims_rtp_daemon
# service ppd /system/bin/mm-pp-daemon
# class late_start
# user system
# socket pps stream 0660 system system
# group system graphics
#
# on property:init.svc.surfaceflinger=stopped
# stop ppd
# Secure Storage startup
service secure_storage /system/bin/secure_storage_daemon
class core
user system
group system
disabled
on property:ro.securestorage.support=true
mkdir /dev/.secure_storage
chmod 0711 /dev/.secure_storage
chown system system /dev/.secure_storage
restorecon -R /dev/.secure_storage
start secure_storage
on property:ro.securestorage.knox=true
mkdir /dev/.secure_storage
chmod 0711 /dev/.secure_storage
chown system system /dev/.secure_storage
restorecon -R /dev/.secure_storage
start secure_storage
# SecEDS
service TvoutService_C /system/bin/bintvoutservice
class main
user system
group graphics
on property:ro.SecEDS.enable=false
stop TvoutService_C
socket pps stream 0660 system system graphics
group system graphics