From 0fc33c153356929673695f42d5cdadfb3f521d9c Mon Sep 17 00:00:00 2001 From: Valera1978 Date: Tue, 10 Oct 2017 20:03:00 +0300 Subject: [PATCH] Update and move to msm8974 kernel --- Android.mk | 10 +- BoardConfig.mk | 74 +- README.md | 2 +- configs/clatd.conf | 15 + configs/flp.conf | 2 +- configs/gps.conf | 124 ++ configs/izat.conf | 176 +++ configs/media_profiles.xml | 361 +---- configs/p2p_supplicant_overlay.conf | 14 + configs/sap.conf | 44 + configs/thermald-8974.conf | 80 - configs/wpa_supplicant_overlay.conf | 4 + device.mk | 112 +- extract-files.sh | 63 +- extract-function.sh | 68 - full_viennalte.mk | 24 +- include/device_perms.h | 24 + include/samsung_lights.h | 54 + include/samsung_macloader.h | 40 + init/init_viennalte.cpp | 50 + liblights/Android.mk | 31 - liblights/NOTICE | 190 --- liblights/lights.c | 170 --- lineage.mk | 5 +- mkbootimg.mk | 41 - .../base/core/res/res/values/config.xml | 97 +- .../base/core/res/res/xml/power_profile.xml | 67 +- .../SettingsProvider/res/values/config.xml | 18 +- .../packages/SystemUI/res/values/config.xml | 34 - .../apps/CarrierConfig/res/xml/vendor.xml | 38 + .../apps/Dialer/res/values/config.xml | 20 + .../apps/FlipFlap/res/values/config.xml | 32 + .../apps/FlipFlap/res/values/dimens.xml | 29 + .../packages/apps/Mms/res/xml/mms_config.xml | 49 - .../apps/Settings/res/values/bools.xml | 7 +- .../apps/Settings/res/values/config.xml | 6 +- .../packages/apps/Snap/res/values/config.xml | 23 + .../services/Telephony/res/values/config.xml | 9 - power/power_ext.c | 87 +- recovery/recovery_keys.c | 39 + ril/Android.mk | 8 +- .../internal/telephony/NoteProRIL.java | 828 +++++----- rootdir/Android.mk | 32 +- rootdir/etc/fstab.qcom | 29 +- rootdir/etc/init.carrier.rc | 94 -- rootdir/etc/init.crda.sh | 34 - rootdir/etc/init.input.sh | 12 - rootdir/etc/init.qcom.rc | 1335 ++++++++++------- rootdir/etc/init.qcom.usb.rc | 5 + rootdir/etc/init.sec.boot.sh | 4 + rootdir/etc/init.target.rc | 539 ------- rootdir/etc/ueventd.qcom.rc | 356 +++-- sepolicy/file_contexts | 9 - sepolicy/fingerprintd.te | 14 - sepolicy/platform_app.te | 7 +- sepolicy/priv_app.te | 6 +- sepolicy/untrusted_app.te | 6 +- setup-makefiles.sh | 146 +- system.prop | 81 +- twrp.mk | 30 + twrp/recovery/root/etc/twrp.fstab | 13 + 61 files changed, 2583 insertions(+), 3338 deletions(-) create mode 100755 configs/clatd.conf create mode 100755 configs/gps.conf create mode 100755 configs/izat.conf create mode 100755 configs/p2p_supplicant_overlay.conf create mode 100755 configs/sap.conf delete mode 100755 configs/thermald-8974.conf create mode 100755 configs/wpa_supplicant_overlay.conf delete mode 100755 extract-function.sh create mode 100755 include/device_perms.h create mode 100755 include/samsung_lights.h create mode 100755 include/samsung_macloader.h create mode 100755 init/init_viennalte.cpp delete mode 100755 liblights/Android.mk delete mode 100755 liblights/NOTICE delete mode 100755 liblights/lights.c delete mode 100755 mkbootimg.mk delete mode 100755 overlay/frameworks/base/packages/SystemUI/res/values/config.xml create mode 100755 overlay/packages/apps/CarrierConfig/res/xml/vendor.xml create mode 100755 overlay/packages/apps/Dialer/res/values/config.xml create mode 100755 overlay/packages/apps/FlipFlap/res/values/config.xml create mode 100755 overlay/packages/apps/FlipFlap/res/values/dimens.xml delete mode 100755 overlay/packages/apps/Mms/res/xml/mms_config.xml create mode 100755 overlay/packages/apps/Snap/res/values/config.xml create mode 100755 recovery/recovery_keys.c delete mode 100755 rootdir/etc/init.carrier.rc delete mode 100755 rootdir/etc/init.crda.sh delete mode 100755 rootdir/etc/init.input.sh create mode 100755 rootdir/etc/init.sec.boot.sh delete mode 100755 rootdir/etc/init.target.rc delete mode 100755 sepolicy/fingerprintd.te create mode 100755 twrp.mk create mode 100755 twrp/recovery/root/etc/twrp.fstab diff --git a/Android.mk b/Android.mk index 3f95577..e3e3e4f 100755 --- a/Android.mk +++ b/Android.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2012 The Android Open-Source Project +# Copyright (C) 2014 The CyanogenMod Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,16 +14,8 @@ # limitations under the License. # -# WARNING: Everything listed here will be built on ALL platforms, -# including x86, the emulator, and the SDK. Modules must be uniquely -# named (liblights.tuna), and must build everywhere, or limit themselves -# to only building on ARM if they include assembly. Individual makefiles -# are responsible for having their own logic, for fine-grained control. - LOCAL_PATH := $(call my-dir) ifeq ($(TARGET_DEVICE),viennalte) - include $(call all-subdir-makefiles,$(LOCAL_PATH)) - endif diff --git a/BoardConfig.mk b/BoardConfig.mk index 8bc5ba0..8952c7f 100755 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -1,3 +1,4 @@ +# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -12,14 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -# -# This file sets variables that control the way modules are built -# thorughout the system. It should not be used to conditionally -# disable makefiles (the proper mechanism to control what gets -# included in a build is to use PRODUCT_PACKAGES in a product -# definition file). -# - # inherit from common msm8974 -include device/samsung/msm8974-common/BoardConfigCommon.mk @@ -30,6 +23,7 @@ TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include TARGET_OTA_ASSERT_DEVICE := viennalte,viennaltexx # BLOCK_BASED_OTA:= false +# WITH_TWRP := true # Use Snapdragon LLVM if available on build server TARGET_USE_SDCLANG := true @@ -43,13 +37,15 @@ BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=31 msm BOARD_KERNEL_PAGESIZE := 2048 BOARD_KERNEL_SEPARATED_DT := true BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000 --tags_offset 0x01E00000 -BOARD_CUSTOM_BOOTIMG_MK := $(LOCAL_PATH)/mkbootimg.mk -TARGET_KERNEL_CONFIG := lineageos_viennalteeur_defconfig +BOARD_CUSTOM_BOOTIMG := true +BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-linux-androideabi- -TARGET_KERNEL_SOURCE := kernel/samsung/lt03lte +TARGET_KERNEL_CONFIG := lineageos_viennalteeur_defconfig +TARGET_KERNEL_SOURCE := kernel/samsung/msm8974 # Init TARGET_INIT_VENDOR_LIB := libinit_msm8974 +TARGET_LIBINIT_MSM8974_DEFINES_FILE := device/samsung/viennalte/init/init_viennalte.cpp # Audio BOARD_HAVE_NEW_QCOM_CSDCLIENT := true @@ -62,29 +58,17 @@ BOARD_BLUETOOTH_USES_HCIATTACH_PROPERTY := false BOARD_HAVE_BLUETOOTH_BCM := true # Camera -#TARGET_PROVIDES_CAMERA_HAL := true TARGET_HAS_LEGACY_CAMERA_HAL1 := true USE_DEVICE_SPECIFIC_CAMERA := true -#TARGET_NEEDS_GCC_LIBC := true -# Charger -BOARD_CHARGER_SHOW_PERCENTAGE := true - -# Hardware +# CMHW BOARD_HARDWARE_CLASS += $(LOCAL_PATH)/cmhw -# Display -TARGET_BOOTANIMATION_MULTITHREAD_DECODE := true -SF_VSYNC_EVENT_PHASE_OFFSET_NS := 5000000 -VSYNC_EVENT_PHASE_OFFSET_NS := 7500000 - # Legacy BLOB Support TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true -# Lights -TARGET_PROVIDES_LIBLIGHT := true - # Partitions +BOARD_FLASH_BLOCK_SIZE := 131072 BOARD_BOOTIMAGE_PARTITION_SIZE := 10485760 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 13631488 # sm-p905 eu size 2810183680 @@ -92,44 +76,54 @@ BOARD_RECOVERYIMAGE_PARTITION_SIZE := 13631488 # us size can be less, reduce system BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2000000000 BOARD_USERDATAIMAGE_PARTITION_SIZE := 27847015936 -BOARD_FLASH_BLOCK_SIZE := 131072 +BOARD_CACHEIMAGE_PARTITION_SIZE := 524288000 TARGET_USERIMAGES_USE_EXT4 := true TARGET_USERIMAGES_USE_F2FS := true +BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := f2fs -# PowerHAL -TARGET_POWERHAL_VARIANT := qcom +# Power HAL TARGET_POWERHAL_SET_INTERACTIVE_EXT := $(LOCAL_PATH)/power/power_ext.c +TARGET_POWERHAL_VARIANT := qcom -# RIL +# Radio BOARD_RIL_CLASS := ../../../device/samsung/viennalte/ril # Recovery +BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/samsung/viennalte/recovery/recovery_keys.c +BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_23x41.h\" +BOARD_USES_MMCUTILS := true BOARD_HAS_LARGE_FILESYSTEM := true BOARD_HAS_NO_MISC_PARTITION := true BOARD_HAS_NO_SELECT_BUTTON := true BOARD_RECOVERY_SWIPE := true -BOARD_USE_CUSTOM_RECOVERY_FONT := \"roboto_23x41.h\" -BOARD_USES_MMCUTILS := true TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/etc/fstab.qcom # SELinux -include device/qcom/sepolicy/sepolicy.mk BOARD_SEPOLICY_DIRS += $(LOCAL_PATH)/sepolicy -# WiFi +# Sensors +#TARGET_NO_SENSOR_PERMISSION_CHECK := true + +# TWRP Support - Optional +ifeq ($(WITH_TWRP),true) +-include $(LOCAL_PATH)/twrp.mk +endif + +# Wifi BOARD_HAVE_SAMSUNG_WIFI := true +BOARD_WLAN_DEVICE := bcmdhd BOARD_HOSTAPD_DRIVER := NL80211 +BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) WPA_SUPPLICANT_VERSION := VER_0_8_X WIFI_BAND := 802_11_ABG -BOARD_WLAN_DEVICE := bcmdhd -BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) -BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_$(BOARD_WLAN_DEVICE) -WIFI_DRIVER_FW_PATH_AP := "/system/etc/wifi/bcmdhd_apsta.bin" -WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path" -WIFI_DRIVER_FW_PATH_STA := "/system/etc/wifi/bcmdhd_sta.bin" WIFI_DRIVER_MODULE_ARG := "firmware_path=/system/etc/wifi/bcmdhd_sta.bin nvram_path=/system/etc/wifi/nvram_net.txt" WIFI_DRIVER_MODULE_AP_ARG := "firmware_path=/system/etc/wifi/bcmdhd_apsta.bin nvram_path=/system/etc/wifi/nvram_net.txt" +WIFI_DRIVER_FW_PATH_PARAM := "/sys/module/dhd/parameters/firmware_path" +WIFI_DRIVER_FW_PATH_STA := "/system/etc/wifi/bcmdhd_sta.bin" +WIFI_DRIVER_FW_PATH_AP := "/system/etc/wifi/bcmdhd_apsta.bin" -#WIFI_DRIVER_NVRAM_PATH_PARAM:= "/sys/module/dhd/parameters/nvram_path" -#WIFI_DRIVER_NVRAM_PATH := "/system/etc/wifi/nvram_net.txt" +# inherit from the proprietary version +-include vendor/samsung/viennalte/BoardConfigVendor.mk diff --git a/README.md b/README.md index d77de13..e815c0b 100755 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ repo init -u git://github.com/LineageOS/android.git -b cm-14.1 - + diff --git a/configs/clatd.conf b/configs/clatd.conf new file mode 100755 index 0000000..eb42ee8 --- /dev/null +++ b/configs/clatd.conf @@ -0,0 +1,15 @@ +# host ID to use as the source of CLAT traffic +# this is a /128 taken out of the /64 routed to the phone +ipv6_host_id ::464 + +# ipv4 subnet for the local traffic to use. This is a /32 host address +ipv4_local_subnet 192.0.0.4 + +# get the plat_subnet from dns lookups (requires DNS64) +plat_from_dns64 yes +# hostname to use to lookup plat subnet. must contain only A records +plat_from_dns64_hostname ipv4.google.com + +# plat subnet to send ipv4 traffic to. This is a /96 subnet. +# This setting only makes sense with: plat_from_dns64 no +#plat_subnet 64:ff9b:: diff --git a/configs/flp.conf b/configs/flp.conf index 7d6002f..a34f3d2 100755 --- a/configs/flp.conf +++ b/configs/flp.conf @@ -29,7 +29,7 @@ BATCH_SIZE=20 # GEOFENCE = 0x01 # BATCHING = 0x02 # default = GEOFENCE | BATCHING -CAPABILITIES=0x03 +CAPABILITIES=0x00 ################################### # FLP BATCHING ACCURACY diff --git a/configs/gps.conf b/configs/gps.conf new file mode 100755 index 0000000..37c1865 --- /dev/null +++ b/configs/gps.conf @@ -0,0 +1,124 @@ +#Uncommenting these urls would only enable +#the power up auto injection and force injection(test case). +XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin +XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin +XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin + +#Version check for XTRA +#DISABLE = 0 +#AUTO = 1 +#XTRA2 = 2 +#XTRA3 = 3 +XTRA_VERSION_CHECK=0 + +# Error Estimate +# _SET = 1 +# _CLEAR = 0 +ERR_ESTIMATE=0 + +#Test +NTP_SERVER=time.gpsonextra.net +#Asia +# NTP_SERVER=asia.pool.ntp.org +#Europe +# NTP_SERVER=europe.pool.ntp.org +#North America +# NTP_SERVER=north-america.pool.ntp.org + +# DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info +# 4 - Debug, 5 - Verbose +# If DEBUG_LEVEL is commented, Android's logging levels will be used +DEBUG_LEVEL = 4 + +# Intermediate position report, 1=enable, 0=disable +INTERMEDIATE_POS=0 + +# Below bit mask configures how GPS functionalities +# should be locked when user turns off GPS on Settings +# Set bit 0x1 if MO GPS functionalities are to be locked +# Set bit 0x2 if NI GPS functionalities are to be locked +# default - non is locked for backward compatibility +#GPS_LOCK = 0 + +# supl version 1.0 +SUPL_VER=0x10000 + +# Emergency SUPL, 1=enable, 0=disable +SUPL_ES=0 # Sensor R&D : Non-SUPL ES should be default + +#Choose PDN for Emergency SUPL +#1 - Use emergency PDN +#0 - Use regular SUPL PDN for Emergency SUPL +USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1 + +#SUPL_MODE is a bit mask set in config.xml per carrier by default. +#If it is uncommented here, this value will over write the value from +#config.xml. +#MSA=0X2 +#MSB=0X1 +SUPL_MODE=0x3 #Sensor R&D : Change default bit mask + +# GPS Capabilities bit mask +# SCHEDULING = 0x01 +# MSB = 0x02 +# MSA = 0x04 +# ON_DEMAND_TIME = 0x10 +# GEOFENCE = 0x20 +# default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE +CAPABILITIES=0x37 + +# Accuracy threshold for intermediate positions +# less accurate positions are ignored, 0 for passing all positions +# ACCURACY_THRES=5000 + +################################ +##### AGPS server settings ##### +################################ + +# FOR SUPL SUPPORT, set the following +# SUPL_HOST=supl.host.com or IP +# SUPL_PORT=1234 + +# FOR C2K PDE SUPPORT, set the following +# C2K_HOST=c2k.pde.com or IP +# C2K_PORT=1234 + +# Bitmask of slots that are available +# for write/install to, where 1s indicate writable, +# and the default value is 0 where no slots +# are writable. For example, AGPS_CERT_WRITABLE_MASK +# of b1000001010 makes 3 slots available +# and the remaining 7 slots unwritable. +#AGPS_CERT_WRITABLE_MASK=0 + +#################################### +# LTE Positioning Profile Settings +#################################### +# 0: Enable RRLP on LTE(Default) +# 1: Enable LPP_User_Plane on LTE +# 2: Enable LPP_Control_Plane +# 3: Enable both LPP_User_Plane and LPP_Control_Plane +LPP_PROFILE = 0 # Sensor R&D : This will not be injected to MODEM + +################################ +# EXTRA SETTINGS +################################ +# NMEA provider (1=Modem Processor, 0=Application Processor) +NMEA_PROVIDER=1 +# Mark if it is a SGLTE target (1=SGLTE, 0=nonSGLTE) +SGLTE_TARGET=0 + +################################################## +# Select Positioning Protocol on A-GLONASS system +################################################## +# 0x1: RRC CPlane +# 0x2: RRLP UPlane +# 0x4: LLP Uplane +A_GLONASS_POS_PROTOCOL_SELECT = 0 # Sensor R&D : This will not be injected to MODEM + +################################################## +# Delete only Ephemeris files +################################################## +#0 : off - default +#1 : on - Erase only eph files when we use 'delete aiding data' function. +DEL_EPH_ONLY = 0 diff --git a/configs/izat.conf b/configs/izat.conf new file mode 100755 index 0000000..95edee6 --- /dev/null +++ b/configs/izat.conf @@ -0,0 +1,176 @@ +######################################## +# NLP/WIFI positioning options bit mask +######################################## +# Enable NLP fixes for WIPER/ODCPI feature => WIPER = 0x1 +# Enable free wifi scan injections for GEOFENCE => FREE_WIFI = 0x2 +# Enable SUPL2 MLD wifi => SUPL_WIFI = 0x4 +# Enable Attached Wifi AP info injection for GEOFENCE => FREE_AP_INFO = 0x8 +# default = WIPER | FREE_WIFI | SUPL_WIFI | FREE_AP_INFO +NLP_WIFI_LISTENER_MODE = 0 + +################################################## +# Select WIFI Wait Timeout value in seconds for SUPL +################################################## +WIFI_WAIT_TIMEOUT_SELECT = 0 + +################################ +# NLP Settings +################################ +# NLP_MODE 1: GNP Only, 2: QNP Only, 3: Combo +# NLP_TOLERANCE_TIME_FIRST: Time in ms used in Combo mode +# to determine how much Tolerance for first position +# NLP_TOLERANCE_TIME_AFTER: Time in ms used in Combo mode +# to determine how much Tolerance for positions after first +# NLP_THRESHOLD: Sets how many failures needed before +# switching preferred NLP in Combo mode +# NLP_ACCURACY_MULTIPLE: Determines how far off the accuracy +# must be, in multiples, between two NLP location reports to +# be considered much worse accuracy. Used in switching logic +NLP_MODE = 1 +NLP_TOLERANCE_TIME_FIRST = 5000 +NLP_TOLERANCE_TIME_AFTER = 20000 +NLP_THRESHOLD = 3 +NLP_ACCURACY_MULTIPLE = 2 + +# Threshold period for ZPP triggers +ZPP_TRIGGER_THRESHOLD=10000 + +################################### +# GEOFENCE SERVICES +################################### +# If set to one of the defined values below, it will override +# the responsiveness for geofence services, which implements +# the Proximity Alert API. If not set to a value defined below, +# which is default, it will not override the responsivness. +# The geofence HAL API is unaffected by this value. +# GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE Values: +# 1: LOW responsiveness +# 2: MEDIUM responsiveness +# 3: HIGH responsiveness +GEOFENCE_SERVICES_RESPONSIVENESS_OVERRIDE = 0 + +##################################### +# IZAT PREMIUM FEATURE SETTINGS +##################################### +#Possible states of a feature: +#DISABLED +#BASIC +#PREMIUM + +#GTP_CELL_PROC valid options: +# AP +# MODEM +GTP_CELL_PROC=MODEM + +#GTP_CELL valid modes: +# DISABLED +# BASIC +GTP_CELL=BASIC + +#GTP_WIFI valid modes: +# DISABLED +# BASIC +GTP_WIFI=BASIC + +#GTP_WAA valid modes: +# DISABLED +# BASIC +GTP_WAA=DISABLED + +#SAP valid modes: +# DISABLED +# BASIC +# PREMIUM +SAP=BASIC + +#PIP valid modes: +# DISABLED +# PREMIUM +PIP=DISABLED + +##################################### +# Location process launcher settings +##################################### + +#Values for PROCESS_STATE: +# ENABLED +# DISABLED + +#FEATURE MASKS: +# GTP-WIFI 0X03 +# GTP-CELL 0X0c +# GTP-WAA 0X300 +# PIP 0x30 +# SAP 0Xc0 + +#Values for PLATFORMS can be: +#1. Any valid values obtained from ro.board.platform separated by single space. For example: msm8960 msm8226 +#2. all -> for All platforms + +#Values for BASEBAND can be: +#1. Any valid values obtained from ro.baseband separated by single space. For example: sglte sglte2 +#2. all -> for all basebands + +PROCESS_NAME=/system/bin/gpsone_daemon +PROCESS_STATE=DISABLED +PROCESS_GROUPS=inet net_raw +PREMIUM_FEATURE=0 +IZAT_FEATURE_MASK=0 +PLATFORMS=msm7630_fusion +BASEBAND=svlte2a sglte sglte2 + +PROCESS_NAME=/system/bin/location-mq +PROCESS_STATE=ENABLED +PROCESS_GROUPS=gps +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x33f +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/bin/lowi-server +PROCESS_STATE=ENABLED +PROCESS_GROUPS=gps net_admin wifi inet qcom_diag net_raw +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x333 +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/bin/quipc_igsn +PROCESS_STATE=ENABLED +PROCESS_GROUPS=inet gps qcom_diag +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x30 +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/bin/quipc_main +PROCESS_STATE=ENABLED +PROCESS_GROUPS=gps net_admin wifi inet qcom_diag +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x30 +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/bin/xtwifi-inet-agent +PROCESS_STATE=ENABLED +PROCESS_GROUPS=inet gps +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x0f +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/bin/xtwifi-client +PROCESS_STATE=ENABLED +PROCESS_GROUPS=net_admin wifi inet gps +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0x30f +PLATFORMS=all +BASEBAND=all + +PROCESS_NAME=/system/vendor/bin/slim_ap_daemon +PROCESS_STATE=ENABLED +PROCESS_GROUPS=gps net_raw misc qcom_oncrpc qcom_diag +PREMIUM_FEATURE=1 +IZAT_FEATURE_MASK=0xf0 +PLATFORMS=all +BASEBAND=all diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml index 4270d5a..2e2ccd3 100755 --- a/configs/media_profiles.xml +++ b/configs/media_profiles.xml @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -302,58 +131,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -570,11 +228,6 @@ minSampleRate="8000" maxSampleRate="8000" minChannels="1" maxChannels="1" /> - - + 2 + 7 15 - 150 + 50 + 100 + 200 + 400 1000 + 2000 + 3000 5000 + 10000 + 30000 - 10 - 80 - 162 - 190 - 255 + 13 + 25 + 32 + 41 + 52 + 62 + 69 + 78 + 88 + 134 + 178 + 225 + 255 + 255 - 14 + 2 + + + 17 + + + com.android.systemui/com.android.systemui.doze.DozeService + true @@ -78,7 +103,11 @@ - 4 + 2 + + + 255 @@ -146,6 +175,9 @@ false + + false + true @@ -153,6 +185,7 @@ true + 0 @@ -210,9 +243,6 @@ true - - - true - 524288,2097152,4194304,262144,524288,1048576 + lte:2097152,4194304,8388608,262144,524288,1048576 + lte_ca:2097152,4194304,8388608,262144,524288,1048576 umts:4094,87380,110208,4096,16384,110208 hspa:4094,87380,1220608,4096,16384,1220608 hsupa:4094,87380,1220608,4096,16384,1220608 - hsdpa:4094,87380,1220608,4096,16384,1220608 + hsdpa:4094,87380,2441216,4096,16384,2441216 hspap:4094,87380,1220608,4096,16384,1220608 edge:4093,26280,35040,4096,16384,35040 gprs:4092,8760,11680,4096,8760,11680 - evdo:4094,87380,262144,4096,16384,262144 - lte:524288,1048576,2097152,262144,524288,1048576 + evdo:4094,87380,1048576,4096,16384,262144 + ehrpd:4094,87380,1048576,4096,16384,262144 - - + + false + + + 2 + + + true + + + + XTRA_SERVER_1=https://xtrapath1.izatcloud.net/xtra3grc.bin + XTRA_SERVER_2=https://xtrapath2.izatcloud.net/xtra3grc.bin + XTRA_SERVER_3=https://xtrapath3.izatcloud.net/xtra3grc.bin + NTP_SERVER=north-america.pool.ntp.org + SUPL_VER=0x20000 + SUPL_ES=0 + CAPABILITIES=0x31 + SUPL_HOST=supl.google.com + SUPL_PORT=7275 + SUPL_MODE=1 + LPP_PROFILE=0 + A_GLONASS_POS_PROTOCOL_SELECT=0 + diff --git a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/frameworks/base/packages/SystemUI/res/values/config.xml deleted file mode 100755 index cb38758..0000000 --- a/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - true - - - true - - - true - diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml new file mode 100755 index 0000000..6bca318 --- /dev/null +++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/overlay/packages/apps/Dialer/res/values/config.xml b/overlay/packages/apps/Dialer/res/values/config.xml new file mode 100755 index 0000000..da46c31 --- /dev/null +++ b/overlay/packages/apps/Dialer/res/values/config.xml @@ -0,0 +1,20 @@ + + + + true + 4 + diff --git a/overlay/packages/apps/FlipFlap/res/values/config.xml b/overlay/packages/apps/FlipFlap/res/values/config.xml new file mode 100755 index 0000000..33e3c67 --- /dev/null +++ b/overlay/packages/apps/FlipFlap/res/values/config.xml @@ -0,0 +1,32 @@ + + + + + + 3 + + + diff --git a/overlay/packages/apps/FlipFlap/res/values/dimens.xml b/overlay/packages/apps/FlipFlap/res/values/dimens.xml new file mode 100755 index 0000000..57070cc --- /dev/null +++ b/overlay/packages/apps/FlipFlap/res/values/dimens.xml @@ -0,0 +1,29 @@ + + + + + + + 0px + 60px + 960px + 960px + + diff --git a/overlay/packages/apps/Mms/res/xml/mms_config.xml b/overlay/packages/apps/Mms/res/xml/mms_config.xml deleted file mode 100755 index 87a6252..0000000 --- a/overlay/packages/apps/Mms/res/xml/mms_config.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - 3145728 - - - 480 - - - 640 - - - true - - - false - - - SAMSUNG-SM-P905-Mms - - - http://wap.samsungmobile.com/uaprof/SM-905.xml - - diff --git a/overlay/packages/apps/Settings/res/values/bools.xml b/overlay/packages/apps/Settings/res/values/bools.xml index 667d3ec..e9533c8 100755 --- a/overlay/packages/apps/Settings/res/values/bools.xml +++ b/overlay/packages/apps/Settings/res/values/bools.xml @@ -1,5 +1,5 @@ - - - - true + + true diff --git a/overlay/packages/apps/Settings/res/values/config.xml b/overlay/packages/apps/Settings/res/values/config.xml index b1307c3..a48655c 100755 --- a/overlay/packages/apps/Settings/res/values/config.xml +++ b/overlay/packages/apps/Settings/res/values/config.xml @@ -1,5 +1,5 @@ - + + true + true diff --git a/overlay/packages/apps/Snap/res/values/config.xml b/overlay/packages/apps/Snap/res/values/config.xml new file mode 100755 index 0000000..28768dc --- /dev/null +++ b/overlay/packages/apps/Snap/res/values/config.xml @@ -0,0 +1,23 @@ + + + + + + + true + + + denoise-on + diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml index 2485fdd..eb7ef34 100755 --- a/overlay/packages/services/Telephony/res/values/config.xml +++ b/overlay/packages/services/Telephony/res/values/config.xml @@ -17,18 +17,9 @@ - - - true - true - - true - true diff --git a/power/power_ext.c b/power/power_ext.c index a508e68..60526ea 100755 --- a/power/power_ext.c +++ b/power/power_ext.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 The LineageOS Project + * Copyright (c) 2014 The CyanogenMod Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,58 +17,22 @@ #include #include #include -#include #define LOG_TAG "PowerHAL_H_Ext" #include -#define MAX_INPUTS 20 -#define INPUT_PREFIX "/sys/class/input/input" -#define MAX_PATH_SIZE (strlen(INPUT_PREFIX) + 20) +/* touchkeys */ +#define TK_POWER "/sys/class/input/input1/enabled" -static const char *names[] = { "sec_touchscreen", "gpio-keys" }; -#define N_NAMES (sizeof(names) / sizeof(names[0])) -static char *paths[N_NAMES]; -static int have_found_paths; +/* touchscreen */ +#define TS_POWER "/sys/class/input/input2/enabled" -static size_t sysfs_read(char *path, char *buffer, size_t n) -{ - char buf[80]; - int fd; - ssize_t len; - - if ((fd = open(path, O_RDONLY)) < 0) { - if (errno != ENOENT) { - strerror_r(errno, buf, sizeof(buf)); - ALOGE("Error opening %s: %s\n", path, buf); - } - return 0; - } - - len = read(fd, buffer, n); - if (len < 0) { - strerror_r(errno, buf, sizeof(buf)); - ALOGE("Error reading from %s: %s\n", path, buf); - return 0; - } - - while (len > 0 && isspace(buffer[len-1])) len--; - if ((size_t) len < n) buffer[len] = '\0'; - - close(fd); - - return len; -} - -static void sysfs_write(char *path, char *s) -{ +static void sysfs_write(char *path, char *s) { char buf[80]; int len; - int fd; + int fd = open(path, O_WRONLY); - if (path == NULL) return; - - if ((fd = open(path, O_WRONLY)) < 0) { + if (fd < 0) { strerror_r(errno, buf, sizeof(buf)); ALOGE("Error opening %s: %s\n", path, buf); return; @@ -83,37 +47,8 @@ static void sysfs_write(char *path, char *s) close(fd); } -static void -find_paths(void) -{ - size_t i, j; - char path[MAX_PATH_SIZE]; - char name[20]; - - for (i = 0; i < MAX_INPUTS; i++) { - sprintf(path, "%s%d/name", INPUT_PREFIX, i); - if (sysfs_read(path, name, sizeof(name)) > 0) { - for (j = 0; j < N_NAMES; j++) { - if (strcmp(name, names[j]) == 0) { - paths[j] = malloc(MAX_PATH_SIZE); - sprintf(paths[j], "%s%d/enabled", INPUT_PREFIX, i); - ALOGD("%s => %s\n", names[j], paths[j]); - } - } - } - } -} - -void cm_power_set_interactive_ext(int on) -{ - size_t i; - +void cm_power_set_interactive_ext(int on) { ALOGD("%s: %s input devices", __func__, on ? "enabling" : "disabling"); - - if (! have_found_paths) { - find_paths(); - have_found_paths = 1; - } - - for (i = 0; i < N_NAMES; i++) sysfs_write(paths[i], on ? "1" : "0"); + sysfs_write(TK_POWER, on ? "1" : "0"); + sysfs_write(TS_POWER, on ? "1" : "0"); } diff --git a/recovery/recovery_keys.c b/recovery/recovery_keys.c new file mode 100755 index 0000000..cd1fe66 --- /dev/null +++ b/recovery/recovery_keys.c @@ -0,0 +1,39 @@ +#include + +#include "recovery_ui.h" +#include "common.h" +#include "extendedcommands.h" + + +int device_handle_key(int key_code, int visible) { + if (visible) { + switch (key_code) { + case KEY_CAPSLOCK: + case KEY_DOWN: + case KEY_VOLUMEDOWN: + return HIGHLIGHT_DOWN; + case KEY_MENU: + return NO_ACTION; + case KEY_LEFTSHIFT: + case KEY_UP: + case KEY_VOLUMEUP: + return HIGHLIGHT_UP; + case KEY_HOMEPAGE: + case KEY_POWER: + case KEY_LEFTBRACE: + case KEY_ENTER: + case BTN_MOUSE: + case KEY_CAMERA: + case KEY_F21: + case KEY_SEND: + return SELECT_ITEM; + case KEY_END: + case KEY_BACKSPACE: + case KEY_SEARCH: + case KEY_BACK: + return GO_BACK; + } + } + + return NO_ACTION; +} diff --git a/ril/Android.mk b/ril/Android.mk index ae97e0a..14178e7 100755 --- a/ril/Android.mk +++ b/ril/Android.mk @@ -1,13 +1,9 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) - +LOCAL_SRC_FILES := ril_shim.c LOCAL_SHARED_LIBRARIES := liblog libcutils libbinder libutils - -LOCAL_SRC_FILES := \ - ril_shim.c - LOCAL_MODULE := libril_shim +LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := SHARED_LIBRARIES - include $(BUILD_SHARED_LIBRARY) diff --git a/ril/telephony/java/com/android/internal/telephony/NoteProRIL.java b/ril/telephony/java/com/android/internal/telephony/NoteProRIL.java index 66a6fd5..8b3df11 100755 --- a/ril/telephony/java/com/android/internal/telephony/NoteProRIL.java +++ b/ril/telephony/java/com/android/internal/telephony/NoteProRIL.java @@ -1,414 +1,414 @@ -/* - * Copyright (c) 2014, The CyanogenMod Project. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.internal.telephony; - -import static com.android.internal.telephony.RILConstants.*; - -import android.content.Context; -import android.telephony.Rlog; -import android.os.AsyncResult; -import android.os.Message; -import android.os.Parcel; -import android.os.SystemProperties; -import android.telephony.PhoneNumberUtils; -import android.telephony.SignalStrength; -import com.android.internal.telephony.cdma.CdmaInformationRecords; -import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec; -import com.android.internal.telephony.cdma.SignalToneUtil; -import com.android.internal.telephony.uicc.IccCardApplicationStatus; -import com.android.internal.telephony.uicc.IccCardStatus; -import com.android.internal.telephony.uicc.IccUtils; -import java.util.ArrayList; -import java.util.Collections; - -/** - * RIL customization for Galaxy S5 (GSM) LTE devices - * - * {@hide} - */ -public class NoteProRIL extends RIL { - - private static final int RIL_UNSOL_ON_SS_LL = 11055; - - private boolean mIsGsm = false; - - public NoteProRIL(Context context, int networkMode, int cdmaSubscription) { - super(context, networkMode, cdmaSubscription, null); - mQANElements = 6; - } - - public NoteProRIL(Context context, int preferredNetworkType, - int cdmaSubscription, Integer instanceId) { - super(context, preferredNetworkType, cdmaSubscription, instanceId); - mQANElements = 6; - } - - private void - fixNitz(Parcel p) { - int dataPosition = p.dataPosition(); - String nitz = p.readString(); - long nitzReceiveTime = p.readLong(); - - String[] nitzParts = nitz.split(","); - if (nitzParts.length >= 4) { - // 0=date, 1=time+zone, 2=dst, 3(+)=garbage that confuses ServiceStateTracker - nitz = nitzParts[0] + "," + nitzParts[1] + "," + nitzParts[2]; - p.setDataPosition(dataPosition); - p.writeString(nitz); - p.writeLong(nitzReceiveTime); - // The string is shorter now, drop the extra bytes - p.setDataSize(p.dataPosition()); - } - } - - @Override - public void - dial(String address, int clirMode, UUSInfo uusInfo, Message result) { - - RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result); - - rr.mParcel.writeString(address); - rr.mParcel.writeInt(clirMode); - rr.mParcel.writeInt(0); // CallDetails.call_type - rr.mParcel.writeInt(1); // CallDetails.call_domain - rr.mParcel.writeString(""); // CallDetails.getCsvFromExtras - - if (uusInfo == null) { - rr.mParcel.writeInt(0); // UUS information is absent - } else { - rr.mParcel.writeInt(1); // UUS information is present - rr.mParcel.writeInt(uusInfo.getType()); - rr.mParcel.writeInt(uusInfo.getDcs()); - rr.mParcel.writeByteArray(uusInfo.getUserData()); - } - - if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); - - send(rr); - } - - @Override - protected Object - responseIccCardStatus(Parcel p) { - IccCardApplicationStatus appStatus; - - IccCardStatus cardStatus = new IccCardStatus(); - cardStatus.setCardState(p.readInt()); - cardStatus.setUniversalPinState(p.readInt()); - cardStatus.mGsmUmtsSubscriptionAppIndex = p.readInt(); - cardStatus.mCdmaSubscriptionAppIndex = p.readInt(); - cardStatus.mImsSubscriptionAppIndex = p.readInt(); - - int numApplications = p.readInt(); - - // limit to maximum allowed applications - if (numApplications > IccCardStatus.CARD_MAX_APPS) { - numApplications = IccCardStatus.CARD_MAX_APPS; - } - cardStatus.mApplications = new IccCardApplicationStatus[numApplications]; - - appStatus = new IccCardApplicationStatus(); - for (int i = 0 ; i < numApplications ; i++) { - if (i!=0) { - appStatus = new IccCardApplicationStatus(); - } - appStatus.app_type = appStatus.AppTypeFromRILInt(p.readInt()); - appStatus.app_state = appStatus.AppStateFromRILInt(p.readInt()); - appStatus.perso_substate = appStatus.PersoSubstateFromRILInt(p.readInt()); - appStatus.aid = p.readString(); - appStatus.app_label = p.readString(); - appStatus.pin1_replaced = p.readInt(); - appStatus.pin1 = appStatus.PinStateFromRILInt(p.readInt()); - appStatus.pin2 = appStatus.PinStateFromRILInt(p.readInt()); - p.readInt(); // pin1_num_retries - p.readInt(); // puk1_num_retries - p.readInt(); // pin2_num_retries - p.readInt(); // puk2_num_retries - p.readInt(); // perso_unblock_retries - cardStatus.mApplications[i] = appStatus; - } - // For Sprint LTE only SIM - if (numApplications==1 && !mIsGsm && appStatus.app_type == appStatus.AppTypeFromRILInt(2)) { - cardStatus.mApplications = new IccCardApplicationStatus[numApplications+2]; - cardStatus.mGsmUmtsSubscriptionAppIndex = 0; - cardStatus.mApplications[cardStatus.mGsmUmtsSubscriptionAppIndex]=appStatus; - cardStatus.mCdmaSubscriptionAppIndex = 1; - cardStatus.mImsSubscriptionAppIndex = 2; - - IccCardApplicationStatus appStatus2 = new IccCardApplicationStatus(); - appStatus2.app_type = appStatus2.AppTypeFromRILInt(4); // csim state - appStatus2.app_state = appStatus.app_state; - appStatus2.perso_substate = appStatus.perso_substate; - appStatus2.aid = appStatus.aid; - appStatus2.app_label = appStatus.app_label; - appStatus2.pin1_replaced = appStatus.pin1_replaced; - appStatus2.pin1 = appStatus.pin1; - appStatus2.pin2 = appStatus.pin2; - cardStatus.mApplications[cardStatus.mCdmaSubscriptionAppIndex] = appStatus2; - - IccCardApplicationStatus appStatus3 = new IccCardApplicationStatus(); - appStatus3.app_type = appStatus3.AppTypeFromRILInt(5); // ims state - appStatus3.app_state = appStatus.app_state; - appStatus3.perso_substate = appStatus.perso_substate; - appStatus3.aid = appStatus.aid; - appStatus3.app_label = appStatus.app_label; - appStatus3.pin1_replaced = appStatus.pin1_replaced; - appStatus3.pin1 = appStatus.pin1; - appStatus3.pin2 = appStatus.pin2; - cardStatus.mApplications[cardStatus.mImsSubscriptionAppIndex] = appStatus3; - } - return cardStatus; - } - - @Override - protected Object - responseCallList(Parcel p) { - int num; - int voiceSettings; - ArrayList response; - DriverCall dc; - - num = p.readInt(); - response = new ArrayList(num); - - if (RILJ_LOGV) { - riljLog("responseCallList: num=" + num + - " mEmergencyCallbackModeRegistrant=" + mEmergencyCallbackModeRegistrant + - " mTestingEmergencyCall=" + mTestingEmergencyCall.get()); - } - for (int i = 0 ; i < num ; i++) { - dc = new DriverCall(); - - dc.state = DriverCall.stateFromCLCC(p.readInt()); - dc.index = p.readInt() & 0xff; - dc.TOA = p.readInt(); - dc.isMpty = (0 != p.readInt()); - dc.isMT = (0 != p.readInt()); - dc.als = p.readInt(); - voiceSettings = p.readInt(); - dc.isVoice = (0 != voiceSettings); - int call_type = p.readInt(); // Samsung CallDetails - int call_domain = p.readInt(); // Samsung CallDetails - String csv = p.readString(); // Samsung CallDetails - dc.isVoicePrivacy = (0 != p.readInt()); - dc.number = p.readString(); - int np = p.readInt(); - dc.numberPresentation = DriverCall.presentationFromCLIP(np); - dc.name = p.readString(); - dc.namePresentation = DriverCall.presentationFromCLIP(p.readInt()); - int uusInfoPresent = p.readInt(); - if (uusInfoPresent == 1) { - dc.uusInfo = new UUSInfo(); - dc.uusInfo.setType(p.readInt()); - dc.uusInfo.setDcs(p.readInt()); - byte[] userData = p.createByteArray(); - dc.uusInfo.setUserData(userData); - riljLogv(String.format("Incoming UUS : type=%d, dcs=%d, length=%d", - dc.uusInfo.getType(), dc.uusInfo.getDcs(), - dc.uusInfo.getUserData().length)); - riljLogv("Incoming UUS : data (string)=" - + new String(dc.uusInfo.getUserData())); - riljLogv("Incoming UUS : data (hex): " - + IccUtils.bytesToHexString(dc.uusInfo.getUserData())); - } else { - riljLogv("Incoming UUS : NOT present!"); - } - - // Make sure there's a leading + on addresses with a TOA of 145 - dc.number = PhoneNumberUtils.stringFromStringAndTOA(dc.number, dc.TOA); - - response.add(dc); - - if (dc.isVoicePrivacy) { - mVoicePrivacyOnRegistrants.notifyRegistrants(); - riljLog("InCall VoicePrivacy is enabled"); - } else { - mVoicePrivacyOffRegistrants.notifyRegistrants(); - riljLog("InCall VoicePrivacy is disabled"); - } - } - - Collections.sort(response); - - if ((num == 0) && mTestingEmergencyCall.getAndSet(false)) { - if (mEmergencyCallbackModeRegistrant != null) { - riljLog("responseCallList: call ended, testing emergency call," + - " notify ECM Registrants"); - mEmergencyCallbackModeRegistrant.notifyRegistrant(); - } - } - - return response; - } - - @Override - protected Object responseSignalStrength(Parcel p) { - int numInts = 12; - int response[]; - - // Get raw data - response = new int[numInts]; - for (int i = 0; i < numInts; i++) { - response[i] = p.readInt(); - } - //gsm - response[0] &= 0xff; - //cdma - response[2] %= 256; - response[4] %= 256; - response[7] &= 0xff; - - return new SignalStrength(response[0], response[1], response[2], response[3], response[4], response[5], response[6], response[7], response[8], response[9], response[10], response[11], true); - - } - - @Override - protected void notifyRegistrantsCdmaInfoRec(CdmaInformationRecords infoRec) { - final int response = RIL_UNSOL_CDMA_INFO_REC; - - if (infoRec.record instanceof CdmaSignalInfoRec) { - CdmaSignalInfoRec rec = (CdmaSignalInfoRec) infoRec.record; - if (rec != null - && rec.isPresent - && rec.signalType == SignalToneUtil.IS95_CONST_IR_SIGNAL_IS54B - && rec.alertPitch == SignalToneUtil.IS95_CONST_IR_ALERT_MED - && rec.signal == SignalToneUtil.IS95_CONST_IR_SIG_IS54B_L) { - /* Drop record, otherwise IS95_CONST_IR_SIG_IS54B_L tone will - * continue to play after the call is connected */ - return; - } - } - super.notifyRegistrantsCdmaInfoRec(infoRec); - } - - @Override - public void setPhoneType(int phoneType) { - super.setPhoneType(phoneType); - mIsGsm = (phoneType != RILConstants.CDMA_PHONE); - } - - @Override - protected void - processUnsolicited (Parcel p, int type) { - Object ret; - int dataPosition = p.dataPosition(); - int response = p.readInt(); - int newResponse = response; - - switch(response) { - case RIL_UNSOL_NITZ_TIME_RECEIVED: - fixNitz(p); - break; - case RIL_UNSOL_ON_SS_LL: - newResponse = RIL_UNSOL_ON_SS; - break; - } - if (newResponse != response) { - p.setDataPosition(dataPosition); - p.writeInt(newResponse); - } - p.setDataPosition(dataPosition); - super.processUnsolicited(p, type); - } - - @Override - public void - acceptCall (Message result) { - RILRequest rr - = RILRequest.obtain(RIL_REQUEST_ANSWER, result); - - rr.mParcel.writeInt(1); - rr.mParcel.writeInt(0); - - if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); - - send(rr); - } - - @Override - protected RILRequest - processSolicited (Parcel p, int type) { - int serial, error; - boolean found = false; - int dataPosition = p.dataPosition(); // save off position within the Parcel - serial = p.readInt(); - error = p.readInt(); - RILRequest rr = null; - /* Pre-process the reply before popping it */ - synchronized (mRequestList) { - RILRequest tr = mRequestList.get(serial); - if (tr != null && tr.mSerial == serial) { - if (error == 0 || p.dataAvail() > 0) { - try {switch (tr.mRequest) { - /* Get those we're interested in */ - case RIL_REQUEST_DATA_REGISTRATION_STATE: - rr = tr; - break; - }} catch (Throwable thr) { - // Exceptions here usually mean invalid RIL responses - if (tr.mResult != null) { - AsyncResult.forMessage(tr.mResult, null, thr); - tr.mResult.sendToTarget(); - } - return tr; - } - } - } - } - if (rr == null) { - /* Nothing we care about, go up */ - p.setDataPosition(dataPosition); - // Forward responses that we are not overriding to the super class - return super.processSolicited(p, type); - } - rr = findAndRemoveRequestFromList(serial); - if (rr == null) { - return rr; - } - Object ret = null; - if (error == 0 || p.dataAvail() > 0) { - switch (rr.mRequest) { - case RIL_REQUEST_DATA_REGISTRATION_STATE: ret = responseDataRegistrationState(p); break; - default: - throw new RuntimeException("Unrecognized solicited response: " + rr.mRequest); - } - //break; - } - if (RILJ_LOGD) riljLog(rr.serialString() + "< " + requestToString(rr.mRequest) - + " " + retToString(rr.mRequest, ret)); - if (rr.mResult != null) { - AsyncResult.forMessage(rr.mResult, ret, null); - rr.mResult.sendToTarget(); - } - return rr; - } - - private Object - responseDataRegistrationState(Parcel p) { - String response[] = (String[])responseStrings(p); - /* DANGER WILL ROBINSON - * In some cases from Vodaphone we are receiving a RAT of 102 - * while in tunnels of the metro. Lets Assume that if we - * receive 102 we actually want a RAT of 2 for EDGE service */ - if (response.length > 4 && - response[0].equals("1") && - response[3].equals("102")) { - response[3] = "2"; - } - return response; - } -} \ No newline at end of file +/* + * Copyright (c) 2014, The CyanogenMod Project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.telephony; + +import static com.android.internal.telephony.RILConstants.*; + +import android.content.Context; +import android.telephony.Rlog; +import android.os.AsyncResult; +import android.os.Message; +import android.os.Parcel; +import android.os.SystemProperties; +import android.telephony.PhoneNumberUtils; +import android.telephony.SignalStrength; +import com.android.internal.telephony.cdma.CdmaInformationRecords; +import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec; +import com.android.internal.telephony.cdma.SignalToneUtil; +import com.android.internal.telephony.uicc.IccCardApplicationStatus; +import com.android.internal.telephony.uicc.IccCardStatus; +import com.android.internal.telephony.uicc.IccUtils; +import java.util.ArrayList; +import java.util.Collections; + +/** + * RIL customization for Galaxy Note Pro 12.2 LTE devices + * + * {@hide} + */ +public class NoteProRIL extends RIL { + + private static final int RIL_UNSOL_ON_SS_LL = 11055; + + private boolean mIsGsm = false; + + public NoteProRIL(Context context, int networkMode, int cdmaSubscription) { + super(context, networkMode, cdmaSubscription, null); + mQANElements = 6; + } + + public NoteProRIL(Context context, int preferredNetworkType, + int cdmaSubscription, Integer instanceId) { + super(context, preferredNetworkType, cdmaSubscription, instanceId); + mQANElements = 6; + } + + private void + fixNitz(Parcel p) { + int dataPosition = p.dataPosition(); + String nitz = p.readString(); + long nitzReceiveTime = p.readLong(); + + String[] nitzParts = nitz.split(","); + if (nitzParts.length >= 4) { + // 0=date, 1=time+zone, 2=dst, 3(+)=garbage that confuses ServiceStateTracker + nitz = nitzParts[0] + "," + nitzParts[1] + "," + nitzParts[2]; + p.setDataPosition(dataPosition); + p.writeString(nitz); + p.writeLong(nitzReceiveTime); + // The string is shorter now, drop the extra bytes + p.setDataSize(p.dataPosition()); + } + } + + @Override + public void + dial(String address, int clirMode, UUSInfo uusInfo, Message result) { + + RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result); + + rr.mParcel.writeString(address); + rr.mParcel.writeInt(clirMode); + rr.mParcel.writeInt(0); // CallDetails.call_type + rr.mParcel.writeInt(1); // CallDetails.call_domain + rr.mParcel.writeString(""); // CallDetails.getCsvFromExtras + + if (uusInfo == null) { + rr.mParcel.writeInt(0); // UUS information is absent + } else { + rr.mParcel.writeInt(1); // UUS information is present + rr.mParcel.writeInt(uusInfo.getType()); + rr.mParcel.writeInt(uusInfo.getDcs()); + rr.mParcel.writeByteArray(uusInfo.getUserData()); + } + + if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); + + send(rr); + } + + @Override + protected Object + responseIccCardStatus(Parcel p) { + IccCardApplicationStatus appStatus; + + IccCardStatus cardStatus = new IccCardStatus(); + cardStatus.setCardState(p.readInt()); + cardStatus.setUniversalPinState(p.readInt()); + cardStatus.mGsmUmtsSubscriptionAppIndex = p.readInt(); + cardStatus.mCdmaSubscriptionAppIndex = p.readInt(); + cardStatus.mImsSubscriptionAppIndex = p.readInt(); + + int numApplications = p.readInt(); + + // limit to maximum allowed applications + if (numApplications > IccCardStatus.CARD_MAX_APPS) { + numApplications = IccCardStatus.CARD_MAX_APPS; + } + cardStatus.mApplications = new IccCardApplicationStatus[numApplications]; + + appStatus = new IccCardApplicationStatus(); + for (int i = 0 ; i < numApplications ; i++) { + if (i!=0) { + appStatus = new IccCardApplicationStatus(); + } + appStatus.app_type = appStatus.AppTypeFromRILInt(p.readInt()); + appStatus.app_state = appStatus.AppStateFromRILInt(p.readInt()); + appStatus.perso_substate = appStatus.PersoSubstateFromRILInt(p.readInt()); + appStatus.aid = p.readString(); + appStatus.app_label = p.readString(); + appStatus.pin1_replaced = p.readInt(); + appStatus.pin1 = appStatus.PinStateFromRILInt(p.readInt()); + appStatus.pin2 = appStatus.PinStateFromRILInt(p.readInt()); + p.readInt(); // pin1_num_retries + p.readInt(); // puk1_num_retries + p.readInt(); // pin2_num_retries + p.readInt(); // puk2_num_retries + p.readInt(); // perso_unblock_retries + cardStatus.mApplications[i] = appStatus; + } + // For Sprint LTE only SIM + if (numApplications==1 && !mIsGsm && appStatus.app_type == appStatus.AppTypeFromRILInt(2)) { + cardStatus.mApplications = new IccCardApplicationStatus[numApplications+2]; + cardStatus.mGsmUmtsSubscriptionAppIndex = 0; + cardStatus.mApplications[cardStatus.mGsmUmtsSubscriptionAppIndex]=appStatus; + cardStatus.mCdmaSubscriptionAppIndex = 1; + cardStatus.mImsSubscriptionAppIndex = 2; + + IccCardApplicationStatus appStatus2 = new IccCardApplicationStatus(); + appStatus2.app_type = appStatus2.AppTypeFromRILInt(4); // csim state + appStatus2.app_state = appStatus.app_state; + appStatus2.perso_substate = appStatus.perso_substate; + appStatus2.aid = appStatus.aid; + appStatus2.app_label = appStatus.app_label; + appStatus2.pin1_replaced = appStatus.pin1_replaced; + appStatus2.pin1 = appStatus.pin1; + appStatus2.pin2 = appStatus.pin2; + cardStatus.mApplications[cardStatus.mCdmaSubscriptionAppIndex] = appStatus2; + + IccCardApplicationStatus appStatus3 = new IccCardApplicationStatus(); + appStatus3.app_type = appStatus3.AppTypeFromRILInt(5); // ims state + appStatus3.app_state = appStatus.app_state; + appStatus3.perso_substate = appStatus.perso_substate; + appStatus3.aid = appStatus.aid; + appStatus3.app_label = appStatus.app_label; + appStatus3.pin1_replaced = appStatus.pin1_replaced; + appStatus3.pin1 = appStatus.pin1; + appStatus3.pin2 = appStatus.pin2; + cardStatus.mApplications[cardStatus.mImsSubscriptionAppIndex] = appStatus3; + } + return cardStatus; + } + + @Override + protected Object + responseCallList(Parcel p) { + int num; + int voiceSettings; + ArrayList response; + DriverCall dc; + + num = p.readInt(); + response = new ArrayList(num); + + if (RILJ_LOGV) { + riljLog("responseCallList: num=" + num + + " mEmergencyCallbackModeRegistrant=" + mEmergencyCallbackModeRegistrant + + " mTestingEmergencyCall=" + mTestingEmergencyCall.get()); + } + for (int i = 0 ; i < num ; i++) { + dc = new DriverCall(); + + dc.state = DriverCall.stateFromCLCC(p.readInt()); + dc.index = p.readInt() & 0xff; + dc.TOA = p.readInt(); + dc.isMpty = (0 != p.readInt()); + dc.isMT = (0 != p.readInt()); + dc.als = p.readInt(); + voiceSettings = p.readInt(); + dc.isVoice = (0 != voiceSettings); + int call_type = p.readInt(); // Samsung CallDetails + int call_domain = p.readInt(); // Samsung CallDetails + String csv = p.readString(); // Samsung CallDetails + dc.isVoicePrivacy = (0 != p.readInt()); + dc.number = p.readString(); + int np = p.readInt(); + dc.numberPresentation = DriverCall.presentationFromCLIP(np); + dc.name = p.readString(); + dc.namePresentation = DriverCall.presentationFromCLIP(p.readInt()); + int uusInfoPresent = p.readInt(); + if (uusInfoPresent == 1) { + dc.uusInfo = new UUSInfo(); + dc.uusInfo.setType(p.readInt()); + dc.uusInfo.setDcs(p.readInt()); + byte[] userData = p.createByteArray(); + dc.uusInfo.setUserData(userData); + riljLogv(String.format("Incoming UUS : type=%d, dcs=%d, length=%d", + dc.uusInfo.getType(), dc.uusInfo.getDcs(), + dc.uusInfo.getUserData().length)); + riljLogv("Incoming UUS : data (string)=" + + new String(dc.uusInfo.getUserData())); + riljLogv("Incoming UUS : data (hex): " + + IccUtils.bytesToHexString(dc.uusInfo.getUserData())); + } else { + riljLogv("Incoming UUS : NOT present!"); + } + + // Make sure there's a leading + on addresses with a TOA of 145 + dc.number = PhoneNumberUtils.stringFromStringAndTOA(dc.number, dc.TOA); + + response.add(dc); + + if (dc.isVoicePrivacy) { + mVoicePrivacyOnRegistrants.notifyRegistrants(); + riljLog("InCall VoicePrivacy is enabled"); + } else { + mVoicePrivacyOffRegistrants.notifyRegistrants(); + riljLog("InCall VoicePrivacy is disabled"); + } + } + + Collections.sort(response); + + if ((num == 0) && mTestingEmergencyCall.getAndSet(false)) { + if (mEmergencyCallbackModeRegistrant != null) { + riljLog("responseCallList: call ended, testing emergency call," + + " notify ECM Registrants"); + mEmergencyCallbackModeRegistrant.notifyRegistrant(); + } + } + + return response; + } + + @Override + protected Object responseSignalStrength(Parcel p) { + int numInts = 12; + int response[]; + + // Get raw data + response = new int[numInts]; + for (int i = 0; i < numInts; i++) { + response[i] = p.readInt(); + } + //gsm + response[0] &= 0xff; + //cdma + response[2] %= 256; + response[4] %= 256; + response[7] &= 0xff; + + return new SignalStrength(response[0], response[1], response[2], response[3], response[4], response[5], response[6], response[7], response[8], response[9], response[10], response[11], true); + + } + + @Override + protected void notifyRegistrantsCdmaInfoRec(CdmaInformationRecords infoRec) { + final int response = RIL_UNSOL_CDMA_INFO_REC; + + if (infoRec.record instanceof CdmaSignalInfoRec) { + CdmaSignalInfoRec rec = (CdmaSignalInfoRec) infoRec.record; + if (rec != null + && rec.isPresent + && rec.signalType == SignalToneUtil.IS95_CONST_IR_SIGNAL_IS54B + && rec.alertPitch == SignalToneUtil.IS95_CONST_IR_ALERT_MED + && rec.signal == SignalToneUtil.IS95_CONST_IR_SIG_IS54B_L) { + /* Drop record, otherwise IS95_CONST_IR_SIG_IS54B_L tone will + * continue to play after the call is connected */ + return; + } + } + super.notifyRegistrantsCdmaInfoRec(infoRec); + } + + @Override + public void setPhoneType(int phoneType) { + super.setPhoneType(phoneType); + mIsGsm = (phoneType != RILConstants.CDMA_PHONE); + } + + @Override + protected void + processUnsolicited (Parcel p, int type) { + Object ret; + int dataPosition = p.dataPosition(); + int response = p.readInt(); + int newResponse = response; + + switch(response) { + case RIL_UNSOL_NITZ_TIME_RECEIVED: + fixNitz(p); + break; + case RIL_UNSOL_ON_SS_LL: + newResponse = RIL_UNSOL_ON_SS; + break; + } + if (newResponse != response) { + p.setDataPosition(dataPosition); + p.writeInt(newResponse); + } + p.setDataPosition(dataPosition); + super.processUnsolicited(p, type); + } + + @Override + public void + acceptCall (Message result) { + RILRequest rr + = RILRequest.obtain(RIL_REQUEST_ANSWER, result); + + rr.mParcel.writeInt(1); + rr.mParcel.writeInt(0); + + if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest)); + + send(rr); + } + + @Override + protected RILRequest + processSolicited (Parcel p, int type) { + int serial, error; + boolean found = false; + int dataPosition = p.dataPosition(); // save off position within the Parcel + serial = p.readInt(); + error = p.readInt(); + RILRequest rr = null; + /* Pre-process the reply before popping it */ + synchronized (mRequestList) { + RILRequest tr = mRequestList.get(serial); + if (tr != null && tr.mSerial == serial) { + if (error == 0 || p.dataAvail() > 0) { + try {switch (tr.mRequest) { + /* Get those we're interested in */ + case RIL_REQUEST_DATA_REGISTRATION_STATE: + rr = tr; + break; + }} catch (Throwable thr) { + // Exceptions here usually mean invalid RIL responses + if (tr.mResult != null) { + AsyncResult.forMessage(tr.mResult, null, thr); + tr.mResult.sendToTarget(); + } + return tr; + } + } + } + } + if (rr == null) { + /* Nothing we care about, go up */ + p.setDataPosition(dataPosition); + // Forward responses that we are not overriding to the super class + return super.processSolicited(p, type); + } + rr = findAndRemoveRequestFromList(serial); + if (rr == null) { + return rr; + } + Object ret = null; + if (error == 0 || p.dataAvail() > 0) { + switch (rr.mRequest) { + case RIL_REQUEST_DATA_REGISTRATION_STATE: ret = responseDataRegistrationState(p); break; + default: + throw new RuntimeException("Unrecognized solicited response: " + rr.mRequest); + } + //break; + } + if (RILJ_LOGD) riljLog(rr.serialString() + "< " + requestToString(rr.mRequest) + + " " + retToString(rr.mRequest, ret)); + if (rr.mResult != null) { + AsyncResult.forMessage(rr.mResult, ret, null); + rr.mResult.sendToTarget(); + } + return rr; + } + + private Object + responseDataRegistrationState(Parcel p) { + String response[] = (String[])responseStrings(p); + /* DANGER WILL ROBINSON + * In some cases from Vodaphone we are receiving a RAT of 102 + * while in tunnels of the metro. Lets Assume that if we + * receive 102 we actually want a RAT of 2 for EDGE service */ + if (response.length > 4 && + response[0].equals("1") && + response[3].equals("102")) { + response[3] = "2"; + } + return response; + } +} diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 69a6648..61b4790 100755 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -2,18 +2,10 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) include $(CLEAR_VARS) -LOCAL_MODULE := init.carrier.rc +LOCAL_MODULE := fstab.qcom LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.carrier.rc -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := init.input.sh -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.input.sh +LOCAL_SRC_FILES := etc/fstab.qcom LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) @@ -33,14 +25,6 @@ LOCAL_SRC_FILES := etc/init.qcom.usb.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) -include $(CLEAR_VARS) -LOCAL_MODULE := init.target.rc -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.target.rc -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) - include $(CLEAR_VARS) LOCAL_MODULE := ueventd.qcom.rc LOCAL_MODULE_TAGS := optional eng @@ -50,16 +34,8 @@ LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) include $(CLEAR_VARS) -LOCAL_MODULE := init.crda.sh +LOCAL_MODULE := init.sec.boot.sh LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.crda.sh -include $(BUILD_PREBUILT) - -include $(CLEAR_VARS) -LOCAL_MODULE := fstab.qcom -LOCAL_MODULE_TAGS := optional eng -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/fstab.qcom -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) +LOCAL_SRC_FILES := etc/init.sec.boot.sh include $(BUILD_PREBUILT) diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom index 3f8685d..1d4e623 100755 --- a/rootdir/etc/fstab.qcom +++ b/rootdir/etc/fstab.qcom @@ -5,17 +5,22 @@ #TODO: Add 'check' as fs_mgr_flags with data partition. # Currently we dont have e2fsck compiled. So fs check would failed. -# -/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,errors=panic wait -/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs rw,nosuid,nodev,noatime,nodiratime,inline_data,inline_xattr wait,check,encryptable=footer,length=-16384 -/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384 -/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check -/dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait -/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 +# +/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,errors=panic wait +/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384 +/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=continue,commit=20 wait,check,formattable,encryptable=footer,length=-16384 +/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable +/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=continue,commit=20 wait,check,formattable +/dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait +/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 +/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,journal_async_commit,errors=panic wait,check +/dev/block/platform/msm_sdcc.1/by-name/fota /misc emmc defaults defaults -/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults recoveryonly -/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults recoveryonly +/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults recoveryonly +/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults recoveryonly -# VOLD -/devices/msm_sdcc.3/mmc_host/mmc2* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata -/devices/platform/xhci-hcd* auto auto defaults voldmanaged=usbdisk:auto +/devices/msm_sdcc.3/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata + +/dev/block/zram0 none swap defaults zramsize=25%,zramstreams=4,swapprio=10,notrim + +/devices/platform/xhci-hcd* auto auto defaults voldmanaged=usb:auto diff --git a/rootdir/etc/init.carrier.rc b/rootdir/etc/init.carrier.rc deleted file mode 100755 index 98553a7..0000000 --- a/rootdir/etc/init.carrier.rc +++ /dev/null @@ -1,94 +0,0 @@ -# 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 boot -# permission for Input Device(Touchkey). - chmod 0660 /sys/class/input/input2/enabled - chown system system /sys/class/input/input2/enabled - chown radio system /sys/class/sec/sec_touchkey/touch_sensitivity - chown radio system /sys/class/sec/sec_touchkey/touchkey_firm_update - chown system radio /sys/class/sec/sec_touchkey/glove_mode - chown system radio /sys/class/sec/sec_touchkey/flip_mode - chown system radio /sys/class/sec/sec_touchkey/boost_level - -# permission for Input Device(Wacom). - chmod 0660 /sys/class/input/input4/enabled - chown system system /sys/class/input/input4/enabled - -# permissions for S-Pen - chmod 0660 /sys/class/input/input3/enabled - chown system system /sys/class/input/input3/enabled - chown system radio /sys/class/sec/sec_epen/epen_firm_update - chown system radio /sys/class/sec/sec_epen/epen_rotation - chown system radio /sys/class/sec/sec_epen/epen_hand - chown system radio /sys/class/sec/sec_epen/epen_reset - chown system radio /sys/class/sec/sec_epen/epen_reset_result - chown system radio /sys/class/sec/sec_epen/epen_checksum - chown system radio /sys/class/sec/sec_epen/epen_checksum_result - chown system radio /sys/class/sec/sec_epen/epen_saving_mode - chown system radio /sys/class/sec/sec_epen/boost_level - -# permissions for gpio keys - chmod 0660 /sys/class/input/input5/enabled - chown system system /sys/class/input/input5/enabled - -# permissions for bluetooth. - setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" - chown bluetooth net_bt_stack ro.bt.bdaddr_path - chown bluetooth net_bt_stack /dev/ttyHS0 - chmod 0660 /dev/ttyHS0 - chmod 0660 /sys/class/rfkill/rfkill0/state - chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state - chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type - -# bluetooth LPM - chmod 0660 /proc/bluetooth/sleep/lpm - chmod 0220 /proc/bluetooth/sleep/btwrite - chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm - chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite - chmod 0600 /dev/btlock - chown bluetooth bluetooth /dev/btlock - -on fs - -# 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 - -service iprenew_bt-pan /system/bin/dhcpcd -n - class late_start - disabled - oneshot - -# service for TZPR provisioning version check app -service scranton_RD /system/bin/scranton_RD - class main - user root - disabled - oneshot - -# start for TZPR provisioning version check app -on property:sys.qseecomd.enable=true - start scranton_RD diff --git a/rootdir/etc/init.crda.sh b/rootdir/etc/init.crda.sh deleted file mode 100755 index cfd38c1..0000000 --- a/rootdir/etc/init.crda.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2012-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 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. -# - -country=`getprop wlan.crda.country` -# crda takes input in COUNTRY environment variable -if [ $country != "" ] -then -COUNTRY="$country" /system/bin/crda -fi diff --git a/rootdir/etc/init.input.sh b/rootdir/etc/init.input.sh deleted file mode 100755 index 471a039..0000000 --- a/rootdir/etc/init.input.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/system/bin/sh - -for i in /sys/class/input/input* -do - name=`cat $i/name` - if [ "$name" = gpio-keys -o "$name" = sec_touchscreen ] - then - echo "Found $name at $i" - chown system $i/enabled - chmod 644 $i/enabled - fi -done diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 253ade2..658fa21 100755 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2012, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2012, Code Aurora Forum. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -7,7 +7,7 @@ # * 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 +# * Neither the name of Code Aurora nor # the names of its contributors may be used to endorse or promote # products derived from this software without specific prior written # permission. @@ -29,49 +29,239 @@ import init.qcom.usb.rc import init.target.rc on early-init + export LD_SHIM_LIBS /system/lib/libril.so|libril_shim.so + + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + + # Increase max readahead size to 512 KB write /sys/block/mmcblk0/queue/read_ahead_kb 512 - write /sys/block/mmcblk1/queue/read_ahead_kb 512 - setprop sys.io.scheduler noop + write /sys/block/mmcblk0/queue/scheduler noop + + write /sys/block/zram0/comp_algorithm lz4 + + mkdir /firmware 0771 system system + mkdir /firmware-modem 0771 system system + + mkdir /efs 0771 system radio + + symlink /data/tombstones /tombstones on init - export LD_SHIM_LIBS "/system/vendor/lib/libOpenCL.so|libboringssl-compat.so:/system/lib/libril.so|libril_shim.so" - - # Set permissions for persist partition - mkdir /persist 0771 system system # Support legacy paths symlink /sdcard /storage/sdcard0 + write /proc/sys/vm/page-cluster 0 + +on fs + mount_all fstab.qcom + write /proc/sys/vm/swappiness 100 + swapon_all fstab.qcom + + restorecon_recursive /efs + + write /sys/kernel/boot_adsp/boot 1 + setprop qcom.audio.init complete + + # Adaptive LMK + write /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk 1 + write /sys/module/lowmemorykiller/parameters/vmpressure_file_min 53059 + +on post-fs + # for controlling write performance boosting + chown system radio /sys/block/mmcblk0/bkops_en + chmod 0664 /sys/block/mmcblk0/bkops_en + +on post-fs-data + mkdir /data/misc/bluetooth 0770 bluetooth bluetooth + + # Create the directories used by the Wireless subsystem + mkdir /data/misc/wifi 0770 wifi wifi + chmod 0660 /data/misc/wifi/wpa_supplicant.conf + mkdir /data/misc/wifi/sockets 0770 wifi wifi + mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi + mkdir /data/misc/dhcp 0775 dhcp dhcp + + # Create the directories used by CnE subsystem + mkdir /data/connectivity 0771 system system + chown system system /data/connectivity + + # for WIFI TRP/TIS + chown system root /data/.psm.info + chmod 0664 /data/.psm.info + + # for WIFI Antena Selection + chown system root /data/.ant.info + chmod 0664 /data/.ant.info + + # for WIFI Version + write /data/.wifiver.info 0 + chown system root /data/.wifiver.info + chmod 0664 /data/.wifiver.info + + # for WIFI Cert + chmod 0664 /data/.bustxglom.info + chmod 0664 /data/.roamoff.info + chmod 0664 /data/.frameburst.info + chmod 0664 /data/.txbf.info + + # for WIFI MAC address + mkdir /efs/wifi 0775 radio system + chown system wifi /efs/wifi/.mac.info + chmod 0660 /efs/wifi/.mac.info + restorecon /efs/wifi/.mac.info + + # Create directory used by audio subsystem + mkdir /data/misc/audio 0770 audio audio + + 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 + + # For disabling softkeys *FIXME* + chown root system /sys/class/leds/button-backlight/max_brightness + chmod 0664 /sys/class/leds/button-backlight/max_brightness + + # Torch + chmod 0666 /sys/class/leds/torch-sec1/brightness + chown system camera /sys/class/leds/torch-sec1/brightness + + #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant + mkdir /data/system 0775 system system + + #Create directory from IMS services + mkdir /data/shared 0755 + chown system system /data/shared + + #Create directory for FOTA + mkdir /data/fota 0771 + chown system system /data/fota + + # Create /data/time folder for time-services + mkdir /data/time/ 0700 system system + + mkdir /data/bluetooth 0770 bluetooth bluetooth + # Enable the setgid bit on the directory + chmod 2770 /data/bluetooth + + mkdir /data/audio/ 0770 media audio + # Enable the setgid bit on the directory + chmod 2770 /data/audio + + # Gpio DVS + chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl + + 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 + + # 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/sdrm/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 + + # 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 + + # symlink to bugreport storage location + symlink /data/data/com.android.shell/files/bugreports /data/bugreports + + # Permissions for svc led + 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 + + # IR_LED + chown system radio /sys/class/sec/sec_ir/ir_send + chown system radio /sys/class/sec/sec_ir/ir_send_result + + # Flash + chown system camera /sys/class/flash/flash/flash_power + chmod 660 /sys/class/flash/flash/flash_power + + # Create directories for perfd + mkdir /data/misc/perfd 2755 root system + mkdir /data/system/perfd 2770 root system + + # Remove symlinks to avoid issues with migrate after nandroid restores + # Will be recreated at end of boot + # Normal path + rm /data/data/com.android.providers.telephony/databases + rm /data/data/com.android.providers.telephony/shared_prefs + + # COMPAT: Handle upgrade from previous implementation of this idea. If the + # above could not be unlinked then we have the old symlinked files + # scenario. Clean that up. + rm /data/data/com.android.providers.telephony/databases/telephony.db + rm /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml + rmdir /data/data/com.android.providers.telephony/databases + rmdir /data/data/com.android.providers.telephony/shared_prefs + + setprop vold.post_fs_data_done 1 + on early-boot # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 - ## [START] system_sw.sa: comment out early_boot.sh and take necessary settings out - #exec /system/bin/sh /init.qcom.early_boot.sh ${ro.board.platform} - chown system graphics /sys/class/graphics/fb1/hpd - chown system graphics /sys/class/graphics/fb1/vendor_name - chown system graphics /sys/class/graphics/fb1/product_description - chmod 0664 /sys/class/graphics/fb1/hpd - chmod 0664 /sys/class/graphics/fb1/vendor_name - chmod 0664 /sys/class/graphics/fb1/product_description - chmod 0664 /sys/class/graphics/fb1/video_mode - chmod 0664 /sys/class/graphics/fb1/format_3d - symlink /dev/graphics/fb1 /dev/graphics/hdmi - chown system system /sys/class/graphics/fb1/format_3d - ## [END] system_sw.sa - - start wcnss-service - - # Remove symlinks to avoid issues with migrate after nandroid restores - # Will be recreated at end of boot - rm /data/data/com.android.providers.telephony/databases/telephony.db - rm /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml - + # Allow subsystem (modem etc) debugging + write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} on boot - - mount debugfs /sys/kernel/debug /sys/kernel/debug - chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state @@ -84,19 +274,16 @@ on boot chmod 0660 /sys/module/hci_smd/parameters/hcismd_set chmod 0660 /sys/class/rfkill/rfkill0/state chmod 0660 /proc/bluetooth/sleep/proto - chown bluetooth net_bt_stack /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 + # for BT MAC address + mkdir /efs/bluetooth 0775 radio system + # if already exist + chown radio system /efs/bluetooth + chmod 0775 /efs/bluetooth - #Basic permissions - chown root system /dev/socket - chmod 775 /dev/socket #Create QMUX deamon socket area mkdir /dev/socket/qmux_radio 0770 radio radio chmod 2770 /dev/socket/qmux_radio @@ -107,14 +294,11 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps - chown root system /sys/class/sec/sec_touchkey/tsp_keys_enabled - # Allow QMUX daemon to assign port open wait time chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait - setprop wifi.interface wlan0 - - setprop ro.telephony.call_ring.multiple false + # 4.3 requires this + chmod 0644 /proc/cmdline #Set SUID bit for usbhub chmod 4755 /system/bin/usbhub @@ -128,6 +312,31 @@ on boot #For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport + # create symlink for fb1 as HDMI + symlink /dev/graphics/fb1 /dev/graphics/hdmi + + # Remove write permissions to video related nodes + chmod 0664 /sys/devices/virtual/graphics/fb1/hpd + chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode + chmod 0664 /sys/devices/virtual/graphics/fb1/format_3d + chown system graphics /sys/class/graphics/fb1/vscr_info + chmod 0664 /sys/devices/virtual/graphics/fb1/vscr_info + + #HDMID Permission for sys nodes + chown system graphics /sys/class/graphics/fb1/connected + chown system graphics /sys/class/graphics/fb1/edid_modes + chown system graphics /sys/class/graphics/fb1/power_state + chown system graphics /sys/class/graphics/fb1/hpd + chown system graphics /sys/class/graphics/fb1/hdcp_present + chown system graphics /sys/class/graphics/fb1/hdmi_mode + chmod 0660 /sys/class/graphics/fb1/power_state + + # Change owner and group for media server and surface flinger + chown system system /sys/devices/virtual/graphics/fb1/format_3d + + # Allow RIL daemon to assign port open fd_wakelock + chown system radio /sys/devices/virtual/sec/mdm_hsic_pm/waketime + #To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 @@ -137,18 +346,7 @@ on boot write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 - write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 # To prevent out of order acknowledgements from making # connection tracking to treat them as not belonging to @@ -158,252 +356,541 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 -# msm specific files that need to be created on /data -on post-fs-data - mkdir /data/misc/bluetooth 0770 bluetooth bluetooth + # Set the console loglevel to < KERN_INFO + # Set the default message loglevel to KERN_INFO + # modified by SEC, SEC use a loglevel path with another way. + # write /proc/sys/kernel/printk "6 6 1 7" - # Create the directories used by the Wireless subsystem - mkdir /data/misc/wifi 0770 wifi wifi - mkdir /data/misc/wifi/sockets 0770 wifi wifi - mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi - mkdir /data/misc/dhcp 0770 dhcp dhcp - chown dhcp dhcp /data/misc/dhcp + # Flash storage isn't a good entropy source, and only causes locking + # overhead in the kernel. Turn it off. + write /sys/block/mmcblk0/queue/add_random 0 - # Create the directory used by CnE subsystem - mkdir /data/connectivity 0771 system system - chown system system /data/connectivity + # 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 - # for WIFI TRP/TIS - chown system root /data/.psm.info - chmod 0664 /data/.psm.info + # bcmtch15xxx TSP + chown system system /sys/class/input/input0/enabled - # for WIFI Cert - chmod 0664 /data/.bustxglom.info - chmod 0664 /data/.roamoff.info - chmod 0664 /data/.frameburst.info - chmod 0664 /data/.txbf.info + # 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 - # for WIFI MAC address - mkdir /efs/wifi 0775 radio system - chown system system /efs/wifi/.mac.info - chmod 0664 /efs/wifi/.mac.info + chown radio system /sys/devices/system/cpu/kernel_max + chmod 664 /sys/devices/system/cpu/kernel_max - # Create directory used by audio subsystem - mkdir /data/misc/audio 0770 audio audio - restorecon_recursive /data/misc/audio + 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 - # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections - # We chown/chmod /persist again so because mount is run as root + defaults - chown system system /persist - chmod 0771 /persist - chmod 0664 /sys/devices/platform/msm_sdcc.1/polling - chmod 0664 /sys/devices/platform/msm_sdcc.2/polling - chmod 0664 /sys/devices/platform/msm_sdcc.3/polling - chmod 0664 /sys/devices/platform/msm_sdcc.4/polling + chown radio system /sys/class/devfreq/qcom,cpubw.43/available_frequencies + chmod 664 /sys/class/devfreq/qcom,cpubw.43/available_frequencies + chown radio system /sys/class/devfreq/qcom,cpubw.43/available_governors + chmod 664 /sys/class/devfreq/qcom,cpubw.43/available_governors + chown radio system /sys/class/devfreq/qcom,cpubw.43/governor + chmod 664 /sys/class/devfreq/qcom,cpubw.43/governor + chown radio system /sys/class/devfreq/qcom,cpubw.43/max_freq + chmod 664 /sys/class/devfreq/qcom,cpubw.43/max_freq + chown radio system /sys/class/devfreq/qcom,cpubw.43/min_freq + chmod 664 /sys/class/devfreq/qcom,cpubw.43/min_freq - # 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 - - # For disabling softkeys *FIXME* - chown root system /sys/class/sec/sec_touchkey/brightness - chmod 0664 /sys/class/sec/sec_touchkey/brightness - chown root system /sys/class/sec/sec_touchkey/max_brightness - chmod 0664 /sys/class/sec/sec_touchkey/max_brightness + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant - mkdir /data/system 0775 system system - #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant + # SEC PM sysfs node + chown system radio /sys/devices/system/soc/soc0/soc_iddq + chmod 0444 /sys/devices/system/soc/soc0/soc_iddq + chown system radio /sys/devices/system/soc/soc0/soc_pvs + chmod 0444 /sys/devices/system/soc/soc0/soc_pvs - #Create directories for wiper services - mkdir /data/wpstiles/ 0755 shell - mkdir /data/wiper 0755 gps qcom_oncrpc + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - #Create directories for gpsone_daemon services - mkdir /data/misc/gpsone_d 0770 system gps + # Auto Brightness + chown system system /sys/class/backlight/panel/auto_brightness + chmod 0660 /sys/class/backlight/panel/auto_brightness - #Create directories for QuIPS - mkdir /data/misc/quipc 0770 system gps + # 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 - #Create directories for Location services - mkdir /data/misc/location 0770 gps gps - mkdir /data/misc/location/mq 0770 gps gps - mkdir /data/misc/location/xtwifi 0770 gps gps + 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 - #Create directory from IMS services - mkdir /data/shared 0755 - chown system system /data/shared + 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 - #Create directory for FOTA - mkdir /data/fota 0771 - chown system system /data/fota + 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/lux - #Create directory for hostapd - mkdir /data/hostapd 0770 system wifi + chown radio system /sys/class/lcd/panel/partial_disp + chmod 0660 /sys/class/lcd/panel/partial_disp - # Create /data/time folder for time-services - mkdir /data/time/ 0700 system system + # LCD DYNAMIC FPS USE TE + chown system system /sys/class/lcd/panel/dynamic_fps_use_te + chmod 0660 /sys/class/lcd/panel/dynamic_fps_use_te - mkdir /data/audio/ 0770 media audio - # Enable the setgid bit on the directory - chmod 2770 /data/audio - chown system system /sys/devices/virtual/lcd/panel/panel/backlight + # 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 - # Display calibration - chown system system /sys/devices/virtual/graphics/fb0/rgb - chmod 0660 /sys/devices/virtual/graphics/fb0/rgb + 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 - setprop vold.post_fs_data_done 1 + # LCD ALPM Mode + chown system system /sys/class/lcd/panel/alpm + chmod 0660 /sys/class/lcd/panel/alpm - #Create a folder for SRS to be able to create a usercfg file - mkdir /data/data/media 0770 media media - restorecon_recursive /data/media + # Auto Brightness + chown system system /sys/class/backlight/panel/auto_brightness + chmod 0660 /sys/class/backlight/panel/auto_brightness -# GPIO DVS - chown radio system /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl + # 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 -# Export GPIO56 for fusion targets to enable/disable hub -service usbhub_init /system/bin/usbhub_init - class late_start + 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/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 + + # 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/ 0755 root root + mkdir /dev/bus/usb 0755 root root + + # Permissions for InputDevices. + chown system radio /sys/class/sec/tsp/cmd + chown system system /sys/class/sec/sec_touchkey/brightness + chmod 0660 /sys/class/sec/tsp/input/enabled + chown system system /sys/class/sec/tsp/input/enabled + + # Permissions for Camera + chown root system /sys/class/camera/rear/rear_camantibanding + chown system system /sys/class/camera/rear/rear_camfw + chown system system /sys/class/camera/rear/rear_camfw_full + chown system system /sys/class/camera/rear/rear_camfw_load + chown system radio /sys/class/camera/rear/rear_latest_module_check + chown system system /sys/class/camera/rear/rear_camtype + chown system system /sys/class/camera/rear/rear_corever + chown system system /sys/class/camera/rear/rear_companionfw_full + chown system system /sys/class/camera/rear/rear_calcheck + chown system system /sys/class/camera/rear/rear_fwcheck + chown system system /sys/class/camera/rear/isp_core + chown system radio /sys/class/camera/flash/rear_flash + chown system system /sys/class/camera/front/front_camfw + chown system system /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 + + # 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/accelerometer_sensor/selftest + chown system radio /sys/class/sensors/accelerometer_sensor/lowpassfilter + + # 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 + chown system radio /sys/class/sensors/proximity_sensor/prox_cal + chown system radio /sys/class/sensors/proximity_sensor/prox_offset_pass + 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 + chown system radio /sys/class/sensors/barometer_sensor/temperature + + # Magnetic_sensor + chown system radio /sys/class/sensors/magnetic_sensor/selftest + chown system radio /sys/class/sensors/magnetic_sensor/raw_data + 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/vendor + chown system radio /sys/class/sensors/magnetic_sensor/name + chown system radio /sys/class/sensors/magnetic_sensor/status + chown system input /system/etc/param.dat + chown system input /system/etc/alp_cal.dat + chown system system /system/etc/calib_SI_matrix_data_file.dat + + # 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 + chown system radio /sys/class/sensors/temphumidity_sensor/batt_temperature + + # HRM_sensor + chown system radio /sys/class/sensors/hrm_sensor/eol_test + chown system radio /sys/class/sensors/hrm_sensor/eol_test_result + chown system radio /sys/class/sensors/hrm_sensor/eol_test_status + chown system radio /sys/class/sensors/hrm_sensor/hr_range + chown system radio /sys/class/sensors/hrm_sensor/hr_range2 + chown system radio /sys/class/sensors/hrm_sensor/look_mode_ir + chown system radio /sys/class/sensors/hrm_sensor/look_mode_red + chown system radio /sys/class/sensors/hrm_sensor/led_current + chown system radio /sys/class/sensors/hrm_sensor/int_pin_check + chown system radio /sys/class/sensors/hrm_sensor/lib_ver + chown system radio /sys/class/sensors/hrm_sensor/hrm_flush + chown system radio /sys/class/sensors/hrm_sensor/eol_lib_ver + chown system radio /sys/class/sensors/hrm_sensor/elf_lib_ver + chown system radio /sys/class/sensors/hrm_sensor/adpd_reg_read + chown system radio /sys/class/sensors/hrm_sensor/adpd_reg_write + chown system radio /sys/class/sensors/hrm_sensor/adpd_mode + chown system radio /sys/class/sensors/hrm_sensor/adpd_configuration + chown system radio /sys/class/sensors/hrm_sensor/adpd_stat + chown system radio /sys/class/sensors/hrm_sensor/name + chown system radio /sys/class/sensors/hrm_sensor/vendor + chown system radio /sys/class/sensors/hrm_sensor/device_id + + # UV_sensor + chown system radio /sys/class/sensors/uv_sensor/raw_data + + # 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_update2 + chown system radio /sys/class/sensors/ssp_sensor/mcu_update_ums + chown system radio /sys/class/sensors/ssp_sensor/mcu_dump + 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/uncal_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/uncalib_gyro_poll_delay + chown system radio /sys/class/sensors/ssp_sensor/ssp_flush + chown system radio /sys/class/sensors/ssp_sensor/shake_cam + + # IIO devices for SensorHub + chown system system /sys/bus/iio/devices/iio:device0/buffer/length + chown system system /sys/bus/iio/devices/iio:device0/buffer/enable + chown system system /sys/bus/iio/devices/iio:device1/buffer/length + chown system system /sys/bus/iio/devices/iio:device1/buffer/enable + chown system system /sys/bus/iio/devices/iio:device2/buffer/length + chown system system /sys/bus/iio/devices/iio:device2/buffer/enable + chown system system /sys/bus/iio/devices/iio:device3/buffer/length + chown system system /sys/bus/iio/devices/iio:device3/buffer/enable + chown system system /sys/bus/iio/devices/iio:device4/buffer/length + chown system system /sys/bus/iio/devices/iio:device4/buffer/enable + chown system system /sys/bus/iio/devices/iio:device5/buffer/length + chown system system /sys/bus/iio/devices/iio:device5/buffer/enable + + # 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 + + # 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 + + # 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 + + # 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 + chown system radio /sys/class/power_supply/ps/status + chmod 0664 /sys/class/power_supply/ps/status + + # 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 114,115,116,172 + + # Permissions for gpio_keys + chown system radio /sys/class/sec/sec_key/hall_irq_ctrl + + # Assign TCP buffer thresholds to be ceiling value of technology maximums + # Increased technology maximums should be reflected here. + write /proc/sys/net/core/rmem_max 8388608 + write /proc/sys/net/core/wmem_max 8388608 + + # 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 + + # Vibrator + chmod 0660 /sys/class/timed_output/vibrator/pwm_value + chown system system /sys/class/timed_output/vibrator/pwm_value + chmod 0440 /sys/class/timed_output/vibrator/pwm_max + chown system system /sys/class/timed_output/vibrator/pwm_max + chmod 0440 /sys/class/timed_output/vibrator/pwm_min + chown system system /sys/class/timed_output/vibrator/pwm_min + chmod 0440 /sys/class/timed_output/vibrator/pwm_default + chown system system /sys/class/timed_output/vibrator/pwm_default + chmod 0440 /sys/class/timed_output/vibrator/pwm_threshold + chown system system /sys/class/timed_output/vibrator/pwm_threshold + chown system system /sys/class/timed_output/vibrator/enable + + # Panel color temperature + chmod 0660 /sys/class/lcd/panel/panel_colors + chown system system /sys/class/lcd/panel/panel_colors + + # permission for Input Device(Touchkey). + chmod 0660 /sys/class/input/input1/enabled + chown system system /sys/class/input/input1/enabled + chmod 0660 /sys/class/input/input2/enabled + chown system system /sys/class/input/input2/enabled + chown radio system /sys/class/sec/sec_touchkey/touch_sensitivity + chown radio system /sys/class/sec/sec_touchkey/touchkey_firm_update + chown system radio /sys/class/sec/sec_touchkey/glove_mode + chown system radio /sys/class/sec/sec_touchkey/flip_mode + chown system radio /sys/class/sec/sec_touchkey/1mm_mode + chown system radio /sys/class/sec/sec_touchkey/boost_level + + # permissions for bluetooth. + setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr" + chown bluetooth net_bt_stack ro.bt.bdaddr_path + chown radio net_bt_stack /efs/bluetooth/bt_addr + chmod 0640 /efs/bluetooth/bt_addr + restorecon_recursive /efs/bluetooth + chmod 0660 /sys/class/rfkill/rfkill0/state + chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state + chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type + + # DualWave + chown system system /sys/kernel/DualWave/sound/DUALWAVE_CONFIG + + # bluetooth LPM + chmod 0660 /proc/bluetooth/sleep/lpm + chmod 0220 /proc/bluetooth/sleep/btwrite + chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm + chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite + + # Sensors + chown system system /efs/prox_cal + chmod 0640 /efs/prox_cal + restorecon /efs/prox_cal + + chown system system /efs/FactoryApp/baro_delta + chmod 0640 /efs/FactoryApp/baro_delta + restorecon /efs/FactoryApp/baro_delta + + chown system system /efs/gyro_cal_data + chmod 0640 /efs/gyro_cal_data + restorecon /efs/gyro_cal_data + +# Services begin here + +service adsprpcd /system/bin/adsprpcd + class main + user media + group media + +service qcamerasvr /system/bin/mm-qcamera-daemon + class main + user camera + group camera system inet input graphics net_bt_stack + +service qseecomd /system/bin/qseecomd + class core + user root + group root + +service mpdecision /system/bin/mpdecision --avg_comp + class main + user root + group root readproc + disabled + +service thermal-engine /system/vendor/bin/thermal-engine + class main user root - disabled - oneshot + socket thermal-send-client stream 0666 system system + socket thermal-recv-client stream 0660 system system + socket thermal-recv-passive-client stream 0666 system system + group root -on property:init.svc.surfaceflinger=stopped - stop ppd - stop hdmid +service time_daemon /system/bin/time_daemon + class late_start + user root + group root -on property:ro.board.platform=msm7630_fusion - start usbhub_init - -on property:init.svc.wpa_supplicant=stopped - stop dhcpcd - -# BRCM bt -# on property:bluetooth.isEnabled=true -# start btwlancoex -# write /sys/class/bluetooth/hci0/idle_timeout 7000 - -on property:ro.bluetooth.ftm_enabled=true - start ftmd - -on property:vold.decrypt=trigger_restart_framework - start config_bluetooth +service audiod /system/bin/audiod + class late_start + user system + group system service irsc_util /system/bin/irsc_util "/etc/sec_config" class main user root oneshot +service rfs_access /system/bin/rfs_access + class core + user system + group system net_raw + service rmt_storage /system/bin/rmt_storage class core user root - group system - disabled + group system wakelock -on property:ro.boot.emmc=true - start rmt_storage - -service rfs_access /system/bin/rfs_access - class core - user system - group system net_raw - -on property:ro.boot.emmc=true - start rfs_access - -on property:ro.debuggable=1 - chmod 0666 /sys/class/mhl/swing - chmod 0666 /sys/class/mhl/timing - -service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" - class core - user root - oneshot - -service hciattach /system/bin/sh /system/etc/init.qcom.bt.sh - class late_start - user bluetooth - group bluetooth net_bt_admin - disabled - oneshot - -on property:bluetooth.hciattach=true - start hciattach - -on property:bluetooth.hciattach=false - setprop bluetooth.status off - -#service ftmd /system/bin/logwrapper /system/bin/ftmdaemon -# class late_start -# user root -# group bluetooth net_bt_admin misc net_bt_stack qcom_diag -# disabled -# oneshot - -#service bridgemgrd /system/bin/bridgemgrd -# class late_start -# user radio -# group radio qcom_diag -# disabled - -#service port-bridge /system/bin/port-bridge /dev/smd0 /dev/ttyGS0 -# class late_start -# user system -# group system inet -# disabled - -# QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd - class main + class core user radio - group radio audio bluetooth gps qcom_diag - -service sensors /system/bin/sensors.qcom - class late_start - user root - group root - disabled - -# Adjust socket buffer to enlarge TCP receive window for high bandwidth -# but only if ro.data.large_tcp_window_size property is set. -on property:ro.data.large_tcp_window_size=true - write /proc/sys/net/ipv4/tcp_adv_win_scale 2 - -# BRCM bt -# service btwlancoex /system/bin/sh /system/etc/init.qcom.coex.sh -# class late_start -# user bluetooth -# group bluetooth net_bt_admin inet net_admin net_raw -# disabled -# oneshot - -service amp_init /system/bin/amploader -i - class late_start - user root - disabled - oneshot - -service amp_load /system/bin/amploader -l 7000 - class late_start - user root - disabled - oneshot - -service amp_unload /system/bin/amploader -u - class late_start - user root - disabled - oneshot - -service wcnss-service /system/bin/wcnss_service - class late_start - user system - group system wifi qcom_diag radio - disabled - oneshot + group radio audio bluetooth gps qcom_diag log service wpa_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ @@ -438,16 +925,18 @@ service p2p_supplicant /system/bin/wpa_supplicant \ oneshot service macloader /system/bin/macloader - class main late_start + class late_start oneshot + seclabel u:r:macloader:s0 service ril-daemon /system/bin/rild class main socket rild stream 660 root radio socket sap_uim_socket1 stream 660 bluetooth bluetooth socket rild-debug stream 660 radio system + socket rild-cas stream 660 casdrm mmb user root - group radio cache inet misc audio log wakelock qcom_diag + group radio cache inet misc audio log system wakelock qcom_diag on property:wlan.driver.status=ok start macloader @@ -455,82 +944,6 @@ on property:wlan.driver.status=ok on property:init.svc.macloader=stopped chown system root /data/.cid.info chmod 0664 /data/.cid.info - chown system root /data/.rev - chmod 0664 /data/.rev -# end of wifi - -service gpsone_daemon /system/bin/gpsone_daemon - class late_start - user gps - group gps qcom_oncrpc inet net_raw - disabled - -service quipc_igsn /system/bin/quipc_igsn - class late_start - user gps - group inet gps - disabled - -service quipc_main /system/bin/quipc_main - class late_start - user gps - group gps net_admin wifi inet - disabled - -service location_mq /system/bin/location-mq - class late_start - user gps - group gps - disabled - -service xtwifi_inet /system/bin/xtwifi-inet-agent - class late_start - user gps - group inet gps - disabled - -service xtwifi_client /system/bin/xtwifi-client - class late_start - user gps - group net_admin wifi inet gps - disabled - -service lowi-server /system/bin/lowi-server - class late_start - user gps - group gps net_admin wifi inet - disabled - -service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh - class late_start - user root - group system fm_radio - disabled - oneshot - -service drmdiag /system/bin/drmdiagapp - class late_start - user root - disabled - oneshot - -on property:drmdiag.load=1 - start drmdiag - -on property:drmdiag.load=0 - stop drmdiag - -service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh - class late_start - group wifi inet - disabled - oneshot - -service wifi-crda /system/bin/sh /system/etc/init.crda.sh - class late_start - user root - disabled - oneshot on property:sys.boot_completed=1 setprop sys.io.scheduler bfq @@ -557,252 +970,60 @@ on property:sys.boot_completed=1 write /sys/module/msm_pm/modes/cpu1/retention/idle_enabled 1 write /sys/module/msm_pm/modes/cpu2/retention/idle_enabled 1 write /sys/module/msm_pm/modes/cpu3/retention/idle_enabled 1 - write /sys/module/msm_pm/modes/cpu0/retention/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu1/retention/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu2/retention/suspend_enabled 1 write /sys/module/msm_pm/modes/cpu3/retention/suspend_enabled 1 - write /sys/module/msm_thermal/core_control/enabled 1 - - # Start to configure the CPU governors write /sys/module/msm_thermal/core_control/enabled 0 - write /sys/devices/system/cpu/cpu1/online 1 - write /sys/devices/system/cpu/cpu2/online 1 - write /sys/devices/system/cpu/cpu3/online 1 - - # Conservative - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpufreq/conservative/down_threshold 65 - write /sys/devices/system/cpu/cpufreq/conservative/freq_step 5 - write /sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load 1 - write /sys/devices/system/cpu/cpufreq/conservative/sampling_down_factor 1 - write /sys/devices/system/cpu/cpufreq/conservative/sampling_rate 180000 - write /sys/devices/system/cpu/cpufreq/conservative/sampling_rate_min 180000 - write /sys/devices/system/cpu/cpufreq/conservative/up_threshold 90 - - # Interactive governor + # Configure the CPU governor write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive - - write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "20000 1400000:40000 1700000:20000" - write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90 - write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1190400 + write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000" + write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 99 + write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1497600 write /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 1 write /sys/devices/system/cpu/cpufreq/interactive/target_loads "85 1500000:90 1800000:70" write /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 40000 write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000 - write /sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis 100000 - write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 30000 + write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000 + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 - # CPU Boost driver - - # write /sys/module/cpu_boost/parameters/boost_ms 20 - write /sys/module/cpu_boost/parameters/sync_threshold 1728000 - write /sys/module/cpu_boost/parameters/input_boost_freq 1497600 - write /sys/module/cpu_boost/parameters/input_boost_ms 500 - - # cpufreq - write /devices/system/cpu/cpu0/cpufreq/scaling_max_freq 2265600 - write /devices/system/cpu/cpu1/cpufreq/scaling_max_freq 2265600 - write /devices/system/cpu/cpu2/cpufreq/scaling_max_freq 2265600 - write /devices/system/cpu/cpu3/cpufreq/scaling_max_freq 2265600 - write /devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 - write /devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000 - write /devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 - write /devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000 - - # End of governor configuration - write /sys/module/msm_thermal/core_control/enabled 1 - - chown root system /sys/devices/system/cpu/mfreq - chmod 220 /sys/devices/system/cpu/mfreq chown root system /sys/devices/system/cpu/cpu1/online chown root system /sys/devices/system/cpu/cpu2/online chown root system /sys/devices/system/cpu/cpu3/online chmod 664 /sys/devices/system/cpu/cpu1/online chmod 664 /sys/devices/system/cpu/cpu2/online chmod 664 /sys/devices/system/cpu/cpu3/online - write /dev/cpuctl/cpu.notify_on_migrate 1 - # Configure the GPU - write 320000000 /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/devfreq/min_freq + write /sys/module/msm_thermal/core_control/enabled 1 + + # Configure the cpu-boost module + write /sys/module/cpu_boost/parameters/boost_ms 20 + write /sys/module/cpu_boost/parameters/sync_threshold 1728000 + write /sys/module/cpu_boost/parameters/input_boost_freq 1497600 + write /sys/module/cpu_boost/parameters/input_boost_ms 40 # Post boot services + rm /data/system/perfd/default_values start mpdecision - # Symlink telephony.db and preferred-apn.xml - mkdir /data/data/com.android.providers.telephony/databases 0700 radio radio - mkdir /data/data/com.android.providers.telephony/shared_prefs 0700 radio radio - symlink /data/user_de/0/com.android.providers.telephony/databases/telephony.db /data/data/com.android.providers.telephony/databases/telephony.db - symlink /data/user_de/0/com.android.providers.telephony/shared_prefs/preferred-apn.xml /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml - -service hdmid /system/bin/hdmid - class late_start - socket hdmid stream 0660 root system graphics - disabled - -#service ppd /system/bin/mm-pp-daemon -# class late_start -# user system -# socket pps stream 0660 system system graphics -# group system graphics - -service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf - class late_start - user root - group root - oneshot - disabled - -service ds_fmc_appd /system/bin/ds_fmc_appd -p "rmnet0" -D - class late_start - group radio wifi inet - disabled - oneshot - -on property:persist.data.ds_fmc_app.mode=1 - start ds_fmc_appd - -service ims_regmanager /system/bin/exe-ims-regmanagerprocessnative - class late_start - group qcom_oncrpc net_bt_admin inet radio wifi - disabled - -on property:persist.ims.regmanager.mode=1 - start ims_regmanager - -on property:ro.data.large_tcp_window_size=true - # Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB) - write /proc/sys/net/ipv4/tcp_adv_win_scale 2 - -service battery_monitor /system/bin/battery_monitor - user system - group system - disabled - -service ril-daemon1 /system/bin/rild -c 1 - class main - socket rild1 stream 660 root radio - socket rild-debug1 stream 660 radio system - user root - disabled - group radio cache inet misc audio sdcard_r sdcard_rw qcom_oncrpc diag qcom_diag log - -service profiler_daemon /system/bin/profiler_daemon - class late_start - user root - group root - disabled - -service hcidump /system/bin/sh /system/etc/hcidump.sh - user bluetooth - group bluetooth system net_bt_admin net_admin - disabled - oneshot + # Symlink directories to access telephony.db and preferred-apn.xml required by cbd + symlink /data/user_de/0/com.android.providers.telephony/databases /data/data/com.android.providers.telephony/databases + symlink /data/user_de/0/com.android.providers.telephony/shared_prefs /data/data/com.android.providers.telephony/shared_prefs service charger /charger class charger + seclabel u:r:healthd:s0 -service hvdcp /system/bin/hvdcp - class core +service sec-sh /system/bin/sh /system/etc/init.sec.boot.sh + class main user root - disabled + oneshot -on property:persist.usb.hvdcp.detect=true - start hvdcp - -on property:persist.usb.hvdcp.detect=false - stop hvdcp - -# Disable SSR to SoC restart on property:persist.sys.ssr.restart_level=1 write /sys/module/subsystem_restart/parameters/restart_level 1 -# write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 0 - write /sys/bus/msm_subsys/devices/subsys0/restart_level system - write /sys/bus/msm_subsys/devices/subsys1/restart_level system - write /sys/bus/msm_subsys/devices/subsys2/restart_level system - write /sys/bus/msm_subsys/devices/subsys3/restart_level system -# Enable SSR on property:persist.sys.ssr.restart_level=3 write /sys/module/subsystem_restart/parameters/restart_level 3 -# write /sys/module/wcnss_ssr_8960/parameters/enable_riva_ssr 1 - write /sys/bus/msm_subsys/devices/subsys0/restart_level related - write /sys/bus/msm_subsys/devices/subsys1/restart_level related - write /sys/bus/msm_subsys/devices/subsys2/restart_level related - write /sys/bus/msm_subsys/devices/subsys3/restart_level related -# Define fastmmi -service fastmmi /system/bin/mmi - user root - group root - disabled - oneshot - -service fastmmisrv /system/bin/sh /init.qcom.factory.sh - user root - disabled - oneshot - -on ffbm - start fastmmisrv - -# bugreport is triggered by the KEY_VOL-UP and KEY_VOL-DOWN keycodes -service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport - disabled - oneshot - keycodes 114 115 - -# CM Performance Profiles - -# Powersave -on property:sys.perf.profile=0 - stop mpdecision - write /sys/module/msm_thermal/core_control/enabled 0 - write /sys/devices/system/cpu/cpu0/online 1 - write /sys/devices/system/cpu/cpu1/online 1 - write /sys/devices/system/cpu/cpu2/online 1 - write /sys/devices/system/cpu/cpu3/online 1 - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor conservative - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor conservative - write /sys/class/kgsl/kgsl-3d0/devfreq/governor "powersave" - write /sys/module/msm_thermal/core_control/enabled 1 - start mpdecision - -# Balanced -on property:sys.perf.profile=1 - stop mpdecision - write /sys/module/msm_thermal/core_control/enabled 0 - write /sys/devices/system/cpu/cpu0/online 1 - write /sys/devices/system/cpu/cpu1/online 1 - write /sys/devices/system/cpu/cpu2/online 1 - write /sys/devices/system/cpu/cpu3/online 1 - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive - write /sys/class/kgsl/kgsl-3d0/devfreq/governor "msm-adreno-tz" - write /sys/module/msm_thermal/core_control/enabled 1 - start mpdecision - -# High performance -on property:sys.perf.profile=2 - stop mpdecision - write /sys/module/msm_thermal/core_control/enabled 0 - write /sys/devices/system/cpu/cpu0/online 1 - write /sys/devices/system/cpu/cpu1/online 1 - write /sys/devices/system/cpu/cpu2/online 1 - write /sys/devices/system/cpu/cpu3/online 1 - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor performance - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor performance - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor performance - write /sys/class/kgsl/kgsl-3d0/devfreq/governor "performance" - write /sys/module/msm_thermal/core_control/enabled 1 +on property:service.bootanim.exit=1 + #write /sys/module/rmnet_usb/parameters/dump_ctrl_msg 2 diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 54c97f9..15eeec5 100755 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -899,3 +899,8 @@ on property:sys.usb.config=charging write /sys/class/android_usb/android0/functions acm write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} + +on property:service.adb.root=1 + write /sys/class/android_usb/android0/enable 0 + restart adbd + write /sys/class/android_usb/android0/enable 1 diff --git a/rootdir/etc/init.sec.boot.sh b/rootdir/etc/init.sec.boot.sh new file mode 100755 index 0000000..8d0c8d4 --- /dev/null +++ b/rootdir/etc/init.sec.boot.sh @@ -0,0 +1,4 @@ +#!/system/bin/sh + +# start deferred initcalls +cat /proc/deferred_initcalls diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc deleted file mode 100755 index 018da59..0000000 --- a/rootdir/etc/init.target.rc +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright (c) 2011-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 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. -# -# - -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 fs - 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 - setprop ro.crypto.fuse_sdcard true - - # 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/persist - check_fs /dev/block/platform/msm_sdcc.1/by-name/persist ext4 - mount ext5 /dev/block/platform/msm_sdcc.1/by-name/persist /persist nosuid nodev noatime noauto_da_alloc,discard,journal_async_commit,errors=panic,context=u:object_r:persist_file:s0 - restorecon_recursive /persist - - 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 - restorecon_recursive /efs - -# 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 - write /sys/kernel/boot_adsp/boot 1 - setprop qcom.audio.init complete - -on post-fs-data - 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 - - # 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_camfw_full - 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/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 - chown system radio /sys/class/sensors/proximity_sensor/prox_cal - 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/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/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 - -# 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 - -# 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 - -# 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 - -#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 - -on property:sys.boot_completed=1 - start qrngp - -service qseecomd /system/bin/qseecomd - class late_start - user root - group system - -service mpdecision /system/bin/mpdecision --avg_comp - user root - group system - disabled - -service thermal-engine /system/bin/thermal-engine - class core - seclabel u:r:thermal-engine:s0 - user root - group radio system - -service time_daemon /system/bin/time_daemon - class late_start - user root - group root - -service audiod /system/bin/audiod - class late_start - user system - group system - -service ppd /system/bin/mm-pp-daemon - class late_start - user system - socket pps stream 0660 system system graphics - group system graphics - -service init-input-sh /system/bin/sh /init.input.sh - class core - user root - group root - oneshot diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 36c5f0c..664a1df 100755 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -44,8 +44,6 @@ #permissions for CSVT /dev/smd11 0660 radio radio - -/dev/radio0 0640 system system /dev/rfcomm0 0660 bluetooth bluetooth /dev/smdcntl0 0640 radio radio /dev/smdcntl1 0640 radio radio @@ -105,11 +103,11 @@ /dev/gemini/ 0660 system camera /dev/mercury0 0660 system camera /dev/msm_vidc_reg 0660 system audio -/dev/msm_vidc_dec 0660 system camera -/dev/msm_vidc_dec_sec 0660 system camera -/dev/msm_vidc_enc 0660 system camera +/dev/msm_vidc_dec 0660 system audio +/dev/msm_vidc_dec_sec 0660 system audio +/dev/msm_vidc_enc 0660 system audio /dev/msm_rotator 0660 system system -/dev/hw_random 0660 system system +/dev/hw_random 0660 root root /dev/adsprpc-smd 0664 system system #permissions for audio @@ -144,16 +142,41 @@ /dev/sdio_tty_ciq_00 0660 system system /dev/tty_sdio_00 0660 system system /dev/ttyGS0 0660 system system -/dev/i2c-5 0660 media media +/dev/i2c-5 0660 media media +/dev/voice_svc 0660 system audio -# DVB devices -/dev/dvb/adapter0/demux* 0440 media media -/dev/dvb/adapter0/dvr* 0660 media media -/dev/dvb/adapter0/video* 0660 media media +#Audience ES705 UART +/dev/ttyHS3 0660 media audio + +# Bluetooth +/dev/ttyHS0 0660 bluetooth net_bt_stack +/dev/ttyHS2 0660 bluetooth bluetooth + +# bluetooth LPM +/dev/btlock 0600 bluetooth bluetooth # Broadcast devices -/dev/tsc_mux0 0660 media media -/dev/tsc_ci0 0660 media media +/dev/tsc_mux0 0660 media media +/dev/tsc_ci0 0660 media media + +# DVB devices +/dev/dvb/adapter0/demux* 0440 media media +/dev/dvb/adapter0/dvr* 0660 media media +/dev/dvb/adapter0/video* 0660 media media + +# IR_LED +/dev/ice4_dev 0660 system system + +# SHTC1 BULK +/dev/shtc1_sensor 0600 system system + +# UIO devices +/dev/uio0 0660 system system +/dev/uio1 0660 system system +/dev/uio2 0660 system system + +# wlan +/dev/rfkill 0600 wifi wifi # sensors /sys/devices/i2c-12/12-* pollrate_ms 0664 system system @@ -166,179 +189,150 @@ /sys/devices/virtual/input/input* poll 0660 input system /sys/devices/virtual/input/input* pollrate_ms 0660 input system -# wlan -/dev/wcnss_wlan 0660 system system -/dev/wcnss_ctrl 0660 system system - -# UIO devices -/dev/uio0 0660 system system -/dev/uio1 0660 system system -/dev/uio2 0660 system system - -v/ppp 0660 radio vpn - -# for usb printer -/dev/bus/usb/* 0660 system usb -/dev/usb/lp* 0660 system usb - -#permission for dun -/dev/dun 0660 system system - -# for PL2303 driver -/dev/ttyUSB* 0660 system usb - -# EFS -/dev/block/mmcblk0p11 0660 system system - -# sysfs properties -/sys/devices/virtual/input/input* enable 0660 root input -/sys/devices/virtual/input/input* delay 0660 root input -/sys/devices/virtual/input/input* poll_delay 0660 root input -/sys/devices/virtual/input/input* flush 0660 root input -/sys/devices/virtual/usb_composite/* enable 0664 root system -/sys/devices/f9924000.i2c/i2c-2/2-0020/input/input* enabled 0660 system system - # sensorhub +/dev/batch_io 0660 system system /dev/ssp_sensorhub 0660 system system -/dev/iio:device* 0660 system system -/sys/devices/f9967000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/enable 0660 system system -/sys/devices/f9967000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/length 0660 system system -/sys/devices/f9967000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/enable 0660 system system -/sys/devices/f9967000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/length 0660 system system -/sys/devices/f9967000.spi/spi_master/spi11/spi11.0/iio:device* buffer/enable 0660 system system -/sys/devices/f9967000.spi/spi_master/spi11/spi11.0/iio:device* buffer/length 0660 system system -/sys/devices/f9924000.i2c/i2c-2/2-0020/input/input* enabled 0660 system system +/dev/iio:device* 0660 system system +/sys/devices/f9967000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/enable 0660 system system +/sys/devices/f9967000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/length 0660 system system +/sys/devices/f9967000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/enable 0660 system system +/sys/devices/f9967000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/length 0660 system system +/sys/devices/f9967000.spi/spi_master/spi11/spi11.0/iio:device* buffer/enable 0660 system system +/sys/devices/f9967000.spi/spi_master/spi11/spi11.0/iio:device* buffer/length 0660 system system +/sys/devices/f9924000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/enable 0660 system radio +/sys/devices/f9924000.spi/spi_master/spi32766/spi32766.0/iio:device* buffer/length 0660 system radio +/sys/devices/f9924000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/enable 0660 system radio +/sys/devices/f9924000.spi/spi_master/spi32765/spi32765.0/iio:device* buffer/length 0660 system radio +#Accelerometer sensor +/sys/devices/f9925000.i2c/i2c-0/0-0018/input/input* enable 0664 system system +/sys/devices/f9925000.i2c/i2c-0/0-0018/input/input* delay 0664 system system +/sys/devices/i2c.73/i2c-16/16-0018/input/input* enable 0664 system system +/sys/devices/i2c.73/i2c-16/16-0018/input/input* delay 0664 system system # sysfs iio event -/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* 0664 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* enable 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* in_grip0_input 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* 0664 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* enable 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0024/iio:device* in_grip0_input 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* 0664 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* enable 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* prox_enable 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* delay 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* prox_delay 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* in_illuminance0_input 0660 system radio -/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* in_proximity0_input 0660 system radio - -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* buffer 0777 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements 0777 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* trigger 0777 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power 0777 system radio - -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* uevent 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dev 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* buffer/length 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* buffer/enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_en 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_type 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_index 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* sampling_frequency_available 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* reg_dump 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* temperature 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_scale 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_self_test_scale 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test_samples 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test_threshold 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_fifo_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power_state 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* sampling_frequency 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_matrix 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* secondary_name 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* reg_write 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_enable_testp1 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_enable_testp2 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_exe_state 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_delay_cntr 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_suspend_resume 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_gyro_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_accel_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_compass_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_pressure_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_LPQ_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_PEDQ_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_SIXQ_counter 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_display_orientation 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_accel_motion 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_smd 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_pedometer 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_scale 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_calibbias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_self_test_scale 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_offset 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_dmp_bias 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_int_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_steps 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_time 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_threshold 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_delay_threshold 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_delay_threshold2 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* display_orientation_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_int_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_event_int_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* step_indicator_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* batchmode_timeout 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* batchmode_wake_fifo_full_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* six_axes_q_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* six_axes_q_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* three_axes_q_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* three_axes_q_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* ped_q_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* ped_q_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* step_detector_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_freq 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_threshold 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_fifo_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* firmware_loaded 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_matrix 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_magn_scale 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_rate 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_matrix 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_sens 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* name 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* trigger/current_trigger 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_status 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/control 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_suspended_time 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_active_time 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/autosuspend_delay_ms 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_firmware 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_tap 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* flush_batch 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* master_enable 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_min_count 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_on 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_threshold 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_time 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_firmware 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_int_thresh 0660 system radio -/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_step_thresh 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* 0664 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* enable 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* prox_enable 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* delay 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* prox_delay 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* in_illuminance0_input 0660 system radio +/sys/devices/f9927000.i2c/i2c-5/5-0039/iio:device* in_proximity0_input 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* uevent 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dev 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* buffer/length 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* buffer/enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_en 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_type 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* scan_elements/in_timestamp_index 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* sampling_frequency_available 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* reg_dump 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* temperature 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_scale 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_self_test_scale 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test_samples 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test_threshold 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_fifo_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power_state 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* sampling_frequency 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* self_test 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* gyro_matrix 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* secondary_name 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* reg_write 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_enable_testp1 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_enable_testp2 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_exe_state 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* debug_smd_delay_cntr 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_suspend_resume 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_gyro_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_accel_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_compass_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_pressure_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_LPQ_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_PEDQ_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* test_SIXQ_counter 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_display_orientation 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_accel_motion 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_smd 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_pedometer 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_scale 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_calibbias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_self_test_scale 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_offset 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_x_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_y_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_accel_z_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_x_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_y_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_anglvel_z_dmp_bias 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_int_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_steps 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_time 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_threshold 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_delay_threshold 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* smd_delay_threshold2 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* display_orientation_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_int_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_event_int_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* step_indicator_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* batchmode_timeout 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* batchmode_wake_fifo_full_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* six_axes_q_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* six_axes_q_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* three_axes_q_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* three_axes_q_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* ped_q_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* ped_q_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* step_detector_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_freq 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* motion_lpa_threshold 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_fifo_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* firmware_loaded 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_matrix 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* accel_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* in_magn_scale 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_rate 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_matrix 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* compass_sens 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* name 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* trigger/current_trigger 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_status 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/control 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_suspended_time 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/runtime_active_time 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* power/autosuspend_delay_ms 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_firmware 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* event_tap 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* flush_batch 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* master_enable 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_min_count 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_on 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_threshold 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* tap_time 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* dmp_firmware 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_int_thresh 0660 system radio +/sys/devices/f9968000.i2c/i2c-12/12-0068/iio:device* pedometer_step_thresh 0660 system radio diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index 7714e68..ca37b2b 100755 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -19,18 +19,9 @@ # EFS /dev/block/platform/msm_sdcc.1/by-name/efs u:object_r:modem_efs_partition_device:s0 -# Fingerprint -/data/validity(/.*)? u:object_r:vcs_data_file:s0 -/dev/validity(/.*)? u:object_r:vcs_device:s0 -/dev/vfsspi u:object_r:vcs_device:s0 - # Macloader /system/bin/macloader u:object_r:macloader_exec:s0 -# NFC -/dev/bcm2079x u:object_r:nfc_device:s0 -/dev/pn547 u:object_r:nfc_device:s0 - # RIL /data/data/com.android.providers.telephony/databases(/.*)? u:object_r:radio_data_file:s0 /data/data/com.android.providers.telephony/shared_prefs(/.*)? u:object_r:radio_data_file:s0 diff --git a/sepolicy/fingerprintd.te b/sepolicy/fingerprintd.te deleted file mode 100755 index 4a25a4c..0000000 --- a/sepolicy/fingerprintd.te +++ /dev/null @@ -1,14 +0,0 @@ -allow fingerprintd vcs_data_file:dir create_dir_perms; -allow fingerprintd vcs_data_file:file create_file_perms; - -allow fingerprintd vcs_device:dir create_dir_perms; -allow fingerprintd vcs_device:file create_file_perms; -allow fingerprintd vcs_device:fifo_file create_file_perms; -allow fingerprintd vcs_device:chr_file create_file_perms; - -allow fingerprintd tee_device:chr_file rw_file_perms; - -allow fingerprintd firmware_file:dir r_dir_perms; -allow fingerprintd firmware_file:file r_file_perms; - -allow fingerprintd vfat:file { getattr open read }; diff --git a/sepolicy/platform_app.te b/sepolicy/platform_app.te index 3b7e201..42592cd 100755 --- a/sepolicy/platform_app.te +++ b/sepolicy/platform_app.te @@ -1,3 +1,4 @@ -allow platform_app fuseblk:dir { open read remove_name search write }; -allow platform_app fuseblk:file { getattr unlink write }; - +allow platform_app exfat:dir create_dir_perms; +allow platform_app exfat:file create_file_perms; +allow platform_app fuseblk:dir create_dir_perms; +allow platform_app fuseblk:file create_file_perms; diff --git a/sepolicy/priv_app.te b/sepolicy/priv_app.te index b70230c..6b968bd 100755 --- a/sepolicy/priv_app.te +++ b/sepolicy/priv_app.te @@ -1,3 +1,5 @@ allow priv_app device:dir { open read }; -allow priv_app fuseblk:dir { add_name open read search read write }; -allow priv_app fuseblk:file { create getattr open read write }; +allow priv_app exfat:dir create_dir_perms; +allow priv_app exfat:file create_file_perms; +allow priv_app fuseblk:dir create_dir_perms; +allow priv_app fuseblk:file create_file_perms; diff --git a/sepolicy/untrusted_app.te b/sepolicy/untrusted_app.te index 12f3fdb..be13689 100755 --- a/sepolicy/untrusted_app.te +++ b/sepolicy/untrusted_app.te @@ -1,3 +1,5 @@ # These are safe for an untrusted_app -- they are the external SD card -allow untrusted_app fuseblk:dir search; -allow untrusted_app fuseblk:file { getattr read }; +allow untrusted_app exfat:dir create_dir_perms; +allow untrusted_app exfat:file create_file_perms; +allow untrusted_app fuseblk:dir create_dir_perms; +allow untrusted_app fuseblk:file create_file_perms; diff --git a/setup-makefiles.sh b/setup-makefiles.sh index efa0bd2..e63eba0 100755 --- a/setup-makefiles.sh +++ b/setup-makefiles.sh @@ -1,89 +1,6 @@ #!/bin/bash - -VENDOR=samsung - -OUT_ROOT=$2 -OUT_PROP=$3 - -DEVICE=$4 - -MAKEFILE=$OUT_ROOT/$DEVICE-vendor-blobs.mk - -echo "Setup makefiles in $OUT_ROOT for $DEVICE" -echo "Proprietary files in $OUT_PROP" - -(cat << EOF) > $MAKEFILE -# Copyright (C) 2017 The LineageOS Project # -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh - -PRODUCT_COPY_FILES += \\ -EOF - -LINEEND=" \\" -COUNT=`wc -l $1 | awk {'print $1'}` -DISM=`egrep -c '(^#|^$)' $1` -COUNT=`expr $COUNT - $DISM` -for FILE in `egrep -v '(^#|^$)' $1`; do - COUNT=`expr $COUNT - 1` - if [ $COUNT = "0" ]; then - LINEEND="" - fi - # Split the file from the destination (format is "file[:destination]") - OLDIFS=$IFS IFS=":" PARSING_ARRAY=($FILE) IFS=$OLDIFS - if [[ ! "$FILE" =~ ^-.* ]]; then - FILE=`echo ${PARSING_ARRAY[0]} | sed -e "s/^-//g"` - DEST=${PARSING_ARRAY[1]} - if [ -n "$DEST" ]; then - FILE=$DEST - fi - echo " $OUT_PROP/$FILE:system/$FILE$LINEEND" >> $MAKEFILE - fi -done - -(cat << EOF) > $OUT_ROOT/$DEVICE-vendor.mk -# Copyright (C) 2017 The LineageOS Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh - -# Pick up overlay for features that depend on non-open-source files -\$(call inherit-product, vendor/$VENDOR/$DEVICE/$DEVICE-vendor-blobs.mk) -EOF - -if [ "$DEVICE" == tabpro-common ]; then - (cat << EOF) >> $OUT_ROOT/$DEVICE-vendor.mk - -PRODUCT_PACKAGES += \\ - libtime_genoff \\ - com.qualcomm.location \\ - libril -EOF - - (cat << EOF) > $OUT_ROOT//Android.mk +# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -97,34 +14,47 @@ EOF # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +# -# This file is generated by device/$VENDOR/$DEVICE/setup-makefiles.sh +set -e -LOCAL_PATH := \$(call my-dir) +export DEVICE=viennalte +export DEVICE_COMMON=viennalte +export VENDOR=samsung -ifneq (\$(filter viennalte,\$(TARGET_DEVICE)),) +export INITIAL_COPYRIGHT_YEAR=2014 -include \$(CLEAR_VARS) -LOCAL_MODULE := libtime_genoff -LOCAL_MODULE_OWNER := samsung -LOCAL_SRC_FILES := proprietary/vendor/lib/libtime_genoff.so -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_SUFFIX := .so -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_SHARED_LIBRARIES) -include \$(BUILD_PREBUILT) +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi -include \$(CLEAR_VARS) -LOCAL_MODULE := libril -LOCAL_MODULE_OWNER := samsung -LOCAL_SRC_FILES := proprietary/lib/libril.so -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_SUFFIX := .so -LOCAL_MODULE_CLASS := SHARED_LIBRARIES -LOCAL_MODULE_PATH := \$(TARGET_OUT_SHARED_LIBRARIES) -LOCAL_OVERRIDES_PACKAGES := libril -include \$(BUILD_PREBUILT) +CM_ROOT="$MY_DIR"/../../.. -endif -EOF +HELPER="$CM_ROOT"/vendor/cm/build/tools/extract_utils.sh +if [ ! -f "$HELPER" ]; then + echo "Unable to find helper script at $HELPER" + exit 1 fi +. "$HELPER" + +# Initialize the helper for common device +setup_vendor "$DEVICE_COMMON" "$VENDOR" "$CM_ROOT" true + +# Copyright headers and common guards +write_headers "viennalte" + +write_makefiles "$MY_DIR"/common-proprietary-files.txt + +write_footers + +# Reinitialize the helper for device +setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT" + +# Copyright headers and guards +write_headers + +for BLOB_LIST in "$MY_DIR"/../$DEVICE/device-proprietary-files*.txt; do + write_makefiles $BLOB_LIST +done + +write_footers diff --git a/system.prop b/system.prop index 4edca88..ee46882 100755 --- a/system.prop +++ b/system.prop @@ -1,49 +1,72 @@ -# -# Samsung Galaxy Note Pro 12.2 -# +# Art +dalvik.vm.dex2oat-swap=false -# display -lockscreen.rot_override=true +# Audio +af.fast_track_multiplier=1 +audio_hal.period_size=192 +audio.offload.video=true +persist.audio.fluence.speaker=true +persist.audio.fluence.voicecall=true +persist.audio.fluence.voicerec=false +ro.qc.sdk.audio.fluencetype=fluence +use.voice.path.for.pcm.voip=false +use.dedicated.device.for.voip=true +audio.deep_buffer.media=true +audio.offload.pcm.16bit.enable=true +audio.offload.pcm.24bit.enable=true +audio.offload.multiple.enabled=false +audio.offload.buffer.size.kb=32 + +# Camera +camera2.portability.force_api=1 + +# Display ro.hdcp2.rx=tz ro.qualcomm.cabl=1 ro.secwvk=144 ro.sf.lcd_density=320 -# gps +# GPS persist.gps.qc_nlp_in_use=0 ro.gps.agps_provider=1 ro.qc.sdk.izat.premium_enabled=0 ro.qc.sdk.izat.service_mask=0x0 -# Camera -camera2.portability.force_api=1 - # Media -av.streaming.offload.enable=true -audio.offload.gapless.enabled=true -audio.offload.pcm.16bit.enable=true -audio.offload.pcm.24bit.enable=true media.stagefright.legacyencoder=true media.stagefright.less-secure=true -# radio -persist.radio.add_power_save=1 -persist.radio.lte_vrat_report=1 -persist.radio.mode_pref_nv10=1 -rild.libargs=-d /dev/smd0 -rild.libpath=/system/lib/libsec-ril.so -#ro.telephony.default_network=10 -ro.telephony.ril_class=NoteProRIL - -# CWMR Options -ro.cwm.forbid_format=/boot,/firmware,/firmware-modem -ro.cwm.forbid_mount=/boot - -# perf api +# Perf ro.vendor.extension_library=/vendor/lib/libqti-perfd-client.so -# Bluetooth -qcom.bluetooth.soc=rome +# Radio +persist.data.netmgrd.qos.enable=true +persist.data.qmi.adb_logmask=0 +persist.radio.add_power_save=1 +persist.radio.lte_vrat_report=1 +ro.telephony.mms_data_profile=5 +ro.telephony.ril_class=NoteProRIL + +rild.libargs=-d /dev/smd0 +rild.libpath=/system/lib/libsec-ril.so +ro.ril.telephony.mqanelements=6 + +# Ril sends only one RIL_UNSOL_CALL_RING, so set call_ring.multiple to false +ro.telephony.call_ring.multiple=0 + +# Sensors +debug.sensors=1 + +# Storage +ro.sys.sdcardfs=true # Tethering net.tethering.noprovisioning=true + +# WiFi +wifi.interface=wlan0 + +# Enable adb +#persist.service.adb.enable=1 +#persist.service.debuggable=1 +#ro.adb.secure=0 diff --git a/twrp.mk b/twrp.mk new file mode 100755 index 0000000..37882d0 --- /dev/null +++ b/twrp.mk @@ -0,0 +1,30 @@ +# Copyright (C) 2017 The LineageOS Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +TARGET_RECOVERY_DEVICE_DIRS += device/samsung/viennalte/twrp + +RECOVERY_SDCARD_ON_DATA := true +TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888" +TARGET_RECOVERY_QCOM_RTC_FIX := true +TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/msm_dwc3/f9200000.dwc3/gadget/lun%d/file" +TW_BRIGHTNESS_PATH := "/sys/devices/mdp.0/qcom\x2cmdss_fb_primary.191/leds/lcd-backlight/brightness" +TW_DEFAULT_BRIGHTNESS := 162 +TW_HAS_DOWNLOAD_MODE := true +TW_INCLUDE_CRYPTO := true +TW_MAX_BRIGHTNESS := 255 +TW_MTP_DEVICE := "/dev/mtp_usb" +TW_NO_EXFAT_FUSE := true +TW_NO_LEGACY_PROPS := true +TW_NO_REBOOT_BOOTLOADER := true +TW_THEME := landscape_hdpi diff --git a/twrp/recovery/root/etc/twrp.fstab b/twrp/recovery/root/etc/twrp.fstab new file mode 100755 index 0000000..bbd2cf3 --- /dev/null +++ b/twrp/recovery/root/etc/twrp.fstab @@ -0,0 +1,13 @@ +/modem vfat /dev/block/platform/msm_sdcc.1/by-name/modem /dev/block/platform/msm_sdcc.1/by-name/mdm flags=backup=1;display="Modem";fsflags=ro,context=u:object_r:firmware_file:s0 +/firmware vfat /dev/block/platform/msm_sdcc.1/by-name/apnhlos flags=backup=1;subpartitionof=/modem;mounttodecrypt;fsflags=ro,context=u:object_r:firmware_file:s0 +/boot emmc /dev/block/platform/msm_sdcc.1/by-name/boot +/recovery emmc /dev/block/platform/msm_sdcc.1/by-name/recovery +/misc emmc /dev/block/platform/msm_sdcc.1/by-name/fota +/system ext4 /dev/block/platform/msm_sdcc.1/by-name/system +/data ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata flags=encryptable=footer;length=-16384 +/cache ext4 /dev/block/platform/msm_sdcc.1/by-name/cache +/efs ext4 /dev/block/platform/msm_sdcc.1/by-name/efs flags=backup=1;display="EFS" +/modemst1 emmc /dev/block/platform/msm_sdcc.1/by-name/modemst1 flags=backup=1;subpartitionof=/efs +/modemst2 emmc /dev/block/platform/msm_sdcc.1/by-name/modemst2 flags=backup=1;subpartitionof=/efs +/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="Micro SDcard";storage;wipeingui;removable +/usbstorage vfat /dev/block/sda1 /dev/block/sda flags=display="USB Storage";storage;wipeingui;removable