commit da7bb29bf749160ba450a4ea27f352490bc1f7a3 Author: PROPGSP <148640805+PROPGSP@users.noreply.github.com> Date: Sun Jun 22 13:42:34 2025 +0530 initializing tree with aospdtgen just fr skeleton diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..cdaa513 --- /dev/null +++ b/Android.bp @@ -0,0 +1,8 @@ +// +// Copyright (C) 2025 The LineageOS Project +// +// SPDX-License-Identifier: Apache-2.0 +// + +soong_namespace { +} diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..fea5c77 --- /dev/null +++ b/Android.mk @@ -0,0 +1,11 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),cancunf) +include $(call all-subdir-makefiles,$(LOCAL_PATH)) +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..0c35851 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,13 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/lineage_cancunf.mk + +COMMON_LUNCH_CHOICES := \ + lineage_cancunf-user \ + lineage_cancunf-userdebug \ + lineage_cancunf-eng diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..bb1f5aa --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,102 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +DEVICE_PATH := device/motorola/cancunf + +# A/B +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS += +BOARD_USES_RECOVERY_AS_BOOT := true + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := generic +TARGET_CPU_VARIANT_RUNTIME := cortex-a55 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := generic +TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a55 + +# Bootloader +TARGET_BOOTLOADER_BOARD_NAME := cancunf +TARGET_NO_BOOTLOADER := true + +# Display +TARGET_SCREEN_DENSITY := 400 + +# Kernel +BOARD_BOOTIMG_HEADER_VERSION := 4 +BOARD_KERNEL_BASE := 0x3fff8000 +BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2 loglevel=4 initcall_debug=0 +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION) +BOARD_KERNEL_IMAGE_NAME := Image +BOARD_INCLUDE_DTB_IN_BOOTIMG := true +BOARD_KERNEL_SEPARATED_DTBO := true +TARGET_KERNEL_CONFIG := cancunf_defconfig +TARGET_KERNEL_SOURCE := kernel/motorola/cancunf + +# Kernel - prebuilt +TARGET_FORCE_PREBUILT_KERNEL := true +ifeq ($(TARGET_FORCE_PREBUILT_KERNEL),true) +TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilts/kernel +TARGET_PREBUILT_DTB := $(DEVICE_PATH)/prebuilts/dtb.img +BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB) +BOARD_INCLUDE_DTB_IN_BOOTIMG := +BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilts/dtbo.img +BOARD_KERNEL_SEPARATED_DTBO := +endif + +# Partitions +BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) +BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 +BOARD_DTBOIMG_PARTITION_SIZE := 8388608 +BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864 +BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value +BOARD_SUPER_PARTITION_GROUPS := motorola_dynamic_partitions +BOARD_MOTOROLA_DYNAMIC_PARTITIONS_PARTITION_LIST := +BOARD_MOTOROLA_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value + +# Platform +TARGET_BOARD_PLATFORM := mt6855 + +# Properties +TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop +TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop +TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop +TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop +TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop +TARGET_ODM_DLKM_PROP += $(DEVICE_PATH)/odm_dlkm.prop +TARGET_VENDOR_DLKM_PROP += $(DEVICE_PATH)/vendor_dlkm.prop + +# Recovery +TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.enablezramwb +TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888 +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true + +# Security patch level +VENDOR_SECURITY_PATCH := 2025-03-01 + +# Verified Boot +BOARD_AVB_ENABLE := true +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 +BOARD_AVB_VENDOR_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_VENDOR_BOOT_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX := 1 +BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX_LOCATION := 1 + +# VINTF +DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml + +# Inherit the proprietary files +include vendor/motorola/cancunf/BoardConfigVendor.mk diff --git a/README.md b/README.md new file mode 100644 index 0000000..75708f9 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Android device tree for motorola moto g54 5G (cancunf) + +``` +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# +``` + + +# Motorola G64 (cancunf) Linage OS compaitable device tree +Linage OS compaitable device tree for Motorola G64 Cancunf made with dumpyara from Android 15 Build V1TDS35H.83-20-5-2 +kernel => Stock diff --git a/aospdtg.log b/aospdtg.log new file mode 100644 index 0000000..ec15081 Binary files /dev/null and b/aospdtg.log differ diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..3ced604 --- /dev/null +++ b/device.mk @@ -0,0 +1,110 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Enable updating of APEXes +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) + +# A/B +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) + +PRODUCT_PACKAGES += \ + android.hardware.boot@1.2-impl \ + android.hardware.boot@1.2-impl.recovery \ + android.hardware.boot@1.2-service + +PRODUCT_PACKAGES += \ + update_engine \ + update_engine_sideload \ + update_verifier + +PRODUCT_PACKAGES += \ + checkpoint_gc \ + otapreopt_script + +# API levels +PRODUCT_SHIPPING_API_LEVEL := 33 + +# fastbootd +PRODUCT_PACKAGES += \ + android.hardware.fastboot@1.1-impl-mock \ + fastbootd + +# Health +PRODUCT_PACKAGES += \ + android.hardware.health@2.1-impl \ + android.hardware.health@2.1-service + +# Overlays +PRODUCT_ENFORCE_RRO_TARGETS := * + +# Partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true + +# Product characteristics +PRODUCT_CHARACTERISTICS := default + +# Rootdir +PRODUCT_PACKAGES += \ + apanic_annotate.sh \ + apanic_copy.sh \ + apanic_mtk.sh \ + apanic_save.sh \ + hardware_revisions.sh \ + init.insmod.sh \ + init.mmi.backup.trustlet.sh \ + init.mmi.block_perm.sh \ + init.mmi.boot.sh \ + init.mmi.modem-rfs.sh \ + init.mmi.modules.sh \ + init.mmi.shutdown.sh \ + init.mmi.touch.sh \ + init.mmi.usb.sh \ + init.oem.fingerprint2.sh \ + init.oem.hw.sh \ + pstore_annotate.sh \ + vendor.mmi.cxp.sh \ + +PRODUCT_PACKAGES += \ + fstab.enablezramwb \ + apanic.rc \ + factory_init.connectivity.common.rc \ + factory_init.connectivity.rc \ + factory_init.project.rc \ + factory_init.rc \ + init.aee.rc \ + init.cgroup.rc \ + init.connectivity.common.rc \ + init.connectivity.rc \ + init.mmi.backup.trustlet.rc \ + init.mmi.chipset.rc \ + init.mmi.overlay.rc \ + init.mmi.rc \ + init.mmi.tcmd.rc \ + init.mmi.usb.configfs.rc \ + init.modem.rc \ + init.mt6855.rc \ + init.mt6855.usb.rc \ + init.mtkgki.rc \ + init.project.rc \ + init.sensor_2_0.rc \ + init_connectivity.rc \ + meta_init.connectivity.common.rc \ + meta_init.connectivity.rc \ + meta_init.modem.rc \ + meta_init.project.rc \ + meta_init.rc \ + meta_init.vendor.rc \ + multi_init.rc \ + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/rootdir/etc/fstab.enablezramwb:$(TARGET_VENDOR_RAMDISK_OUT)/first_stage_ramdisk/fstab.enablezramwb + +# Soong namespaces +PRODUCT_SOONG_NAMESPACES += \ + $(LOCAL_PATH) + +# Inherit the proprietary files +$(call inherit-product, vendor/motorola/cancunf/cancunf-vendor.mk) diff --git a/extract-files.sh b/extract-files.sh new file mode 100644 index 0000000..b4e682f --- /dev/null +++ b/extract-files.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +DEVICE=cancunf +VENDOR=motorola + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi + +ANDROID_ROOT="${MY_DIR}/../../.." + +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" + exit 1 +fi +source "${HELPER}" + +# Default to sanitizing the vendor folder before extraction +CLEAN_VENDOR=true + +KANG= +SECTION= + +while [ "${#}" -gt 0 ]; do + case "${1}" in + -n | --no-cleanup ) + CLEAN_VENDOR=false + ;; + -k | --kang ) + KANG="--kang" + ;; + -s | --section ) + SECTION="${2}"; shift + CLEAN_VENDOR=false + ;; + * ) + SRC="${1}" + ;; + esac + shift +done + +if [ -z "${SRC}" ]; then + SRC="adb" +fi + +# Initialize the helper +setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" + +extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" + +"${MY_DIR}/setup-makefiles.sh" diff --git a/lineage_cancunf.mk b/lineage_cancunf.mk new file mode 100644 index 0000000..1081d17 --- /dev/null +++ b/lineage_cancunf.mk @@ -0,0 +1,28 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) + +# Inherit some common Lineage stuff. +$(call inherit-product, vendor/lineage/config/common_full_phone.mk) + +# Inherit from cancunf device +$(call inherit-product, device/motorola/cancunf/device.mk) + +PRODUCT_DEVICE := cancunf +PRODUCT_NAME := lineage_cancunf +PRODUCT_BRAND := motorola +PRODUCT_MODEL := moto g54 5G +PRODUCT_MANUFACTURER := motorola + +PRODUCT_GMS_CLIENTID_BASE := android-motorola + +PRODUCT_BUILD_PROP_OVERRIDES += \ + PRIVATE_BUILD_DESC="cancunf_g_sys-user 15 V1TDS35M.83-20-5-2 6562e release-keys" + +BUILD_FINGERPRINT := motorola/cancunf_g_sys/cancunf:15/V1TDS35M.83-20-5-2/6562e:user/release-keys diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 0000000..00a8c2b --- /dev/null +++ b/manifest.xml @@ -0,0 +1,278 @@ + + + android.hardware.audio + hwbinder + @7.0::IDevicesFactory/default + + + android.hardware.audio.effect + hwbinder + @7.0::IEffectsFactory/default + + + android.hardware.bluetooth + hwbinder + @1.1::IBluetoothHci/default + + + android.hardware.bluetooth.audio + hwbinder + @2.1::IBluetoothAudioProvidersFactory/default + + + android.hardware.boot + hwbinder + @1.0::IBootControl/default + + + android.hardware.gatekeeper + hwbinder + @1.0::IGatekeeper/default + + + android.hardware.graphics.allocator + hwbinder + @4.0::IAllocator/default + + + android.hardware.graphics.composer + hwbinder + @2.1::IComposer/default + + + android.hardware.graphics.mapper + passthrough + @4.0::IMapper/default + + + android.hardware.media.omx + hwbinder + @1.0::IOmx/default + @1.0::IOmxStore/default + + + android.hardware.radio + hwbinder + @1.2::IRadio/em1 + @1.2::IRadio/em2 + @1.2::IRadio/imsAospSlot1 + @1.2::IRadio/imsAospSlot2 + @1.2::IRadio/se1 + @1.2::IRadio/se2 + @1.2::IRadio/slot1 + @1.2::IRadio/slot2 + @1.2::ISap/slot1 + @1.2::ISap/slot2 + @1.6::IRadio/em1 + @1.6::IRadio/em2 + @1.6::IRadio/imsAospSlot1 + @1.6::IRadio/imsAospSlot2 + @1.6::IRadio/se1 + @1.6::IRadio/se2 + @1.6::IRadio/slot1 + @1.6::IRadio/slot2 + + + android.hardware.radio.config + hwbinder + @1.3::IRadioConfig/default + + + android.hardware.renderscript + passthrough + @1.0::IDevice/default + + + android.hardware.secure_element + hwbinder + @1.2::ISecureElement/SIM1 + @1.2::ISecureElement/SIM2 + + + android.hardware.sensors + hwbinder + @2.0::ISensors/default + + + android.hardware.soundtrigger + hwbinder + @2.3::ISoundTriggerHw/default + + + android.hardware.tetheroffload.config + hwbinder + @1.0::IOffloadConfig/default + + + android.hardware.tetheroffload.control + hwbinder + @1.1::IOffloadControl/default + + + android.hardware.thermal + hwbinder + @1.0::IThermal/default + @2.0::IThermal/default + + + com.motorola.hardware.display.touch + hwbinder + @1.2::IMotTouch/default + + + motorola.hardware.health + hwbinder + @2.0::IMotHealth/default + + + motorola.hardware.health.storage + hwbinder + @1.0::IMotStorage/default + + + motorola.hardware.sensorscalibrate + hwbinder + @1.0::ISensorsCalibrate/default + + + motorola.hardware.wifi.hostapd + hwbinder + @1.0::IHostapdMot/default + + + motorola.hardware.wifi.supplicant + hwbinder + @1.0::ISupplicantMot/default + + + vendor.mediatek.hardware.apmonitor + hwbinder + @2.0::IApmService/apm_hidl_service + + + vendor.mediatek.hardware.atci + hwbinder + @1.0::IAtcid/default + + + vendor.mediatek.hardware.bluetooth.audio + hwbinder + @2.2::IBluetoothAudioProvidersFactory/default + + + vendor.mediatek.hardware.camera.atms + hwbinder + @1.0::IATMs/default + + + vendor.mediatek.hardware.camera.bgservice + hwbinder + @1.1::IBGService/internal/0 + + + vendor.mediatek.hardware.camera.isphal + hwbinder + @1.1::IISPModule/internal/0 + + + vendor.mediatek.hardware.composer_ext + hwbinder + @1.0::IComposerExt/default + + + vendor.mediatek.hardware.dmc + hwbinder + @1.2::IDmcService/dmc_hidl_service + + + vendor.mediatek.hardware.keymaster_attestation + hwbinder + @1.1::IKeymasterDevice/default + + + vendor.mediatek.hardware.mmagent + hwbinder + @1.1::IMMAgent/default + + + vendor.mediatek.hardware.mms + hwbinder + @1.6::IMms/default + + + vendor.mediatek.hardware.mtkpower + hwbinder + @1.2::IMtkPerf/default + @1.2::IMtkPower/default + + + vendor.mediatek.hardware.mtkradioex + hwbinder + @3.0::IMtkRadioEx/imsSlot1 + @3.0::IMtkRadioEx/imsSlot2 + @3.0::IMtkRadioEx/mtkAssist1 + @3.0::IMtkRadioEx/mtkAssist2 + @3.0::IMtkRadioEx/mtkCap1 + @3.0::IMtkRadioEx/mtkCap2 + @3.0::IMtkRadioEx/mtkEm1 + @3.0::IMtkRadioEx/mtkEm2 + @3.0::IMtkRadioEx/mtkRcs1 + @3.0::IMtkRadioEx/mtkRcs2 + @3.0::IMtkRadioEx/mtkRsu1 + @3.0::IMtkRadioEx/mtkRsu2 + @3.0::IMtkRadioEx/mtkSe1 + @3.0::IMtkRadioEx/mtkSe2 + @3.0::IMtkRadioEx/mtkSlot1 + @3.0::IMtkRadioEx/mtkSlot2 + @3.0::IMtkRadioEx/mtkSmartRatSwitch1 + @3.0::IMtkRadioEx/mtkSmartRatSwitch2 + + + vendor.mediatek.hardware.netdagent + hwbinder + @1.0::INetdagent/default + + + vendor.mediatek.hardware.nvram + hwbinder + @1.1::INvram/default + + + vendor.mediatek.hardware.nwk_opt + hwbinder + @1.0::INwkOpt/default + + + vendor.mediatek.hardware.pq + hwbinder + @2.15::IPictureQuality/default + + + vendor.mediatek.hardware.radio_op + hwbinder + @3.0::IRadioOp/OpImsRILd1 + @3.0::IRadioOp/OpImsRILd2 + @3.0::IRadioOp/slot1 + @3.0::IRadioOp/slot2 + + + vendor.mediatek.hardware.videotelephony + hwbinder + @1.0::IVideoTelephony/default + + + vendor.trustonic.alps.alps_device + hwbinder + @1.1::IAlps/default + + + vendor.trustonic.tee + hwbinder + @1.1::ITee/default + + + vendor.trustonic.tee.tui + hwbinder + @1.0::ITui/default + + diff --git a/odm.prop b/odm.prop new file mode 100644 index 0000000..de64c40 --- /dev/null +++ b/odm.prop @@ -0,0 +1 @@ +ro.vendor.qti.va_odm.support=1 diff --git a/odm_dlkm.prop b/odm_dlkm.prop new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/odm_dlkm.prop @@ -0,0 +1 @@ + diff --git a/prebuilts/dtb.img b/prebuilts/dtb.img new file mode 100644 index 0000000..0c29117 Binary files /dev/null and b/prebuilts/dtb.img differ diff --git a/prebuilts/dtbo.img b/prebuilts/dtbo.img new file mode 100644 index 0000000..7861673 Binary files /dev/null and b/prebuilts/dtbo.img differ diff --git a/prebuilts/kernel b/prebuilts/kernel new file mode 100644 index 0000000..1245835 Binary files /dev/null and b/prebuilts/kernel differ diff --git a/product.prop b/product.prop new file mode 100644 index 0000000..4b200f3 --- /dev/null +++ b/product.prop @@ -0,0 +1,46 @@ +bluetooth.profile.hid.device.enabled=true +esim.enable_esim_system_ui_by_default=true +masterclear.allow_retain_esim_profiles_after_fdr=true +persist.mot_bt.aptx_cert=true +persist.rcs.supported=0 +persist.sys.battery_care_dynamic_support=true +persist.sys.carrier_config_controller_support=true +persist.vendor.mtk_rcs_ua_support=0 +persist.vendor.mtk_uce_support=0 +persist.vendor.vt.RTPInfo=1 +persist.vendor.vt.supported=1 +persist.wm.extensions.enabled=true +remote_provisioning.hostname=remoteprovisioning.googleapis.com +ril.subscription.types=RUIM +ro.boot.vendor.overlay.theme=com.android.internal.systemui.navbar.threebutton +ro.com.google.gmsversion=15_202411 +ro.com.google.ime.system_lm_dir=/product/usr/share/ime/google/d3_lms/ +ro.config.alarm_alert=Helium.ogg +ro.config.notification_sound=Hello.ogg +ro.config.ringtone=Moto.ogg +ro.config.ringtone_2=Moto.ogg +ro.config.support_moto_idle_args_override=true +ro.config.wallpaper=product/media/wallpapers/default_moto_wallpaper.jpg +ro.dalvik.vm.enable_uffd_gc=true +ro.gwfcactivation.disabled_carriers=1187,1779,2119,2120,10000,10013,10021,10022,2525,2526,2527,10029,2024,2025,2027,2028,2029,2031,2534,2538,2539,10012,10028,1492,28,1839 +ro.lenovo.single_hand=1 +ro.mot.build.customerid=global +ro.mot.data_stall.lowest_time=0 +ro.mot.ota.reserved.space=1024 +ro.opa.eligible_device=true +ro.postinstall.fstab.prefix=/product +ro.product.ab_ota_partitions=boot,product,system,system_ext,vendor +ro.product.build.16k_page.enabled=false +ro.product.build.no_bionic_page_size_macro=true +ro.product.cpu.pagesize.max=4096 +ro.product.gms_premier_tier=true +ro.product.hid_ui=true +ro.product.property_source_order=product,odm,vendor,system_ext,system +ro.setupwizard.rotation_locked=true +ro.support_one_handed_mode=true +ro.surface_flinger.enable_frame_rate_override=true +ro.telephony.default_network=26,26 +ro.telephony.esim_slot_id=1 +ro.vendor.audio.call.handsfree.mic.builtin=1 +ro.vendor.radio.imei.sv=25 +setupwizard.theme=glif_v3_light diff --git a/proprietary-files.txt b/proprietary-files.txt new file mode 100644 index 0000000..f46e480 --- /dev/null +++ b/proprietary-files.txt @@ -0,0 +1,4026 @@ +# Unpinned blobs from cancunf_g_sys-user 15 V1TDS35M.83-20-5-2 6562e release-keys + +# Audio +system_ext/bin/hw/android.hardware.audio.parameter_parser.service +system_ext/etc/init/android.hardware.audio.parameter_parser.service.rc +vendor/bin/hw/android.hardware.audio.service.mediatek +vendor/etc/init/android.hardware.audio.service.mediatek.rc +vendor/lib/hw/android.hardware.audio.effect@6.0-impl.so +vendor/lib/hw/android.hardware.audio.effect@7.0-impl.so +vendor/lib/hw/audio.primary.default.so +vendor/lib/hw/audio.primary.mediatek.so +vendor/lib/hw/audio.primary.mt6855.so +vendor/lib/hw/audio.r_submix.default.so +vendor/lib/hw/audio.r_submix.mediatek.so +vendor/lib/hw/audio.r_submix.mt6855.so +vendor/lib/hw/audio.usb.default.so +vendor/lib/audio_common-aidl-cpp.so +vendor/lib/audioclient-types-aidl-cpp.so +vendor/lib/framework-permission-aidl-cpp.so +vendor/lib/libalsautils.so +vendor/lib/libaualgo_azp_wrapper.so +vendor/lib/libaualgo_foundation.so +vendor/lib/libaudioclient_aidl_conversion.so +vendor/lib/libaudiofoundation.so +vendor/lib/libaudiotoolkit_vendor.so +vendor/lib/libbwc.so +vendor/lib/libladder.so +vendor/lib/libsensorndkbridge.so +vendor/lib/libshmemcompat.so +vendor/lib/libshmemutil.so +vendor/lib/shared-file-region-aidl-cpp.so +vendor/lib/vendor.mediatek.hardware.audio@6.1.so +vendor/lib/vendor.mediatek.hardware.audio@7.1.so +vendor/lib64/hw/android.hardware.audio.effect@6.0-impl.so +vendor/lib64/hw/android.hardware.audio.effect@7.0-impl.so +vendor/lib64/hw/audio.primary.default.so +vendor/lib64/hw/audio.primary.mediatek.so +vendor/lib64/hw/audio.primary.mt6855.so +vendor/lib64/hw/audio.r_submix.default.so +vendor/lib64/hw/audio.r_submix.mediatek.so +vendor/lib64/hw/audio.r_submix.mt6855.so +vendor/lib64/hw/audio.usb.default.so +vendor/lib64/audio_common-aidl-cpp.so +vendor/lib64/audioclient-types-aidl-cpp.so +vendor/lib64/framework-permission-aidl-cpp.so +vendor/lib64/libalsautils.so +vendor/lib64/libaualgo_azp_wrapper.so +vendor/lib64/libaualgo_foundation.so +vendor/lib64/libaudioclient_aidl_conversion.so +vendor/lib64/libaudiofoundation.so +vendor/lib64/libaudiotoolkit_vendor.so +vendor/lib64/libbwc.so +vendor/lib64/libladder.so +vendor/lib64/libsensorndkbridge.so +vendor/lib64/libshmemcompat.so +vendor/lib64/libshmemutil.so +vendor/lib64/shared-file-region-aidl-cpp.so +vendor/lib64/vendor.mediatek.hardware.audio@6.1.so +vendor/lib64/vendor.mediatek.hardware.audio@7.1.so + +# Audio (FX modules) +vendor/lib/soundfx/libaudiopreprocessing_mtk.so +vendor/lib/soundfx/libdlbvol.so +vendor/lib/soundfx/libdynproc.so +vendor/lib/soundfx/libhapticgenerator.so +vendor/lib/soundfx/libmsstwrapper.so +vendor/lib/soundfx/libswdap.so +vendor/lib/soundfx/libswgamedap.so +vendor/lib/libdlbpreg.so +vendor/lib/libdmshal.so +vendor/lib/libvibrator.so +vendor/lib64/soundfx/libaudiopreprocessing_mtk.so +vendor/lib64/soundfx/libdlbvol.so +vendor/lib64/soundfx/libdynproc.so +vendor/lib64/soundfx/libhapticgenerator.so +vendor/lib64/soundfx/libmsstwrapper.so +vendor/lib64/soundfx/libswdap.so +vendor/lib64/soundfx/libswgamedap.so +vendor/lib64/libdlbpreg.so +vendor/lib64/libdmshal.so +vendor/lib64/libvibrator.so + +# Audio configs +etc/audio_effects.conf +etc/audio_effects.xml +system_ext/etc/a2dp_audio_policy_configuration.xml +system_ext/etc/a2dp_in_audio_policy_configuration.xml +system_ext/etc/audio_policy_configuration.xml +system_ext/etc/audio_policy_configuration_bluetooth_legacy_hal.xml +system_ext/etc/audio_policy_configuration_stub.xml +system_ext/etc/audio_policy_engine_configuration.xml +system_ext/etc/audio_policy_engine_default_stream_volumes.xml +system_ext/etc/audio_policy_engine_product_strategies.xml +system_ext/etc/audio_policy_engine_stream_volumes.xml +system_ext/etc/audio_policy_volumes.xml +system_ext/etc/bluetooth_audio_policy_configuration.xml +system_ext/etc/default_volume_tables.xml +system_ext/etc/hearing_aid_audio_policy_configuration.xml +system_ext/etc/r_submix_audio_policy_configuration.xml +system_ext/etc/usb_audio_policy_configuration.xml +vendor/etc/a2dp_audio_policy_configuration.xml +vendor/etc/a2dp_in_audio_policy_configuration.xml +vendor/etc/audio_effects.xml +vendor/etc/audio_policy_configuration.xml +vendor/etc/audio_policy_configuration_bluetooth_legacy_hal.xml +vendor/etc/audio_policy_volumes.xml +vendor/etc/bluetooth_audio_policy_configuration.xml +vendor/etc/bluetooth_offload_audio_policy_configuration.xml +vendor/etc/default_volume_tables.xml +vendor/etc/r_submix_audio_policy_configuration.xml +vendor/etc/usb_audio_policy_configuration.xml + +# Audio calibration +vendor/etc/audio_param/AudioParamOptions_mgvi.xml +vendor/etc/audio_param/AudioParamOptions_vext.xml +vendor/etc/audio_param/BtInfo_AudioParam.xml +vendor/etc/audio_param/BtInfo_ParamUnitDesc.xml +vendor/etc/audio_param/CRSVolUI_AudioParam.xml +vendor/etc/audio_param/CRSVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/CRSVol_AudioParam.xml +vendor/etc/audio_param/CRSVol_ParamUnitDesc.xml +vendor/etc/audio_param/HpImpedance_AudioParam.xml +vendor/etc/audio_param/HpImpedance_ParamUnitDesc.xml +vendor/etc/audio_param/MicInfo_AudioParam.xml +vendor/etc/audio_param/MicInfo_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackACF_AudioParam.xml +vendor/etc/audio_param/PlaybackACF_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackDRC_AudioParam.xml +vendor/etc/audio_param/PlaybackDRC_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackHCF_AudioParam.xml +vendor/etc/audio_param/PlaybackHCF_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackVolAna_AudioParam.xml +vendor/etc/audio_param/PlaybackVolAna_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackVolDigi_AudioParam.xml +vendor/etc/audio_param/PlaybackVolDigi_ParamUnitDesc.xml +vendor/etc/audio_param/PlaybackVolUI_AudioParam.xml +vendor/etc/audio_param/PlaybackVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/Playback_AudioParam.xml +vendor/etc/audio_param/Playback_ParamTreeView.xml +vendor/etc/audio_param/Playback_ParamUnitDesc.xml +vendor/etc/audio_param/RecordDMNR_AudioParam.xml +vendor/etc/audio_param/RecordDMNR_ParamUnitDesc.xml +vendor/etc/audio_param/RecordFIR_AudioParam.xml +vendor/etc/audio_param/RecordFIR_ParamUnitDesc.xml +vendor/etc/audio_param/RecordUI_AudioParam.xml +vendor/etc/audio_param/RecordUI_ParamUnitDesc.xml +vendor/etc/audio_param/RecordVolUI_AudioParam.xml +vendor/etc/audio_param/RecordVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/RecordVol_AudioParam.xml +vendor/etc/audio_param/RecordVol_ParamUnitDesc.xml +vendor/etc/audio_param/Record_AudioParam.xml +vendor/etc/audio_param/Record_ParamTreeView.xml +vendor/etc/audio_param/Record_ParamUnitDesc.xml +vendor/etc/audio_param/RingbackVolUI_AudioParam.xml +vendor/etc/audio_param/RingbackVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/RingbackVol_AudioParam.xml +vendor/etc/audio_param/RingbackVol_ParamUnitDesc.xml +vendor/etc/audio_param/SoundEnhancement_AudioParam.xml +vendor/etc/audio_param/SoundEnhancement_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechAcousticShock_AudioParam.xml +vendor/etc/audio_param/SpeechAcousticShock_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechDMNR_AudioParam.xml +vendor/etc/audio_param/SpeechDMNR_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechEchoRef_AudioParam.xml +vendor/etc/audio_param/SpeechEchoRef_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechGeneral_AudioParam.xml +vendor/etc/audio_param/SpeechGeneral_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechMagiClarity_AudioParam.xml +vendor/etc/audio_param/SpeechMagiClarity_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechNetwork_AudioParam.xml +vendor/etc/audio_param/SpeechNetwork_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechUI_AudioParam.xml +vendor/etc/audio_param/SpeechUI_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechVolUI_AudioParam.xml +vendor/etc/audio_param/SpeechVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/SpeechVol_AudioParam.xml +vendor/etc/audio_param/SpeechVol_ParamUnitDesc.xml +vendor/etc/audio_param/Speech_AudioParam.xml +vendor/etc/audio_param/Speech_ParamTreeView.xml +vendor/etc/audio_param/Speech_ParamUnitDesc.xml +vendor/etc/audio_param/USBCall_AudioParam.xml +vendor/etc/audio_param/USBCall_ParamUnitDesc.xml +vendor/etc/audio_param/USBDevice_AudioParam.xml +vendor/etc/audio_param/USBDevice_ParamUnitDesc.xml +vendor/etc/audio_param/Ultrasound_AudioParam.xml +vendor/etc/audio_param/Ultrasound_ParamUnitDesc.xml +vendor/etc/audio_param/UplinkConfiguration_AudioParam.xml +vendor/etc/audio_param/UplinkConfiguration_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPDMNR_AudioParam.xml +vendor/etc/audio_param/VoIPDMNR_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPGeneral_AudioParam.xml +vendor/etc/audio_param/VoIPGeneral_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPUI_AudioParam.xml +vendor/etc/audio_param/VoIPUI_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPVolUI_AudioParam.xml +vendor/etc/audio_param/VoIPVolUI_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPVol_AudioParam.xml +vendor/etc/audio_param/VoIPVol_ParamUnitDesc.xml +vendor/etc/audio_param/VoIP_AudioParam.xml +vendor/etc/audio_param/VoIP_ParamTreeView.xml +vendor/etc/audio_param/VoIP_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPv2DMNR_AudioParam.xml +vendor/etc/audio_param/VoIPv2DMNR_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPv2General_AudioParam.xml +vendor/etc/audio_param/VoIPv2General_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPv2UI_AudioParam.xml +vendor/etc/audio_param/VoIPv2UI_ParamUnitDesc.xml +vendor/etc/audio_param/VoIPv2_AudioParam.xml +vendor/etc/audio_param/VoIPv2_ParamTreeView.xml +vendor/etc/audio_param/VoIPv2_ParamUnitDesc.xml +vendor/etc/audio_param/VoWCommonSetting_AudioParam.xml +vendor/etc/audio_param/VoWCommonSetting_ParamUnitDesc.xml +vendor/etc/audio_param/VoWCompatibilityCode_AudioParam.xml +vendor/etc/audio_param/VoWCompatibilityCode_ParamUnitDesc.xml +vendor/etc/audio_param/VoWDspAec_AudioParam.xml +vendor/etc/audio_param/VoWDspAec_ParamUnitDesc.xml +vendor/etc/audio_param/VoWEngineFeature_AudioParam.xml +vendor/etc/audio_param/VoWEngineFeature_ParamUnitDesc.xml +vendor/etc/audio_param/VoWHwVad_AudioParam.xml +vendor/etc/audio_param/VoWHwVad_ParamUnitDesc.xml +vendor/etc/audio_param/VoWMicSetting_AudioParam.xml +vendor/etc/audio_param/VoWMicSetting_ParamUnitDesc.xml +vendor/etc/audio_param/VoWVoiceCommand_AudioParam.xml +vendor/etc/audio_param/VoWVoiceCommand_ParamUnitDesc.xml +vendor/etc/audio_param/VolumeGainMapUL_AudioParam.xml +vendor/etc/audio_param/VolumeGainMapUL_ParamUnitDesc.xml +vendor/etc/audio_param/VolumeGainMap_AudioParam.xml +vendor/etc/audio_param/VolumeGainMap_ParamUnitDesc.xml +vendor/etc/audio_param/Volume_AudioParam.xml +vendor/etc/audio_param/Volume_ParamUnitDesc.xml + +# Bluetooth +vendor/bin/hw/android.hardware.bluetooth@1.1-service-mediatek +vendor/etc/init/android.hardware.bluetooth@1.1-service-mediatek.rc +vendor/lib/libbluetooth_mtk.so +vendor/lib/libbt-vendor.so +vendor/lib/libnvram.so +vendor/lib/libnvram_sec.so +vendor/lib64/libbluetooth_mtk.so +vendor/lib64/libbt-vendor.so +vendor/lib64/libnvram.so +vendor/lib64/libnvram_sec.so + +# Bluetooth (A2DP) +vendor/lib/hw/android.hardware.bluetooth.audio@2.0-impl.so +vendor/lib/hw/android.hardware.bluetooth.audio@2.1-impl.so +vendor/lib/hw/audio.bluetooth.default.so +vendor/lib/hw/vendor.mediatek.hardware.bluetooth.audio@2.1-impl.so +vendor/lib/hw/vendor.mediatek.hardware.bluetooth.audio@2.2-impl.so +vendor/lib/libbluetooth_audio_session.so +vendor/lib/libbluetooth_audio_session_mediatek.so +vendor/lib/vendor.mediatek.hardware.bluetooth.audio@2.1.so +vendor/lib/vendor.mediatek.hardware.bluetooth.audio@2.2.so +vendor/lib64/hw/android.hardware.bluetooth.audio@2.0-impl.so +vendor/lib64/hw/android.hardware.bluetooth.audio@2.1-impl.so +vendor/lib64/hw/audio.bluetooth.default.so +vendor/lib64/hw/vendor.mediatek.hardware.bluetooth.audio@2.1-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.bluetooth.audio@2.2-impl.so +vendor/lib64/libbluetooth_audio_session.so +vendor/lib64/libbluetooth_audio_session_mediatek.so +vendor/lib64/vendor.mediatek.hardware.bluetooth.audio@2.1.so +vendor/lib64/vendor.mediatek.hardware.bluetooth.audio@2.2.so + +# Boot +vendor/bin/hw/android.hardware.boot@1.2-service +vendor/etc/init/android.hardware.boot@1.2-service.rc +vendor/etc/vintf/manifest/android.hardware.boot@1.2.xml + +# Camera +vendor/bin/hw/motorola.hardware.camera.imgtuner.aidl-service +vendor/etc/init/motorola.hardware.camera.imgtuner.aidl-service.rc +vendor/etc/vintf/manifest/motorola.hardware.camera.imgtuner.aidl.xml +vendor/lib/hw/mt6855/vendor.mediatek.hardware.camera.atms@1.0-impl.so +vendor/lib/hw/mt6855/vendor.mediatek.hardware.camera.bgservice@1.1-impl.so +vendor/lib/hw/vendor.mediatek.hardware.camera.atms@1.0-impl.so +vendor/lib/hw/vendor.mediatek.hardware.camera.bgservice@1.1-impl.so +vendor/lib/mt6855/lib3a.ae.core.so +vendor/lib/mt6855/lib3a.ae.so +vendor/lib/mt6855/lib3a.awb.core.so +vendor/lib/mt6855/lib3a.log.so +vendor/lib/mt6855/libaiselector.so +vendor/lib/mt6855/libcam.hal3a.log.so +vendor/lib/mt6855/libcam.halsensor.hwintegration.so +vendor/lib/mt6855/libcamalgo.platform2.so +vendor/lib/mt6855/libcameracustom.lens.so +vendor/lib/mt6855/libcameracustom.so +vendor/lib/mt6855/libdpframework.so +vendor/lib/mt6855/libmtk_drvb.so +vendor/lib/mt6855/libmtkcam.atmseventmgr.so +vendor/lib/mt6855/libmtkcam.eventcallback.so +vendor/lib/mt6855/libmtkcam_debugutils.so +vendor/lib/mt6855/libmtkcam_metadata.so +vendor/lib/mt6855/libmtkcam_modulehelper.so +vendor/lib/mt6855/libmtkcam_stdutils.so +vendor/lib/mt6855/libmtkcam_sysutils.so +vendor/lib/mt6855/libmtkcam_tuning_utils.so +vendor/lib/mt6855/libmtkcam_ulog.so +vendor/lib/mt6855/libpq_prot.so +vendor/lib/mt6855/mot_cancunf_hi1634q_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_hi1634q_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_jns_yova_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_jns_yova_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_ov50d_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_ov50d_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5k4h7_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5k4h7_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5kjns_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_s5kjns_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_sc202_mipi_raw_IdxMgr.so +vendor/lib/mt6855/mot_cancunf_sc202_mipi_raw_row_IdxMgr.so +vendor/lib/mt6855/mtk000_mipi_raw_IdxMgr.so +vendor/lib/lib3a.ae.core.so +vendor/lib/lib3a.ae.so +vendor/lib/lib3a.awb.core.so +vendor/lib/lib3a.log.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Display_Flash_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_ITS_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Panorama.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Videocall.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Display_Flash_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_ITS_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Videocall.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Flash_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_ITS_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Night_Vision_FacePreview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Panorama.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Flash_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_ITS_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_FacePreview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfov50dmipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfov50dmipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Flash_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_ITS_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfov50dmipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Panorama.so +vendor/lib/libCamera_motcancunfov50dmipiraw_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture_SlimVideo2.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfov50dmipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Flash_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_ITS_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture_SlimVideo2.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Display_Flash_Big_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Display_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_ITS_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Panorama.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Videocall.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Display_Flash_Big_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Display_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_ITS_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Videocall.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k3p9sp04mipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Bokeh_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Flash_Face_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Panorama.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Bokeh_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Flash_Face_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_ITS_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_FacePreview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Panorama.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Bokeh_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Flash_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_ITS_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_FaceCapture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_FacePreview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_SR_Zoom_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_videocall.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_50_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Bokeh_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfsc202mipiraw_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Face_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Flash_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Moto_Spot_Video.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_P1_YUV.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Panorama.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_Preview.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Slow_Motion.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_1080.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_1080_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_1080_4X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_1080_8X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_Capture.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfsc202mipiraw_Zoom_Preview_8X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_50_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Bokeh_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_E2EHDR_Preview.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_E2EHDR_Video.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Slow_Motion.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_4X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_8X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Face_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Face_Capture_4cell.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Face_Preview_ZSD.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Flash_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_LLHDR_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_LLHDR_Face_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Moto_Spot_Video.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Night_Vision_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_P1_YUV.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Panorama.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_3rd_party_Preview.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_Capture_4cell.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_Preview.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_Preview_ZSD.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Scene_YUV_Reprocess.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Slow_Motion.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Slow_Motion_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_1080.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_1080_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_1080_4X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_1080_8X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_Capture.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_Capture_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_Capture_4X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Video_Capture_8X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_4X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_8X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_2X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_4X.so +vendor/lib/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_8X.so +vendor/lib/libCamera_mtk000mipiraw_E2EHDR_Preview.so +vendor/lib/libCamera_mtk000mipiraw_E2EHDR_Video.so +vendor/lib/libCamera_mtk000mipiraw_Face_Capture.so +vendor/lib/libCamera_mtk000mipiraw_Flash_Capture.so +vendor/lib/libCamera_mtk000mipiraw_HDR_Capture.so +vendor/lib/libCamera_mtk000mipiraw_HDR_Preview.so +vendor/lib/libCamera_mtk000mipiraw_HDR_Reconfig_Preview.so +vendor/lib/libCamera_mtk000mipiraw_HDR_Reconfig_Video.so +vendor/lib/libCamera_mtk000mipiraw_HDR_Video.so +vendor/lib/libCamera_mtk000mipiraw_N3D_Capture.so +vendor/lib/libCamera_mtk000mipiraw_N3D_Preview.so +vendor/lib/libCamera_mtk000mipiraw_N3D_Video.so +vendor/lib/libCamera_mtk000mipiraw_P1_YUV.so +vendor/lib/libCamera_mtk000mipiraw_Scene_Capture.so +vendor/lib/libCamera_mtk000mipiraw_Scene_Capture_4cell.so +vendor/lib/libCamera_mtk000mipiraw_Scene_Preview.so +vendor/lib/libCamera_mtk000mipiraw_Scene_Preview_4k.so +vendor/lib/libCamera_mtk000mipiraw_Scene_Preview_ZSD_Flash.so +vendor/lib/libCamera_mtk000mipiraw_Video_1080.so +vendor/lib/libCamera_mtk000mipiraw_Video_4k.so +vendor/lib/libJpgEncPipe.so +vendor/lib/libOpenCL.so +vendor/lib/libSQLiteModule_VER_ALL.so +vendor/lib/libaedv.so +vendor/lib/libaiselector.so +vendor/lib/libcam.hal3a.log.so +vendor/lib/libcam.halsensor.hwintegration.so +vendor/lib/libcamalgo.platform2.so +vendor/lib/libcamalgo.utility.so +vendor/lib/libcameracustom.lens.so +vendor/lib/libcameracustom.so +vendor/lib/libdpframework.so +vendor/lib/libged.so +vendor/lib/libgralloc_extra.so +vendor/lib/libion_mtk.so +vendor/lib/libion_ulit.so +vendor/lib/libjpeg-alpha-oal_vendor.so +vendor/lib/libjpeg-alpha_vendor.so +vendor/lib/libmtk_drvb.so +vendor/lib/libmtkcam.atmseventmgr.so +vendor/lib/libmtkcam.eventcallback.so +vendor/lib/libmtkcam_debugutils.so +vendor/lib/libmtkcam_metadata.so +vendor/lib/libmtkcam_modulehelper.so +vendor/lib/libmtkcam_stdutils.so +vendor/lib/libmtkcam_sysutils.so +vendor/lib/libmtkcam_tuning_utils.so +vendor/lib/libmtkcam_ulog.so +vendor/lib/libpq_prot.so +vendor/lib/mot_cancunf_hi1634q_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_hi1634q_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_jns_yova_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_jns_yova_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_ov50d_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_ov50d_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_s5k3p9sp04_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_s5k3p9sp04_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_s5k4h7_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_s5k4h7_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_s5kjns_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_s5kjns_mipi_raw_row_IdxMgr.so +vendor/lib/mot_cancunf_sc202_mipi_raw_IdxMgr.so +vendor/lib/mot_cancunf_sc202_mipi_raw_row_IdxMgr.so +vendor/lib/mtk000_mipi_raw_IdxMgr.so +vendor/lib/vendor.mediatek.hardware.camera.atms@1.0.so +vendor/lib/vendor.mediatek.hardware.camera.bgservice@1.0.so +vendor/lib/vendor.mediatek.hardware.camera.bgservice@1.1.so +vendor/lib/vendor.mediatek.hardware.mmagent@1.0.so +vendor/lib64/hw/mt6855/android.hardware.camera.provider@2.6-impl-mediatek.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.atms@1.0-impl.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.bgservice@1.1-impl.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.isphal@1.0-impl.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.isphal@1.1-impl.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.lomoeffect@1.0-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.atms@1.0-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.bgservice@1.1-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.isphal@1.0-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.isphal@1.1-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.lomoeffect@1.0-impl.so +vendor/lib64/mt6855/lib3a.ae.core.so +vendor/lib64/mt6855/lib3a.ae.so +vendor/lib64/mt6855/lib3a.ae.stat.so +vendor/lib64/mt6855/lib3a.af.assist.so +vendor/lib64/mt6855/lib3a.af.assist.utils.so +vendor/lib64/mt6855/lib3a.af.core.so +vendor/lib64/mt6855/lib3a.af.so +vendor/lib64/mt6855/lib3a.alsflicker.so +vendor/lib64/mt6855/lib3a.awb.core.so +vendor/lib64/mt6855/lib3a.ccudrv.so +vendor/lib64/mt6855/lib3a.ccuif.so +vendor/lib64/mt6855/lib3a.custom.ae.so +vendor/lib64/mt6855/lib3a.flash.so +vendor/lib64/mt6855/lib3a.flicker.so +vendor/lib64/mt6855/lib3a.gma.so +vendor/lib64/mt6855/lib3a.lce.so +vendor/lib64/mt6855/lib3a.log.so +vendor/lib64/mt6855/lib3a.n3d3a.so +vendor/lib64/mt6855/lib3a.sensors.color.so +vendor/lib64/mt6855/lib3a.sensors.flicker.so +vendor/lib64/mt6855/libSonyIMX230PdafLibrary.so +vendor/lib64/mt6855/libSonyIMX230PdafLibraryWrapper.so +vendor/lib64/mt6855/libSonyIMX338PdafLibrary.so +vendor/lib64/mt6855/libSonyIMX338PdafLibraryWrapper.so +vendor/lib64/mt6855/libSonyIMX386PdafLibrary.so +vendor/lib64/mt6855/libSonyIMX386PdafLibraryWrapper.so +vendor/lib64/mt6855/libSonyIMX519PdafLibrary.so +vendor/lib64/mt6855/libSonyIMX519PdafLibraryWrapper.so +vendor/lib64/mt6855/lib_bsscore.so +vendor/lib64/mt6855/libaiawb_moon.so +vendor/lib64/mt6855/libaiawb_p1ggm.so +vendor/lib64/mt6855/libaiawb_sun.so +vendor/lib64/mt6855/libaiselector.so +vendor/lib64/mt6855/libcam.afhal.so +vendor/lib64/mt6855/libcam.chdr.so +vendor/lib64/mt6855/libcam.feature_utils.so +vendor/lib64/mt6855/libcam.hal3a.log.so +vendor/lib64/mt6855/libcam.hal3a.v3.ae.so +vendor/lib64/mt6855/libcam.hal3a.v3.ai3a.so +vendor/lib64/mt6855/libcam.hal3a.v3.awb.so +vendor/lib64/mt6855/libcam.hal3a.v3.fsmgr.so +vendor/lib64/mt6855/libcam.hal3a.v3.lscMgr.so +vendor/lib64/mt6855/libcam.hal3a.v3.lsctbl.50.so +vendor/lib64/mt6855/libcam.hal3a.v3.nvram.50.so +vendor/lib64/mt6855/libcam.hal3a.v3.platform.so +vendor/lib64/mt6855/libcam.hal3a.v3.resultpool.so +vendor/lib64/mt6855/libcam.hal3a.v3.so +vendor/lib64/mt6855/libcam.halisp.buf.so +vendor/lib64/mt6855/libcam.halsensor.hwintegration.so +vendor/lib64/mt6855/libcam.halsensor.so +vendor/lib64/mt6855/libcam.iopipe.so +vendor/lib64/mt6855/libcam.pdtblgen.so +vendor/lib64/mt6855/libcam.tuning.cache.so +vendor/lib64/mt6855/libcam.utils.sensorprovider.so +vendor/lib64/mt6855/libcam.vhdr.so +vendor/lib64/mt6855/libcamalgo.ispfeature.so +vendor/lib64/mt6855/libcamalgo.lsc.so +vendor/lib64/mt6855/libcamalgo.mfnr.so +vendor/lib64/mt6855/libcamalgo.platform2.so +vendor/lib64/mt6855/libcamdrv_isp.so +vendor/lib64/mt6855/libcamdrv_tuning_mgr.so +vendor/lib64/mt6855/libcamdrv_twin.so +vendor/lib64/mt6855/libcamera.custom.pd_buf_mgr.so +vendor/lib64/mt6855/libcamera.customae.so +vendor/lib64/mt6855/libcamera.customaf.so +vendor/lib64/mt6855/libcamera.customawb.so +vendor/lib64/mt6855/libcamera.customflk.so +vendor/lib64/mt6855/libcameracustom.camera.3a.so +vendor/lib64/mt6855/libcameracustom.camera.isp.so +vendor/lib64/mt6855/libcameracustom.camera.sensors.so +vendor/lib64/mt6855/libcameracustom.eis.so +vendor/lib64/mt6855/libcameracustom.flashlight.so +vendor/lib64/mt6855/libcameracustom.lens.so +vendor/lib64/mt6855/libcameracustom.so +vendor/lib64/mt6855/libdip_drv.so +vendor/lib64/mt6855/libdip_postproc.so +vendor/lib64/mt6855/libdpframework.so +vendor/lib64/mt6855/libeffecthal.base.so +vendor/lib64/mt6855/libfeature.face.so +vendor/lib64/mt6855/libfeature.stereo.provider.so +vendor/lib64/mt6855/libfeature_3dnr.so +vendor/lib64/mt6855/libfeature_eis.so +vendor/lib64/mt6855/libfeature_fsc.so +vendor/lib64/mt6855/libfeature_lmv.so +vendor/lib64/mt6855/libfeature_rss.so +vendor/lib64/mt6855/libfeatureiodrv_mem.so +vendor/lib64/mt6855/libimageio.so +vendor/lib64/mt6855/libimageio_plat_drv.so +vendor/lib64/mt6855/libimageio_plat_pipe.so +vendor/lib64/mt6855/liblpcnr.so +vendor/lib64/mt6855/libmfllcore.so +vendor/lib64/mt6855/libmsnr.so +vendor/lib64/mt6855/libmtk_drvb.so +vendor/lib64/mt6855/libmtkcam.atmseventmgr.so +vendor/lib64/mt6855/libmtkcam.debugwrapper.so +vendor/lib64/mt6855/libmtkcam.eventcallback.so +vendor/lib64/mt6855/libmtkcam.featurepipe.capture.so +vendor/lib64/mt6855/libmtkcam.featurepipe.streaming.so +vendor/lib64/mt6855/libmtkcam.featurepipe.vsdof_util.so +vendor/lib64/mt6855/libmtkcam.logicalmodule.so +vendor/lib64/mt6855/libmtkcam_3rdparty.core.so +vendor/lib64/mt6855/libmtkcam_3rdparty.customer.so +vendor/lib64/mt6855/libmtkcam_3rdparty.mtk.so +vendor/lib64/mt6855/libmtkcam_3rdparty.so +vendor/lib64/mt6855/libmtkcam_calibration_convertor.so +vendor/lib64/mt6855/libmtkcam_calibration_provider.so +vendor/lib64/mt6855/libmtkcam_debugutils.so +vendor/lib64/mt6855/libmtkcam_device3_app.so +vendor/lib64/mt6855/libmtkcam_device3_hal.so +vendor/lib64/mt6855/libmtkcam_device3_hidl.so +vendor/lib64/mt6855/libmtkcam_device3_hidlutils.so +vendor/lib64/mt6855/libmtkcam_device3_utils.so +vendor/lib64/mt6855/libmtkcam_devicesessionpolicy.so +vendor/lib64/mt6855/libmtkcam_diputils.so +vendor/lib64/mt6855/libmtkcam_exif.so +vendor/lib64/mt6855/libmtkcam_fdvt.so +vendor/lib64/mt6855/libmtkcam_featurepolicy.so +vendor/lib64/mt6855/libmtkcam_featureutils.so +vendor/lib64/mt6855/libmtkcam_grallocutils.so +vendor/lib64/mt6855/libmtkcam_hwnode.so +vendor/lib64/mt6855/libmtkcam_hwutils.so +vendor/lib64/mt6855/libmtkcam_imem.so +vendor/lib64/mt6855/libmtkcam_imgbuf.so +vendor/lib64/mt6855/libmtkcam_mapping_mgr.so +vendor/lib64/mt6855/libmtkcam_metadata.so +vendor/lib64/mt6855/libmtkcam_metastore.so +vendor/lib64/mt6855/libmtkcam_mfb.so +vendor/lib64/mt6855/libmtkcam_modulehelper.so +vendor/lib64/mt6855/libmtkcam_pipeline.so +vendor/lib64/mt6855/libmtkcam_pipeline_fbm.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_adapter.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_capture.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_isp.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_session.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_utils.so +vendor/lib64/mt6855/libmtkcam_pipelinemodel_zsl.so +vendor/lib64/mt6855/libmtkcam_pipelinepolicy-security.so +vendor/lib64/mt6855/libmtkcam_pipelinepolicy-smvr.so +vendor/lib64/mt6855/libmtkcam_pipelinepolicy.so +vendor/lib64/mt6855/libmtkcam_pipelinepolicy_factory.so +vendor/lib64/mt6855/libmtkcam_prerelease.so +vendor/lib64/mt6855/libmtkcam_rsc.so +vendor/lib64/mt6855/libmtkcam_scenariorecorder.so +vendor/lib64/mt6855/libmtkcam_stdutils.so +vendor/lib64/mt6855/libmtkcam_streamutils.so +vendor/lib64/mt6855/libmtkcam_synchelper.so +vendor/lib64/mt6855/libmtkcam_sysutils.so +vendor/lib64/mt6855/libmtkcam_tuning_utils.so +vendor/lib64/mt6855/libmtkcam_ulog.so +vendor/lib64/mt6855/libpda_usdriver.so +vendor/lib64/mt6855/libpq_prot.so +vendor/lib64/mt6855/libstereoinfoaccessor_vsdof.so +vendor/lib64/mt6855/mot_cancunf_hi1634q_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_hi1634q_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_jns_yova_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_jns_yova_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_ov50d_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_ov50d_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5k4h7_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5k4h7_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5kjns_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_s5kjns_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_sc202_mipi_raw_IdxMgr.so +vendor/lib64/mt6855/mot_cancunf_sc202_mipi_raw_row_IdxMgr.so +vendor/lib64/mt6855/mtk000_mipi_raw_IdxMgr.so +vendor/lib64/lib3a.ae.core.so +vendor/lib64/lib3a.ae.so +vendor/lib64/lib3a.ae.stat.so +vendor/lib64/lib3a.af.assist.so +vendor/lib64/lib3a.af.assist.utils.so +vendor/lib64/lib3a.af.core.so +vendor/lib64/lib3a.af.so +vendor/lib64/lib3a.alsflicker.so +vendor/lib64/lib3a.awb.core.so +vendor/lib64/lib3a.ccudrv.so +vendor/lib64/lib3a.ccuif.so +vendor/lib64/lib3a.custom.ae.so +vendor/lib64/lib3a.flash.so +vendor/lib64/lib3a.flicker.so +vendor/lib64/lib3a.gma.so +vendor/lib64/lib3a.lce.so +vendor/lib64/lib3a.log.so +vendor/lib64/lib3a.n3d3a.so +vendor/lib64/lib3a.sensors.color.so +vendor/lib64/lib3a.sensors.flicker.so +vendor/lib64/libBSTSWAD.so +vendor/lib64/libBSTbase_share.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Display_Flash_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_ITS_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_3rd_party_Videocall.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Display_Flash_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_ITS_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_3rd_party_Videocall.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfhi1634qmipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Flash_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_ITS_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Night_Vision_FacePreview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Flash_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_ITS_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_FacePreview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfjnsyovamipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Flash_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_ITS_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Capture_SlimVideo2.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfov50dmipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Flash_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_ITS_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Capture_SlimVideo2.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfov50dmipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Display_Flash_Big_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Display_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_ITS_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_3rd_party_Videocall.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Capture_flash.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_ArcSoft_Raw_NV_Preview_flash.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Display_Flash_Big_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Display_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_ITS_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_3rd_party_Videocall.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k3p9sp04mipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Bokeh_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Flash_Face_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Bokeh_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Flash_Face_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfs5k4h7mipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_ITS_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_FacePreview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Bokeh_Capture_Face_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Bokeh_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Flash_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_ITS_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_FaceCapture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_FacePreview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Night_Vision_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_SR_Zoom_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Capture_HDR.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_ZOOM.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_3rd_party_videocall.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfs5kjnsmipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_50_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Bokeh_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Face_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Flash_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Moto_Spot_Video.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_P1_YUV.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Panorama.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Slow_Motion.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_1080.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfsc202mipiraw_Zoom_Preview_8X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_50_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_ArcSoft_Raw_NV_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_ArcSoft_Raw_NV_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Bokeh_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_E2EHDR_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_E2EHDR_Video.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Slow_Motion.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_EIS_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Face_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Face_Capture_4cell.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Face_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Flash_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_LLHDR_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_LLHDR_Face_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Moto_Spot_Video.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Night_Vision_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_P1_YUV.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Panorama.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_3rd_party_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_Capture_4cell.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_Preview.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_Preview_ZSD.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Scene_YUV_Reprocess.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Slow_Motion.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Slow_Motion_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_1080.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_1080_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_1080_4X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_1080_8X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_Capture.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_Capture_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_Capture_4X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Video_Capture_8X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_4X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Capture_8X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_2X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_4X.so +vendor/lib64/libCamera_motcancunfsc202mipirawrow_Zoom_Preview_8X.so +vendor/lib64/libCamera_mtk000mipiraw_E2EHDR_Preview.so +vendor/lib64/libCamera_mtk000mipiraw_E2EHDR_Video.so +vendor/lib64/libCamera_mtk000mipiraw_Face_Capture.so +vendor/lib64/libCamera_mtk000mipiraw_Flash_Capture.so +vendor/lib64/libCamera_mtk000mipiraw_HDR_Capture.so +vendor/lib64/libCamera_mtk000mipiraw_HDR_Preview.so +vendor/lib64/libCamera_mtk000mipiraw_HDR_Reconfig_Preview.so +vendor/lib64/libCamera_mtk000mipiraw_HDR_Reconfig_Video.so +vendor/lib64/libCamera_mtk000mipiraw_HDR_Video.so +vendor/lib64/libCamera_mtk000mipiraw_N3D_Capture.so +vendor/lib64/libCamera_mtk000mipiraw_N3D_Preview.so +vendor/lib64/libCamera_mtk000mipiraw_N3D_Video.so +vendor/lib64/libCamera_mtk000mipiraw_P1_YUV.so +vendor/lib64/libCamera_mtk000mipiraw_Scene_Capture.so +vendor/lib64/libCamera_mtk000mipiraw_Scene_Capture_4cell.so +vendor/lib64/libCamera_mtk000mipiraw_Scene_Preview.so +vendor/lib64/libCamera_mtk000mipiraw_Scene_Preview_4k.so +vendor/lib64/libCamera_mtk000mipiraw_Scene_Preview_ZSD_Flash.so +vendor/lib64/libCamera_mtk000mipiraw_Video_1080.so +vendor/lib64/libCamera_mtk000mipiraw_Video_4k.so +vendor/lib64/libJpgEncPipe.so +vendor/lib64/libOpenCL.so +vendor/lib64/libSQLiteModule_VER_ALL.so +vendor/lib64/libSonyIMX230PdafLibrary.so +vendor/lib64/libSonyIMX230PdafLibraryWrapper.so +vendor/lib64/libSonyIMX338PdafLibrary.so +vendor/lib64/libSonyIMX338PdafLibraryWrapper.so +vendor/lib64/libSonyIMX386PdafLibrary.so +vendor/lib64/libSonyIMX386PdafLibraryWrapper.so +vendor/lib64/libSonyIMX519PdafLibrary.so +vendor/lib64/libSonyIMX519PdafLibraryWrapper.so +vendor/lib64/lib_bsscore.so +vendor/lib64/libaedv.so +vendor/lib64/libaiawb_moon.so +vendor/lib64/libaiawb_p1ggm.so +vendor/lib64/libaiawb_sun.so +vendor/lib64/libaiselector.so +vendor/lib64/libarcsoft_hdr_detection.so +vendor/lib64/libarcsoft_high_dynamic_range_v2.so +vendor/lib64/libarcsoft_portrait_distortion_correction.so +vendor/lib64/libarcsoft_portrait_super_night_se_raw.so +vendor/lib64/libarcsoft_portrait_super_night_se_raw_lite.so +vendor/lib64/libarcsoft_super_night_se_raw.so +vendor/lib64/libarcsoft_super_night_se_raw_lite.so +vendor/lib64/libcam.afhal.so +vendor/lib64/libcam.chdr.so +vendor/lib64/libcam.feature_utils.so +vendor/lib64/libcam.hal3a.log.so +vendor/lib64/libcam.hal3a.v3.ae.so +vendor/lib64/libcam.hal3a.v3.ai3a.so +vendor/lib64/libcam.hal3a.v3.awb.so +vendor/lib64/libcam.hal3a.v3.fsmgr.so +vendor/lib64/libcam.hal3a.v3.lscMgr.so +vendor/lib64/libcam.hal3a.v3.lsctbl.50.so +vendor/lib64/libcam.hal3a.v3.nvram.50.so +vendor/lib64/libcam.hal3a.v3.platform.so +vendor/lib64/libcam.hal3a.v3.resultpool.so +vendor/lib64/libcam.hal3a.v3.so +vendor/lib64/libcam.halisp.buf.so +vendor/lib64/libcam.halsensor.hwintegration.so +vendor/lib64/libcam.halsensor.so +vendor/lib64/libcam.iopipe.so +vendor/lib64/libcam.pdtblgen.so +vendor/lib64/libcam.seninfn3d.so +vendor/lib64/libcam.tuning.cache.so +vendor/lib64/libcam.utils.sensorprovider.so +vendor/lib64/libcam.vhdr.so +vendor/lib64/libcamalgo.3dnr.so +vendor/lib64/libcamalgo.dngop.so +vendor/lib64/libcamalgo.eis.so +vendor/lib64/libcamalgo.fdft.so +vendor/lib64/libcamalgo.fsc.so +vendor/lib64/libcamalgo.gyro.so +vendor/lib64/libcamalgo.ispfeature.so +vendor/lib64/libcamalgo.lmv.so +vendor/lib64/libcamalgo.lsc.so +vendor/lib64/libcamalgo.mfnr.so +vendor/lib64/libcamalgo.nr.so +vendor/lib64/libcamalgo.platform.so +vendor/lib64/libcamalgo.platform2.so +vendor/lib64/libcamalgo.utility.so +vendor/lib64/libcamalgo.warp.so +vendor/lib64/libcamdrv_isp.so +vendor/lib64/libcamdrv_tuning_mgr.so +vendor/lib64/libcamdrv_twin.so +vendor/lib64/libcamera.custom.pd_buf_mgr.so +vendor/lib64/libcamera.customae.so +vendor/lib64/libcamera.customaf.so +vendor/lib64/libcamera.customawb.so +vendor/lib64/libcamera.customflk.so +vendor/lib64/libcameracustom.camera.3a.so +vendor/lib64/libcameracustom.camera.isp.so +vendor/lib64/libcameracustom.camera.sensors.so +vendor/lib64/libcameracustom.eis.so +vendor/lib64/libcameracustom.flashlight.so +vendor/lib64/libcameracustom.lens.so +vendor/lib64/libcameracustom.so +vendor/lib64/libdip_drv.so +vendor/lib64/libdip_postproc.so +vendor/lib64/libdpframework.so +vendor/lib64/libeffecthal.base.so +vendor/lib64/libfeature.face.so +vendor/lib64/libfeature.stereo.provider.so +vendor/lib64/libfeature_3dnr.so +vendor/lib64/libfeature_eis.so +vendor/lib64/libfeature_fsc.so +vendor/lib64/libfeature_lmv.so +vendor/lib64/libfeature_rss.so +vendor/lib64/libfeatureiodrv_mem.so +vendor/lib64/libged.so +vendor/lib64/libgralloc_extra.so +vendor/lib64/libheichal.so +vendor/lib64/libimagebuffer_wrapper.so +vendor/lib64/libimageio.so +vendor/lib64/libimageio_plat_drv.so +vendor/lib64/libimageio_plat_pipe.so +vendor/lib64/libion_mtk.so +vendor/lib64/libion_ulit.so +vendor/lib64/libjpeg-alpha-oal_vendor.so +vendor/lib64/libjpeg-alpha_vendor.so +vendor/lib64/liblpcnr.so +vendor/lib64/libmfllcore.so +vendor/lib64/libmpbase.so +vendor/lib64/libmsnr.so +vendor/lib64/libmtk_drvb.so +vendor/lib64/libmtkcam.atmseventmgr.so +vendor/lib64/libmtkcam.debugwrapper.so +vendor/lib64/libmtkcam.eventcallback.so +vendor/lib64/libmtkcam.featurepipe.capture.so +vendor/lib64/libmtkcam.featurepipe.streaming.so +vendor/lib64/libmtkcam.featurepipe.vsdof_util.so +vendor/lib64/libmtkcam.logicalmodule.so +vendor/lib64/libmtkcam.plugin.tp_supernightraw.so +vendor/lib64/libmtkcam_3rdparty.core.so +vendor/lib64/libmtkcam_3rdparty.customer.so +vendor/lib64/libmtkcam_3rdparty.mtk.so +vendor/lib64/libmtkcam_3rdparty.so +vendor/lib64/libmtkcam_calibration_convertor.so +vendor/lib64/libmtkcam_calibration_provider.so +vendor/lib64/libmtkcam_cpuctrl_customer.so +vendor/lib64/libmtkcam_debugutils.so +vendor/lib64/libmtkcam_device3_app.so +vendor/lib64/libmtkcam_device3_hal.so +vendor/lib64/libmtkcam_device3_hidl.so +vendor/lib64/libmtkcam_device3_hidlutils.so +vendor/lib64/libmtkcam_device3_utils.so +vendor/lib64/libmtkcam_devicesessionpolicy.so +vendor/lib64/libmtkcam_diputils.so +vendor/lib64/libmtkcam_exif.so +vendor/lib64/libmtkcam_fdvt.so +vendor/lib64/libmtkcam_featurepolicy.so +vendor/lib64/libmtkcam_featureutils.so +vendor/lib64/libmtkcam_grallocutils.so +vendor/lib64/libmtkcam_hwnode.so +vendor/lib64/libmtkcam_hwutils.so +vendor/lib64/libmtkcam_imem.so +vendor/lib64/libmtkcam_imgbuf.so +vendor/lib64/libmtkcam_mapping_mgr.so +vendor/lib64/libmtkcam_metadata.so +vendor/lib64/libmtkcam_metastore.so +vendor/lib64/libmtkcam_mfb.so +vendor/lib64/libmtkcam_modulehelper.so +vendor/lib64/libmtkcam_pipeline.so +vendor/lib64/libmtkcam_pipeline_fbm.so +vendor/lib64/libmtkcam_pipelinemodel.so +vendor/lib64/libmtkcam_pipelinemodel_adapter.so +vendor/lib64/libmtkcam_pipelinemodel_capture.so +vendor/lib64/libmtkcam_pipelinemodel_isp.so +vendor/lib64/libmtkcam_pipelinemodel_session.so +vendor/lib64/libmtkcam_pipelinemodel_utils.so +vendor/lib64/libmtkcam_pipelinemodel_zsl.so +vendor/lib64/libmtkcam_pipelinepolicy-aov.so +vendor/lib64/libmtkcam_pipelinepolicy-security.so +vendor/lib64/libmtkcam_pipelinepolicy-smvr.so +vendor/lib64/libmtkcam_pipelinepolicy.so +vendor/lib64/libmtkcam_pipelinepolicy_factory.so +vendor/lib64/libmtkcam_prerelease.so +vendor/lib64/libmtkcam_rsc.so +vendor/lib64/libmtkcam_scenariorecorder.so +vendor/lib64/libmtkcam_stdutils.so +vendor/lib64/libmtkcam_streamutils.so +vendor/lib64/libmtkcam_synchelper.so +vendor/lib64/libmtkcam_sysutils.so +vendor/lib64/libmtkcam_tuning_utils.so +vendor/lib64/libmtkcam_ulog.so +vendor/lib64/libmtkisp_metadata.so +vendor/lib64/libpda_usdriver.so +vendor/lib64/libpq_prot.so +vendor/lib64/libstereoinfoaccessor_vsdof.so +vendor/lib64/libundistort_impl.so +vendor/lib64/mot_cancunf_hi1634q_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_hi1634q_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_jns_yova_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_jns_yova_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_ov50d_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_ov50d_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_s5k3p9sp04_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_s5k3p9sp04_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_s5k4h7_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_s5k4h7_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_s5kjns_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_s5kjns_mipi_raw_row_IdxMgr.so +vendor/lib64/mot_cancunf_sc202_mipi_raw_IdxMgr.so +vendor/lib64/mot_cancunf_sc202_mipi_raw_row_IdxMgr.so +vendor/lib64/motorola.hardware.camera.imgtuner.aidl-V1-ndk_platform.so +vendor/lib64/mtk000_mipi_raw_IdxMgr.so +vendor/lib64/vendor.mediatek.hardware.camera.atms@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.bgservice@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.bgservice@1.1.so +vendor/lib64/vendor.mediatek.hardware.camera.frhandler@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.isphal@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.isphal@1.1.so +vendor/lib64/vendor.mediatek.hardware.camera.lomoeffect@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.postproc@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.security@1.0.so +vendor/lib64/vendor.mediatek.hardware.mmagent@1.0.so +vendor/lib64/vendor.mediatek.hardware.power@1.1.so +vendor/lib64/vendor.mediatek.hardware.power@2.0.so + +# CAS +vendor/bin/hw/android.hardware.cas@1.2-service-lazy +vendor/etc/init/android.hardware.cas@1.2-service-lazy.rc +vendor/etc/vintf/manifest/android.hardware.cas@1.2-service-lazy.xml + +# Display +lib/com.motorola.hardware.display.panel-V1-ndk.so +lib/com.motorola.hardware.display.panel@1.0.so +lib/com.motorola.hardware.display.panel@1.1.so +lib64/com.motorola.hardware.display.panel-V1-ndk.so +lib64/com.motorola.hardware.display.panel@1.0.so +lib64/com.motorola.hardware.display.panel@1.1.so +system_ext/lib/vendor.mediatek.hardware.pq@2.0.so +system_ext/lib/vendor.mediatek.hardware.pq@2.1.so +system_ext/lib/vendor.mediatek.hardware.pq@2.2.so +system_ext/lib/vendor.mediatek.hardware.pq@2.3.so +system_ext/lib64/vendor.mediatek.hardware.composer_ext-V1-ndk.so +system_ext/lib64/vendor.mediatek.hardware.composer_ext@1.0.so +system_ext/lib64/vendor.mediatek.hardware.pq@2.0.so +system_ext/lib64/vendor.mediatek.hardware.pq@2.1.so +system_ext/lib64/vendor.mediatek.hardware.pq@2.2.so +system_ext/lib64/vendor.mediatek.hardware.pq@2.3.so +vendor/bin/hw/mt6855/android.hardware.graphics.allocator@4.0-service-mediatek.mt6855 +vendor/bin/hw/android.hardware.graphics.allocator@4.0-service-mediatek.mt6855 +vendor/bin/hw/android.hardware.graphics.composer@2.1-service +vendor/bin/hw/android.hardware.graphics.composer@2.3-service +vendor/bin/hw/android.hardware.memtrack-service.mediatek +vendor/bin/hw/com.motorola.hardware.display.panel@1.2-service +vendor/bin/hw/com.motorola.hardware.display.touch@1.2-service +vendor/bin/hw/vendor.mediatek.hardware.mms@1.6-service +vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service +vendor/etc/init/android.hardware.graphics.allocator@4.0-service-mediatek.rc +vendor/etc/init/android.hardware.graphics.composer@2.1-service.rc +vendor/etc/init/android.hardware.graphics.composer@2.2-service.rc +vendor/etc/init/android.hardware.graphics.composer@2.3-service.rc +vendor/etc/init/android.hardware.graphics.composer@2.4-service.rc +vendor/etc/init/com.motorola.hardware.display.panel@1.2-service.rc +vendor/etc/init/com.motorola.hardware.display.touch@1.2-service.rc +vendor/etc/init/vendor.mediatek.hardware.mms@1.6-service.rc +vendor/etc/init/vendor.mediatek.hardware.pq@2.2-service.rc +vendor/etc/vintf/manifest/com.motorola.hardware.display.panel@1.2-service.xml +vendor/lib/egl/mt6855/libEGL_mtk.so +vendor/lib/egl/mt6855/libGLESv1_CM_mtk.so +vendor/lib/egl/mt6855/libGLESv2_mtk.so +vendor/lib/egl/egl.cfg +vendor/lib/egl/libEGL_mtk.so +vendor/lib/egl/libGLES_meow.so +vendor/lib/egl/libGLESv1_CM_mtk.so +vendor/lib/egl/libGLESv2_mtk.so +vendor/lib/egl/libMEOW_data.so +vendor/lib/egl/libMEOW_gift.so +vendor/lib/egl/libMEOW_qt.so +vendor/lib/egl/libMEOW_trace.so +vendor/lib/hw/mt6855/android.hardware.graphics.mapper@4.0-impl-mediatek.so +vendor/lib/hw/mt6855/gralloc.rogue.so +vendor/lib/hw/mt6855/vendor.mediatek.hardware.pq@2.15-impl.so +vendor/lib/hw/mt6855/vulkan.mtk.so +vendor/lib/hw/displaypanel.default.so +vendor/lib/hw/gralloc.default.so +vendor/lib/hw/gralloc.rogue.so +vendor/lib/hw/vendor.mediatek.hardware.mms@1.6-impl.so +vendor/lib/hw/vendor.mediatek.hardware.pq@2.15-impl.so +vendor/lib/hw/vulkan.mtk.so +vendor/lib/mt6855/libIMGegl.so +vendor/lib/mt6855/libPVRMtkutils.so +vendor/lib/mt6855/libpqparamparser.so +vendor/lib/mt6855/libpqpconfig.so +vendor/lib/mt6855/libsrv_um.so +vendor/lib/mt6855/libufwriter.so +vendor/lib/mt6855/libusc.so +vendor/lib/com.motorola.hardware.display.panel@1.0.so +vendor/lib/libDefaultFpsActor.so +vendor/lib/libFrameRecord.so +vendor/lib/libIMGegl.so +vendor/lib/libNoFpsActor.so +vendor/lib/libPVRMtkutils.so +vendor/lib/libgpu_aux.so +vendor/lib/libgpud.so +vendor/lib/libgralloc_metadata.so +vendor/lib/libmml.so +vendor/lib/libpqframework.so +vendor/lib/libpqparamparser.so +vendor/lib/libpqpconfig.so +vendor/lib/libsrv_um.so +vendor/lib/libufwriter.so +vendor/lib/libusc.so +vendor/lib/vendor.mediatek.hardware.mmagent@1.1.so +vendor/lib/vendor.mediatek.hardware.mms@1.0.so +vendor/lib/vendor.mediatek.hardware.mms@1.1.so +vendor/lib/vendor.mediatek.hardware.mms@1.2.so +vendor/lib/vendor.mediatek.hardware.mms@1.3.so +vendor/lib/vendor.mediatek.hardware.mms@1.4.so +vendor/lib/vendor.mediatek.hardware.mms@1.5.so +vendor/lib/vendor.mediatek.hardware.mms@1.6.so +vendor/lib/vendor.mediatek.hardware.pq@2.0.so +vendor/lib/vendor.mediatek.hardware.pq@2.1.so +vendor/lib/vendor.mediatek.hardware.pq@2.10.so +vendor/lib/vendor.mediatek.hardware.pq@2.11.so +vendor/lib/vendor.mediatek.hardware.pq@2.12.so +vendor/lib/vendor.mediatek.hardware.pq@2.13.so +vendor/lib/vendor.mediatek.hardware.pq@2.14.so +vendor/lib/vendor.mediatek.hardware.pq@2.15.so +vendor/lib/vendor.mediatek.hardware.pq@2.2.so +vendor/lib/vendor.mediatek.hardware.pq@2.3.so +vendor/lib/vendor.mediatek.hardware.pq@2.4.so +vendor/lib/vendor.mediatek.hardware.pq@2.5.so +vendor/lib/vendor.mediatek.hardware.pq@2.6.so +vendor/lib/vendor.mediatek.hardware.pq@2.7.so +vendor/lib/vendor.mediatek.hardware.pq@2.8.so +vendor/lib/vendor.mediatek.hardware.pq@2.9.so +vendor/lib64/egl/mt6855/libEGL_mtk.so +vendor/lib64/egl/mt6855/libGLESv1_CM_mtk.so +vendor/lib64/egl/mt6855/libGLESv2_mtk.so +vendor/lib64/egl/libEGL_mtk.so +vendor/lib64/egl/libGLES_meow.so +vendor/lib64/egl/libGLESv1_CM_mtk.so +vendor/lib64/egl/libGLESv2_mtk.so +vendor/lib64/egl/libMEOW_data.so +vendor/lib64/egl/libMEOW_gift.so +vendor/lib64/egl/libMEOW_qt.so +vendor/lib64/egl/libMEOW_trace.so +vendor/lib64/hw/mt6855/android.hardware.graphics.mapper@4.0-impl-mediatek.so +vendor/lib64/hw/mt6855/gralloc.rogue.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.pq@2.15-impl.so +vendor/lib64/hw/mt6855/vulkan.mtk.so +vendor/lib64/hw/displaypanel.default.so +vendor/lib64/hw/gralloc.default.so +vendor/lib64/hw/gralloc.rogue.so +vendor/lib64/hw/hwcomposer.mtk_common.so +vendor/lib64/hw/vendor.mediatek.hardware.mms@1.6-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.pq@2.15-impl.so +vendor/lib64/hw/vulkan.mtk.so +vendor/lib64/mt6855/libIMGegl.so +vendor/lib64/mt6855/libPVRMtkutils.so +vendor/lib64/mt6855/libpqparamparser.so +vendor/lib64/mt6855/libpqpconfig.so +vendor/lib64/mt6855/libsrv_um.so +vendor/lib64/mt6855/libufwriter.so +vendor/lib64/mt6855/libusc.so +vendor/lib64/com.motorola.hardware.display.panel@1.0.so +vendor/lib64/com.motorola.hardware.display.panel@1.1.so +vendor/lib64/com.motorola.hardware.display.panel@1.2.so +vendor/lib64/com.motorola.hardware.display.touch@1.0.so +vendor/lib64/com.motorola.hardware.display.touch@1.1.so +vendor/lib64/com.motorola.hardware.display.touch@1.2.so +vendor/lib64/libDefaultFpsActor.so +vendor/lib64/libFrameRecord.so +vendor/lib64/libIMGegl.so +vendor/lib64/libNoFpsActor.so +vendor/lib64/libPVRMtkutils.so +vendor/lib64/libcomposer_ext.so +vendor/lib64/libgpu_aux.so +vendor/lib64/libgpud.so +vendor/lib64/libgralloc_metadata.so +vendor/lib64/libhwc2onfbadapter.so +vendor/lib64/libmml.so +vendor/lib64/libpqframework.so +vendor/lib64/libpqparamparser.so +vendor/lib64/libpqpconfig.so +vendor/lib64/libsrv_um.so +vendor/lib64/libufwriter.so +vendor/lib64/libusc.so +vendor/lib64/vendor.mediatek.hardware.composer_ext@1.0.so +vendor/lib64/vendor.mediatek.hardware.mmagent@1.1.so +vendor/lib64/vendor.mediatek.hardware.mms@1.0.so +vendor/lib64/vendor.mediatek.hardware.mms@1.1.so +vendor/lib64/vendor.mediatek.hardware.mms@1.2.so +vendor/lib64/vendor.mediatek.hardware.mms@1.3.so +vendor/lib64/vendor.mediatek.hardware.mms@1.4.so +vendor/lib64/vendor.mediatek.hardware.mms@1.5.so +vendor/lib64/vendor.mediatek.hardware.mms@1.6.so +vendor/lib64/vendor.mediatek.hardware.pq@2.0.so +vendor/lib64/vendor.mediatek.hardware.pq@2.1.so +vendor/lib64/vendor.mediatek.hardware.pq@2.10.so +vendor/lib64/vendor.mediatek.hardware.pq@2.11.so +vendor/lib64/vendor.mediatek.hardware.pq@2.12.so +vendor/lib64/vendor.mediatek.hardware.pq@2.13.so +vendor/lib64/vendor.mediatek.hardware.pq@2.14.so +vendor/lib64/vendor.mediatek.hardware.pq@2.15.so +vendor/lib64/vendor.mediatek.hardware.pq@2.2.so +vendor/lib64/vendor.mediatek.hardware.pq@2.3.so +vendor/lib64/vendor.mediatek.hardware.pq@2.4.so +vendor/lib64/vendor.mediatek.hardware.pq@2.5.so +vendor/lib64/vendor.mediatek.hardware.pq@2.6.so +vendor/lib64/vendor.mediatek.hardware.pq@2.7.so +vendor/lib64/vendor.mediatek.hardware.pq@2.8.so +vendor/lib64/vendor.mediatek.hardware.pq@2.9.so + +# DRM +vendor/bin/hw/android.hardware.drm@1.4-service.clearkey +vendor/bin/hw/android.hardware.drm@1.4-service.widevine +vendor/etc/init/android.hardware.drm@1.4-service.clearkey.rc +vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc +vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.clearkey.xml +vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml +vendor/lib/mediacas/libclearkeycasplugin.so +vendor/lib/mediadrm/libdrmclearkeyplugin.so +vendor/lib/mediadrm/libmockdrmcryptoplugin.so +vendor/lib/mediadrm/libwvdrmengine.so +vendor/lib/liboemcrypto.so +vendor/lib/libwvhidl.so +vendor/lib64/mediacas/libclearkeycasplugin.so +vendor/lib64/mediadrm/libdrmclearkeyplugin.so +vendor/lib64/mediadrm/libmockdrmcryptoplugin.so +vendor/lib64/mediadrm/libwvdrmengine.so +vendor/lib64/liboemcrypto.so +vendor/lib64/libwvhidl.so + +# Fingerprint +vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-goodixservice +vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-chipone +vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service-fpc +vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-goodixservice.rc +vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-chipone2.rc +vendor/etc/init/android.hardware.biometrics.fingerprint@2.1-service-fpc2.rc +vendor/lib/hw/fingerprint.goodix.default.so +vendor/lib/com.motorola.hardware.biometric.fingerprint@1.0.so +vendor/lib/libMcClient.so +vendor/lib/libgf_ca.so +vendor/lib/libgf_hal.so +vendor/lib/libgoodixhwfingerprint.so +vendor/lib/vendor.goodix.hardware.biometrics.fingerprint@3.0.so +vendor/lib64/hw/fingerprint.goodix.default.so +vendor/lib64/com.motorola.hardware.biometric.fingerprint@1.0.so +vendor/lib64/libMcClient.so +vendor/lib64/libgf_ca.so +vendor/lib64/libgf_hal.so +vendor/lib64/libgoodixhwfingerprint.so +vendor/lib64/vendor.goodix.hardware.biometrics.fingerprint@3.0.so + +# Gatekeeper +system_ext/lib/vendor.trustonic.tee-V1-ndk.so +system_ext/lib/vendor.trustonic.tee@1.0.so +system_ext/lib/vendor.trustonic.tee@1.1.so +system_ext/lib64/vendor.trustonic.tee-V1-ndk.so +system_ext/lib64/vendor.trustonic.tee@1.0.so +system_ext/lib64/vendor.trustonic.tee@1.1.so +vendor/bin/hw/android.hardware.gatekeeper@1.0-service +vendor/bin/hw/vendor.trustonic.tee@1.1-service +vendor/etc/init/android.hardware.gatekeeper@1.0-service.rc +vendor/etc/init/vendor.trustonic.tee@1.1-service.rc +vendor/lib/hw/android.hardware.gatekeeper@1.0-impl.so +vendor/lib/hw/gatekeeper.default.so +vendor/lib/hw/gatekeeper.trustonic.so +vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl.so +vendor/lib64/hw/gatekeeper.default.so +vendor/lib64/hw/gatekeeper.trustonic.so +vendor/lib64/vendor.trustonic.tee@1.0.so +vendor/lib64/vendor.trustonic.tee@1.1.so + +# GNSS +vendor/bin/hw/android.hardware.gnss-service.mediatek +vendor/etc/init/android.hardware.gnss-service.mediatek.rc +vendor/lib/hw/gps.default.so +vendor/lib64/hw/gps.default.so + +# GNSS configs +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_ATnT_Mexico.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_ATnT_US.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Bell_Mobility.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Blue_Wireless.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Boost_Mobile.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_C_Spire_NL.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_C_Spire_US.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Carolina_West_Wireless.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Claro_Peru.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Dish.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Entel_Peru.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_FirstNet.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Inland_Cellular.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_KDDI.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_MobileNation.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Movistar_Argentina.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Movistar_Peru.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_NexTech_Ota.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Nextel_Communications.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_No_Carrier_ID_LPP_Profile_11.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_No_Carrier_ID_LPP_Profile_7.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_PTCI.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Pine_Belt.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_SK_Telecom.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_SoftBank.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Sprint.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_T-Mobile_US.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_TELUS_Mobility.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Test_SIM1.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Test_SIM2.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_USC.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Verizon_Wireless.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_Virgin_Mobile.xml +vendor/etc/gnss/carrier/agps_profiles_conf2_carrier_nTelos.xml +vendor/etc/gnss/agps_profiles_conf2.xml + +# Health +lib64/motorola.hardware.health.storage@1.0.so +vendor/bin/hw/android.hardware.health@2.1-service +vendor/bin/hw/motorola.hardware.health.storage@1.0-service +vendor/bin/hw/motorola.hardware.health@2.0-service +vendor/etc/init/android.hardware.health@2.1-service.rc +vendor/etc/init/motorola.hardware.health.storage@1.0-service.rc +vendor/etc/init/motorola.hardware.health@2.0-service.rc +vendor/etc/vintf/manifest/android.hardware.health@2.1.xml +vendor/lib64/libmotohid.so +vendor/lib64/motorola.hardware.health.storage@1.0.so +vendor/lib64/motorola.hardware.health@2.0.so + +# Input (Motorola) +vendor/bin/hw/motorola.hardware.input@1.1-service +vendor/etc/init/motorola.hardware.input@1.1-service.rc +vendor/etc/vintf/manifest/motorola.hardware.input@1.1-service.xml +vendor/lib64/motorola.hardware.input@1.0.so +vendor/lib64/motorola.hardware.input@1.1.so + +# Keymaster +vendor/bin/hw/vendor.mediatek.hardware.keymaster_attestation@1.1-service +vendor/etc/init/vendor.mediatek.hardware.keymaster_attestation@1.1-service.rc +vendor/lib/hw/kmsetkey.default.so +vendor/lib/hw/kmsetkey.trustonic.so +vendor/lib/hw/vendor.mediatek.hardware.keymaster_attestation@1.1-impl.so +vendor/lib/vendor.mediatek.hardware.keymaster_attestation@1.0.so +vendor/lib/vendor.mediatek.hardware.keymaster_attestation@1.1.so +vendor/lib64/hw/kmsetkey.default.so +vendor/lib64/hw/kmsetkey.trustonic.so +vendor/lib64/hw/vendor.mediatek.hardware.keymaster_attestation@1.1-impl.so +vendor/lib64/vendor.mediatek.hardware.keymaster_attestation@1.0.so +vendor/lib64/vendor.mediatek.hardware.keymaster_attestation@1.1.so + +# Light +vendor/bin/hw/android.hardware.lights-service.mediatek + +# Local time +vendor/lib/hw/local_time.default.so +vendor/lib64/hw/local_time.default.so + +# Media +etc/seccomp_policy/mediacodec.policy +lib/graphicbuffersource-aidl-ndk.so +lib/libmedia_codeclist.so +lib/libstagefright_aidl_bufferpool2.so +lib/libstagefright_bufferpool@2.0.1.so +lib/libstagefright_codecbase.so +lib/libstagefright_framecapture_utils.so +lib/libstagefright_graphicbuffersource_aidl.so +lib/libstagefright_surface_utils.so +lib64/graphicbuffersource-aidl-ndk.so +lib64/libmedia_codeclist.so +lib64/libstagefright_aidl_bufferpool2.so +lib64/libstagefright_bufferpool@2.0.1.so +lib64/libstagefright_codecbase.so +lib64/libstagefright_framecapture_utils.so +lib64/libstagefright_graphicbuffersource_aidl.so +lib64/libstagefright_surface_utils.so +system_ext/lib/libged_sys.so +system_ext/lib/libgralloc_extra_sys.so +system_ext/lib/libsf_cpupolicy.so +system_ext/lib/libstagefright_hdcp.so +system_ext/lib/libstagefright_mbrain.so +system_ext/lib/libstagefright_wfd_mtk.so +system_ext/lib/vendor.tesiai.hardware.hdcpconnection@1.0.so +system_ext/lib64/libged_sys.so +system_ext/lib64/libgralloc_extra_sys.so +system_ext/lib64/libsf_cpupolicy.so +system_ext/lib64/libstagefright_hdcp.so +system_ext/lib64/libstagefright_mbrain.so +system_ext/lib64/libstagefright_wfd_mtk.so +system_ext/lib64/vendor.tesiai.hardware.hdcpconnection@1.0.so +vendor/bin/hw/android.hardware.media.c2@1.2-mediatek +vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b +vendor/bin/hw/android.hardware.media.omx@1.0-service +vendor/etc/init/android.hardware.media.c2@1.2-mediatek-64b.rc +vendor/etc/init/android.hardware.media.omx@1.0-service.rc +vendor/etc/seccomp_policy/mediacodec.policy +vendor/lib/libMtkOmxAdpcmDec.so +vendor/lib/libMtkOmxAlacDec.so +vendor/lib/libMtkOmxApeDec.so +vendor/lib/libMtkOmxCore.so +vendor/lib/libMtkOmxGsmDec.so +vendor/lib/libMtkOmxMp3Dec.so +vendor/lib/libadpcmdec_mtk.so +vendor/lib/libcodec2_hidl@1.1.so +vendor/lib/libcodec2_hidl@1.2.so +vendor/lib/libcodec2_hidl_plugin.so +vendor/lib/libcodec2_mtk_c2store.so +vendor/lib/libcodec2_mtk_vdec.so +vendor/lib/libcodec2_mtk_venc.so +vendor/lib/libcodec2_soft_common.so +vendor/lib/libcodec2_vpp_qt_plugin.so +vendor/lib/libcodec2_vpp_rs_plugin.so +vendor/lib/libformatter.so +vendor/lib/libmp3dec_mtk.so +vendor/lib/libsfplugin_ccodec_utils.so +vendor/lib/libstagefright_bufferpool@2.0.1.so +vendor/lib/libstagefright_softomx_plugin.so +vendor/lib/libstagefrighthw.so +vendor/lib64/libMtkOmxCore.so +vendor/lib64/libcodec2_hidl@1.1.so +vendor/lib64/libcodec2_hidl@1.2.so +vendor/lib64/libcodec2_hidl_plugin.so +vendor/lib64/libcodec2_mtk_c2store.so +vendor/lib64/libcodec2_mtk_vdec.so +vendor/lib64/libcodec2_mtk_venc.so +vendor/lib64/libcodec2_soft_common.so +vendor/lib64/libcodec2_vpp_qt_plugin.so +vendor/lib64/libcodec2_vpp_rs_plugin.so +vendor/lib64/libformatter.so +vendor/lib64/libsfplugin_ccodec_utils.so +vendor/lib64/libstagefright_bufferpool@2.0.1.so +vendor/lib64/libstagefrighthw.so + +# Media (Dolby) +vendor/bin/hw/vendor.dolby.hardware.dms@2.1-service +vendor/bin/hw/vendor.dolby.media.c2@1.0-service +vendor/etc/dolby/dax-default.xml +vendor/etc/init/vendor.dolby.hardware.dms@2.1-service.rc +vendor/etc/init/vendor.dolby.media.c2@1.0-service.rc +vendor/etc/vintf/manifest/vendor.dolby.hardware.dms.xml +vendor/lib/libdapparamstorage.so +vendor/lib/vendor.dolby.dms-V1-ndk_platform.so +vendor/lib/vendor.dolby.hardware.dms@2.0.so +vendor/lib/vendor.dolby.hardware.dms@2.1.so +vendor/lib64/libcodec2_store_dolby.so +vendor/lib64/libdapparamstorage.so +vendor/lib64/libdeccfg.so +vendor/lib64/libdlbdsservice.so +vendor/lib64/vendor.dolby.dms-V1-ndk_platform.so +vendor/lib64/vendor.dolby.hardware.dms@2.0.so +vendor/lib64/vendor.dolby.hardware.dms@2.1.so + +# Media configs +vendor/etc/media_codecs.xml +vendor/etc/media_codecs_c2.xml +vendor/etc/media_codecs_c2_shim1.xml +vendor/etc/media_codecs_dolby_audio.xml +vendor/etc/media_codecs_google_audio.xml +vendor/etc/media_codecs_mediatek_audio.xml +vendor/etc/media_codecs_performance.xml +vendor/etc/media_codecs_performance_c2.xml +vendor/etc/media_codecs_performance_c2_shim1.xml +vendor/etc/media_codecs_shim1.xml +vendor/etc/media_profiles.xml +vendor/etc/media_profiles_V1_0.xml +vendor/etc/media_profiles_vendor.xml + +# Neural networks +vendor/bin/hw/android.hardware.neuralnetworks-shim-service-mtk +vendor/etc/init/android.hardware.neuralnetworks-shim-service-mtk.rc +vendor/etc/vintf/manifest/android.hardware.neuralnetworks-shim-service-mtk.xml +vendor/lib/mt6855/libneuralnetworks_sl_driver_mtk_prebuilt.so +vendor/lib/libneuralnetworks_sl_driver_mtk_prebuilt.so +vendor/lib64/mt6855/libneuralnetworks_sl_driver_mtk_prebuilt.so +vendor/lib64/libneuralnetworks_sl_driver_mtk_prebuilt.so + +# NFC +system_ext/lib/vendor.nxp.hardware.nfc@2.0.so +system_ext/lib64/vendor.nxp.hardware.nfc@2.0.so +vendor/bin/hw/android.hardware.nfc@1.2-service.sec +vendor/bin/hw/vendor.nxp.hardware.nfc@1.2-service +vendor/etc/init/android.hardware.nfc@1.2-service.sec.rc +vendor/etc/init/vendor.nxp.hardware.nfc@1.2-service.rc +vendor/lib/nfc_nci.nqx.default.hw.so +vendor/lib/nfc_nci_sec.so +vendor/lib/vendor.nxp.hardware.nxpese@1.0.so +vendor/lib/vendor.nxp.nxpnfc@2.0.so +vendor/lib64/ese_client.so +vendor/lib64/ese_spi_nxp.so +vendor/lib64/jcos_client.so +vendor/lib64/ls_client.so +vendor/lib64/nfc_nci.nqx.default.hw.so +vendor/lib64/nfc_nci_sec.so +vendor/lib64/se_extn_client.so +vendor/lib64/vendor.nxp.hardware.nxpese@1.0.so +vendor/lib64/vendor.nxp.nxpese@1.0.so +vendor/lib64/vendor.nxp.nxpnfc@2.0.so +vendor/lib64/vendor.nxp.nxpnfclegacy@1.0.so + +# NFC configs +etc/libnfc-nci.conf +vendor/etc/libnfc-nci.conf +vendor/etc/libnfc-nci_100.conf +vendor/etc/libnfc-nci_220.conf +vendor/etc/libnfc-nci_220e.conf +vendor/etc/libnfc-nci_557.conf +vendor/etc/libnfc-nci_560.conf +vendor/etc/libnfc-nxp-pnscr.conf +vendor/etc/libnfc-nxp_220.conf +vendor/etc/libnfc-sec-nci.conf +vendor/etc/libnfc-sec-vendor.conf +vendor/etc/sn100u_nfcon.pnscr +vendor/etc/sn100u_pnx_ese_cplc.pnscr + +# Power +system_ext/lib/vendor.mediatek.hardware.mtkpower-V2-ndk.so +system_ext/lib/vendor.mediatek.hardware.mtkpower@1.0.so +system_ext/lib/vendor.mediatek.hardware.mtkpower@1.1.so +system_ext/lib/vendor.mediatek.hardware.mtkpower@1.2.so +system_ext/lib64/vendor.mediatek.hardware.mtkpower-V2-ndk.so +system_ext/lib64/vendor.mediatek.hardware.mtkpower@1.0.so +system_ext/lib64/vendor.mediatek.hardware.mtkpower@1.1.so +system_ext/lib64/vendor.mediatek.hardware.mtkpower@1.2.so +vendor/bin/hw/vendor.mediatek.hardware.mtkpower@1.0-service +vendor/etc/init/vendor.mediatek.hardware.mtkpower@1.0-init.rc +vendor/etc/init/vendor.mediatek.hardware.mtkpower@1.0-service.rc +vendor/lib/hw/power.default.so +vendor/lib/hw/vendor.mediatek.hardware.mtkpower@1.2-impl.so +vendor/lib/libpower_timer.so +vendor/lib/vendor.mediatek.hardware.mtkpower@1.0.so +vendor/lib/vendor.mediatek.hardware.mtkpower@1.1.so +vendor/lib/vendor.mediatek.hardware.mtkpower@1.2.so +vendor/lib64/hw/power.default.so +vendor/lib64/hw/vendor.mediatek.hardware.mtkpower@1.2-impl.so +vendor/lib64/libpower_timer.so +vendor/lib64/vendor.mediatek.hardware.mtkpower@1.0.so +vendor/lib64/vendor.mediatek.hardware.mtkpower@1.1.so +vendor/lib64/vendor.mediatek.hardware.mtkpower@1.2.so + +# Radio +system_ext/lib/vendor.mediatek.hardware.mtkradioex@3.0.so +system_ext/lib64/vendor.mediatek.hardware.mtkradioex@3.0.so +vendor/bin/hw/mtkfusionrild +vendor/etc/init/mtkrild.rc +vendor/lib/libmtkcutils.so +vendor/lib/libmtkhardware_legacy.so +vendor/lib/libmtkproperty.so +vendor/lib/libmtkrillog.so +vendor/lib/libsysenv.so +vendor/lib64/libmtkconfig.so +vendor/lib64/libmtkconfigutils.so +vendor/lib64/libmtkcutils.so +vendor/lib64/libmtkhardware_legacy.so +vendor/lib64/libmtkproperty.so +vendor/lib64/libmtkrillog.so +vendor/lib64/libmtkrilutils.so +vendor/lib64/libmtkutils.so +vendor/lib64/libratconfig.so +vendor/lib64/librilfusion.so +vendor/lib64/libsysenv.so +vendor/lib64/vendor.mediatek.hardware.mtkradioex@2.0.so +vendor/lib64/vendor.mediatek.hardware.mtkradioex@3.0.so + +# Radio (IMS) +system_ext/lib/vendor.mediatek.hardware.videotelephony-V1-ndk.so +system_ext/lib/vendor.mediatek.hardware.videotelephony@1.0.so +system_ext/lib64/vendor.mediatek.hardware.videotelephony-V1-ndk.so +system_ext/lib64/vendor.mediatek.hardware.videotelephony@1.0.so +vendor/lib/hw/vendor.mediatek.hardware.videotelephony@1.0-impl.so +vendor/lib/vendor.mediatek.hardware.rcs@2.0.so +vendor/lib/vendor.mediatek.hardware.videotelephony@1.0.so +vendor/lib64/hw/vendor.mediatek.hardware.videotelephony@1.0-impl.so +vendor/lib64/vendor.mediatek.hardware.videotelephony@1.0.so + +# RenderScript +vendor/lib/hw/android.hardware.renderscript@1.0-impl.so +vendor/lib64/hw/android.hardware.renderscript@1.0-impl.so + +# Secure element +vendor/bin/hw/android.hardware.secure_element@1.2-service-mediatek +vendor/bin/hw/android.hardware.secure_element_snxxx@1.2-service +vendor/etc/init/android.hardware.secure_element@1.2-service-mediatek.rc +vendor/etc/init/android.hardware.secure_element_snxxx@1.2-service.rc +vendor/lib64/ese_spi_nxp_snxxx.so +vendor/lib64/ls_nq_client.so + +# Security +vendor/bin/hw/android.hardware.security.keymint-service.trustonic +vendor/etc/init/android.hardware.security.keymint-service.trustonic.rc +vendor/etc/vintf/manifest/android.hardware.security.keymint-service.trustonic.xml +vendor/etc/vintf/manifest/android.hardware.security.secureclock-service.trustonic.xml +vendor/etc/vintf/manifest/android.hardware.security.sharedsecret-service.trustonic.xml +vendor/lib/libcppbor_external.so +vendor/lib64/libcppbor_external.so + +# Sensors +vendor/bin/hw/android.hardware.sensors@2.0-service.multihal-mediatek +vendor/bin/hw/motorola.hardware.sensorscalibrate@1.0-service +vendor/etc/init/android.hardware.sensors@2.0-service.multihal-mediatek.rc +vendor/etc/init/motorola.hardware.sensorscalibrate@1.0-service.rc +vendor/lib/sensors.moto.so +vendor/lib64/hw/sensors.mediatek.V2.0.so +vendor/lib64/hw/sensors.mt6855.so +vendor/lib64/libhfmanager.so +vendor/lib64/libksensor.so +vendor/lib64/motorola.hardware.sensorscalibrate@1.0.so +vendor/lib64/sensors.moto.so + +# Sensors configs +vendor/etc/motorola/sensors/mot_sensor_settings.json +vendor/etc/sensors/hals.conf + +# Soundtrigger +vendor/lib/hw/android.hardware.soundtrigger@2.3-impl.so +vendor/lib/hw/sound_trigger.primary.default.so +vendor/lib64/hw/android.hardware.soundtrigger@2.3-impl.so +vendor/lib64/hw/sound_trigger.primary.default.so + +# Thermal +vendor/bin/hw/android.hardware.thermal@2.0-service.mtk +vendor/etc/init/android.hardware.thermal@2.0-service.mtk.rc +vendor/lib/hw/android.hardware.thermal@1.0-impl.so +vendor/lib/hw/android.hardware.thermal@2.0-impl.so +vendor/lib64/hw/android.hardware.thermal@1.0-impl.so +vendor/lib64/hw/android.hardware.thermal@2.0-impl.so + +# Thermal configs +vendor/etc/thermal/disable_skin_control.conf +vendor/etc/thermal/disable_thermal.conf +vendor/etc/thermal/disable_thermal_temp.conf +vendor/etc/thermal/disable_throttling.conf +vendor/etc/thermal/thermal.conf +vendor/etc/thermal/thermal_kpoc.conf +vendor/etc/thermal/thermal_policy_02.conf +vendor/etc/thermal/thermal_policy_03.conf +vendor/etc/thermal/thermal_policy_04.conf +vendor/etc/thermal/thermal_policy_05.conf +vendor/etc/thermal/thermal_policy_07.conf +vendor/etc/thermal/thermal_policy_08.conf +vendor/etc/thermal/thermal_policy_09.conf +vendor/etc/thermal/thermal_policy_10.conf +vendor/etc/thermal/thermal_policy_12.conf +vendor/etc/thermal/thermal_policy_13.conf +vendor/etc/thermal/thermal_policy_14.conf +vendor/etc/thermal/thermal_policy_15.conf +vendor/etc/thermal/thermal_policy_16.conf +vendor/etc/thermal/thermal_policy_17.conf +vendor/etc/thermal/thermal_policy_18.conf +vendor/etc/thermal/thermal_policy_19.conf + +# Trusted UI +vendor/lib64/vendor.trustonic.tee.tui@1.0.so + +# USB +vendor/bin/hw/android.hardware.usb@1.2-service-mediatekv2 +vendor/etc/init/android.hardware.usb@1.2-service-mediatekv2.rc +vendor/etc/vintf/manifest/android.hardware.usb@1.2-service-mediatekv2.xml + +# Vibrator +lib/motorola.hardware.vibrator@1.0.so +lib64/motorola.hardware.vibrator@1.0.so +vendor/bin/hw/android.hardware.vibrator-service.mediatek +vendor/lib/hw/vibrator.default.so +vendor/lib64/hw/vibrator.default.so + +# Wi-Fi +vendor/bin/hw/android.hardware.wifi@1.0-service-lazy +vendor/bin/hw/hostapd +vendor/bin/hw/wpa_supplicant +vendor/bin/hostapd_cli +vendor/bin/wpa_cli +vendor/etc/init/android.hardware.wifi.supplicant-service.rc +vendor/etc/init/android.hardware.wifi@1.0-service-lazy.rc +vendor/etc/vintf/manifest/android.hardware.wifi.hostapd.xml +vendor/etc/vintf/manifest/android.hardware.wifi.supplicant.xml +vendor/etc/vintf/manifest/android.hardware.wifi@1.0-service.xml +vendor/lib/libkeystore-wifi-hidl.so +vendor/lib64/libkeystore-engine-wifi-hidl.so +vendor/lib64/libkeystore-wifi-hidl.so +vendor/lib64/libwifi-hal.so +vendor/lib64/motorola.hardware.wifi.hostapd@1.0.so +vendor/lib64/motorola.hardware.wifi.supplicant@1.0_vendor.so + +# Wi-Fi configs +vendor/etc/wifi/p2p_supplicant_overlay.conf +vendor/etc/wifi/wpa_supplicant.conf +vendor/etc/wifi/wpa_supplicant_overlay.conf + +# Miscellaneous +odm/etc/vintf/manifest_b.xml +odm/etc/vintf/manifest_d.xml +odm/etc/vintf/manifest_de.xml +odm/etc/vintf/manifest_dn.xml +odm/etc/vintf/manifest_e.xml +odm/etc/vintf/manifest_n.xml +vendor/app/GoogleNetworkStackResOverlay/GoogleNetworkStackResOverlay.apk +vendor/app/GoogleTetheringResOverlay/GoogleTetheringResOverlay.apk +vendor/app/InProcessTetheringResOverlay/InProcessTetheringResOverlay.apk +vendor/app/NetworkStackInProcessResOverlay/NetworkStackInProcessResOverlay.apk +vendor/app/NetworkStackResOverlay/NetworkStackResOverlay.apk +vendor/app/TetheringResOverlay/TetheringResOverlay.apk +vendor/app/mcRegistry/020f0000000000000000000000000000.drbin +vendor/app/mcRegistry/020f0000000000000000000000000000.tlbin +vendor/app/mcRegistry/031c0000000000000000000000000000.drbin +vendor/app/mcRegistry/031c0000000000000000000000000000.tlbin +vendor/app/mcRegistry/04010000000000000000000000000000.tlbin +vendor/app/mcRegistry/05060000000000000000000000000000.tabin +vendor/app/mcRegistry/05070000000000000000000000000000.drbin +vendor/app/mcRegistry/05070000000000000000000000000000.tlbin +vendor/app/mcRegistry/05120000000000000000000000000001.drbin +vendor/app/mcRegistry/05120000000000000000000000000001.tlbin +vendor/app/mcRegistry/06090000000000000000000000000000.drbin +vendor/app/mcRegistry/06090000000000000000000000000000.tlbin +vendor/app/mcRegistry/07010000000000000000000000000000.tlbin +vendor/app/mcRegistry/0706000000000000000000000000004d.tlbin +vendor/app/mcRegistry/07061000000000000000000000000000.tlbin +vendor/app/mcRegistry/07150000000000000000000000000000.drbin +vendor/app/mcRegistry/07150000000000000000000000000000.tlbin +vendor/app/mcRegistry/07170000000000000000000000000000.drbin +vendor/app/mcRegistry/07170000000000000000000000000000.tlbin +vendor/app/mcRegistry/08030000000000000000000000000000.tabin +vendor/app/mcRegistry/08040000000000000000000000003419.tabin +vendor/app/mcRegistry/08050000000000000000000000003419.drbin +vendor/app/mcRegistry/08050000000000000000000000003419.tlbin +vendor/app/mcRegistry/08110000000000000000000000000000.tabin +vendor/app/mcRegistry/40188311faf343488db888ad39496f9a.drbin +vendor/app/mcRegistry/40188311faf343488db888ad39496f9a.tlbin +vendor/app/mcRegistry/5020170115e016302017012521300000.drbin +vendor/app/mcRegistry/5020170115e016302017012521300000.tlbin +vendor/app/mcRegistry/85fbf4ccc2fd4a32922a4e90c56179de.tabin +vendor/app/mcRegistry/abcd270ea5c44c58bcd3384a2fa2539e.tabin +vendor/app/mcRegistry/attpre_6716af0c135559728ae9e9754da47ccd.tabin +vendor/app/mcRegistry/e97c270ea5c44c58bcd3384a2fa2539e.tabin +vendor/bin/hw/mt6855/camerahalserver +vendor/bin/hw/camerahalserver +vendor/bin/hw/chipone_ident +vendor/bin/hw/fpc_ident +vendor/bin/hw/goodix_ident +vendor/bin/hw/motorola.hardware.fdrcontrol@1.2-service +vendor/bin/hw/motorola.hardware.mtk.fm-service +vendor/bin/hw/motorola.hardware.sarwifi-srv +vendor/bin/hw/tetheroffloadservice +vendor/bin/hw/vendor.mediatek.hardware.mmagent@1.1-service +vendor/bin/hw/vendor.mediatek.hardware.nvram@1.1-service +vendor/bin/hw/vendor.mediatek.hardware.nwk_opt@1.0-service +vendor/bin/hw/vendor.trustonic.alps.alps_device@1.1-service +vendor/bin/hw/vtservice_hidl +vendor/bin/mt6855/jpegtool +vendor/bin/mt6855/v3avpud.mt6855 +vendor/bin/AgentTest +vendor/bin/EEReport +vendor/bin/SN1X0__RF-On.txt +vendor/bin/TBaseDeviceBinding +vendor/bin/aplogcat +vendor/bin/aplogd +vendor/bin/applypatch +vendor/bin/atcid +vendor/bin/audiocmdservice_atci +vendor/bin/autobt +vendor/bin/batch +vendor/bin/batt_health +vendor/bin/bip_ap +vendor/bin/bootloaderlog +vendor/bin/boringssl_self_test32 +vendor/bin/boringssl_self_test64 +vendor/bin/bt_dump +vendor/bin/capsense_reset +vendor/bin/ccci_fsd +vendor/bin/ccci_mdinit +vendor/bin/ccci_rpcd +vendor/bin/chipinfo +vendor/bin/conninfra_loader +vendor/bin/dmabuf_dump +vendor/bin/dmc_core +vendor/bin/dumpsys +vendor/bin/eara_io_service +vendor/bin/expat +vendor/bin/factory +vendor/bin/fdrcontrol +vendor/bin/fotacontrol +vendor/bin/fpc_tee_test +vendor/bin/fpsgo +vendor/bin/fuelgauged +vendor/bin/fuelgauged_nvram +vendor/bin/gbe +vendor/bin/getconfig +vendor/bin/getfattr +vendor/bin/gsm0710muxd +vendor/bin/ipsec_mon +vendor/bin/jpegtool +vendor/bin/kpgather +vendor/bin/kpreadwrite +vendor/bin/lbs_hidl_service +vendor/bin/masterclear +vendor/bin/mbm_spy +vendor/bin/mcDriverDaemon +vendor/bin/memtest_mode +vendor/bin/meta_tst +vendor/bin/mnld +vendor/bin/motobox +vendor/bin/mt6660_calibration +vendor/bin/mtk_agpsd +vendor/bin/mtk_pkm_service +vendor/bin/mtk_plpath_utils_ota +vendor/bin/muxreport +vendor/bin/netdagent +vendor/bin/netdc +vendor/bin/nvram_daemon +vendor/bin/nxpnfcinfo +vendor/bin/pnscr +vendor/bin/pnscr_cal +vendor/bin/poweroffcontrol +vendor/bin/ptf +vendor/bin/rcs_volte_stack +vendor/bin/rkp_factory_extraction_tool +vendor/bin/rsudaemon_proxy +vendor/bin/rt5512_calibration +vendor/bin/sec_nfc_test +vendor/bin/sendevent2 +vendor/bin/setconfig +vendor/bin/setfattr +vendor/bin/smartpa_nvtest +vendor/bin/sns_mot_client +vendor/bin/stp_dump3 +vendor/bin/tcmd +vendor/bin/tcmdhelp +vendor/bin/thermal_core +vendor/bin/thermal_intf +vendor/bin/tinymix +vendor/bin/tinyplay +vendor/bin/ufsgetsn +vendor/bin/v3avpud.mt6855 +vendor/bin/volte_clientapi_ua +vendor/bin/volte_rcs_ua +vendor/bin/vpud +vendor/bin/wifi_dump +vendor/bin/wifitest +vendor/bin/wlan_assistant +vendor/bin/wmt_launcher +vendor/bin/wmt_loader +vendor/etc/apdb/APDB_MT6855___W2425 +vendor/etc/apdb/APDB_MT6855___W2425_ENUM +vendor/etc/aualgo/aualgo_comp_azpp.conf +vendor/etc/aualgo/aualgo_sst.conf +vendor/etc/init/EEReport.rc +vendor/etc/init/atcid.rc +vendor/etc/init/audiocmdservice_atci.rc +vendor/etc/init/bootperf.rc +vendor/etc/init/boringssl_self_test.rc +vendor/etc/init/camerahalserver.rc +vendor/etc/init/chipinfo_init.rc +vendor/etc/init/dmc_core.rc +vendor/etc/init/eara-io-service.rc +vendor/etc/init/fpsgo.rc +vendor/etc/init/fuelgauged_init.rc +vendor/etc/init/fuelgauged_nvram_init.rc +vendor/etc/init/gbe.rc +vendor/etc/init/gsm0710muxd.rc +vendor/etc/init/hostapd.android.rc +vendor/etc/init/init.alpslegacy.rc +vendor/etc/init/init.bip_ap.rc +vendor/etc/init/init.bt_drv.rc +vendor/etc/init/init.cccifsd.rc +vendor/etc/init/init.cccimdinit.rc +vendor/etc/init/init.cccirpcd.rc +vendor/etc/init/init.chipone_ident.rc +vendor/etc/init/init.connfem.rc +vendor/etc/init/init.fmradio_drv.rc +vendor/etc/init/init.fpsgo.rc +vendor/etc/init/init.gf_ident.rc +vendor/etc/init/init.gps_drv.rc +vendor/etc/init/init.gps_pwr.rc +vendor/etc/init/init.nfc.sec.rc +vendor/etc/init/init.thermal_core.rc +vendor/etc/init/init.vtservice_hidl.rc +vendor/etc/init/init.wlan_drv.rc +vendor/etc/init/init.wmt_drv.rc +vendor/etc/init/ipsec_mon.rc +vendor/etc/init/lbs_hidl_service.rc +vendor/etc/init/lights-mtk-default.rc +vendor/etc/init/memtrack-mediatek.rc +vendor/etc/init/motorola.hardware.fdrcontrol@1.2-service.rc +vendor/etc/init/motorola.hardware.mtk.fm.service.rc +vendor/etc/init/mtk_agpsd_p.rc +vendor/etc/init/mtk_pkm_service.rc +vendor/etc/init/mtklog.rc +vendor/etc/init/muxreport.rc +vendor/etc/init/netdagent.rc +vendor/etc/init/networksetting.rc +vendor/etc/init/nvram_daemon.rc +vendor/etc/init/sarwifi-default.rc +vendor/etc/init/tee.rc +vendor/etc/init/tetheroffloadservice.rc +vendor/etc/init/trustonic.rc +vendor/etc/init/v3avpud.rc +vendor/etc/init/vendor.mediatek.hardware.mmagent@1.1-service.rc +vendor/etc/init/vendor.mediatek.hardware.nvram@1.1-sevice.rc +vendor/etc/init/vendor.mediatek.hardware.nwk_opt@1.0-service.rc +vendor/etc/init/vendor.mmi.carrier.rc +vendor/etc/init/vendor.mmi.cxp.rc +vendor/etc/init/vendor.trustonic.alps.alps_device@1.1-service.rc +vendor/etc/init/vendor_flash_recovery.rc +vendor/etc/init/vibrator-mtk-default.rc +vendor/etc/init/vndservicemanager.rc +vendor/etc/init/volte_clientapi_ua.rc +vendor/etc/init/wlan_assistant.rc +vendor/etc/md/cacerts/ikev2/DigiCertGlobalRootCA.crt +vendor/etc/md/cacerts/ikev2/DigiCertGlobalRootG2.crt +vendor/etc/md/cacerts/ikev2/DigiCertGlobalRootG3.crt +vendor/etc/md/cacerts/ikev2/Entrust.net_Certification_Authority_2048.cer +vendor/etc/md/cacerts/ikev2/EntrustRootCertificationAuthorityG2_root.crt +vendor/etc/md/cacerts/ikev2/GeoTrust_PCA_G3_Root.der +vendor/etc/md/cacerts/ikev2/GeoTrust_Primary_CA.der +vendor/etc/md/cacerts/ikev2/GeoTrust_Primary_CA_G2_ECC.der +vendor/etc/md/cacerts/ikev2/GlobalSign_root_CA.crt +vendor/etc/md/cacerts/ikev2/LibertyGlobalEnterprise-Root-CA-G1.crt +vendor/etc/md/cacerts/ikev2/Root-R3.cer +vendor/etc/md/cacerts/ikev2/Root_CA_1003.crt +vendor/etc/md/cacerts/ikev2/USERTrustRSACertificationAuthority.crt +vendor/etc/md/cacerts/ikev2/VeriSignClass3G4.der +vendor/etc/md/cacerts/ikev2/VeriSignClass3G5.der +vendor/etc/md/cacerts/ikev2/VeriSignUniversalRootCertification.der +vendor/etc/md/cacerts/ikev2/thawte.der +vendor/etc/md/cacerts/tls/AAACertificateServices.crt +vendor/etc/md/cacerts/tls/CertumCA.crt +vendor/etc/md/cacerts/tls/CertumOrganizationValidationCASHA2.crt +vendor/etc/md/cacerts/tls/CertumTrustedNetworkCA.crt +vendor/etc/md/cacerts/tls/CyberTrustJapanPublicCAG3.crt +vendor/etc/md/cacerts/tls/DigiCertGlobalRootCA.crt +vendor/etc/md/cacerts/tls/DigiCertGlobalRootG2.crt +vendor/etc/md/cacerts/tls/DigiCertSHA2SecureServerCA.crt +vendor/etc/md/cacerts/tls/DomenySslDvCertificationAuthority.crt +vendor/etc/md/cacerts/tls/EntrustCertificationAuthorityL1K.cer +vendor/etc/md/cacerts/tls/EntrustRootCertificationAuthority.crt +vendor/etc/md/cacerts/tls/EntrustRootCertificationAuthorityG2.crt +vendor/etc/md/cacerts/tls/EntrustRootCertificationAuthorityG2_root.crt +vendor/etc/md/cacerts/tls/GoDaddyRootCertificateAuthorityG2.crt +vendor/etc/md/cacerts/tls/GoDaddySecureCertificateAuthorityG2.crt +vendor/etc/md/cacerts/tls/KPN_BV_PKIoverheid_Organisatie_Server_CA-G3_2019.cer +vendor/etc/md/cacerts/tls/StaatDerNederlandenEVRootCA.crt +vendor/etc/md/cacerts/tls/StaatderNederlandenOrganisatieServicesCA-G3.cer +vendor/etc/md/cacerts/tls/StaatderNederlandenRootCA-G3.cer +vendor/etc/md/cacerts/tls/TheUSERTRUSTNetwork.crt +vendor/etc/md/cacerts/tls/certSIGNROOTCA.crt +vendor/etc/md/cacerts/tls/certSIGN_ROOT_CA.crt +vendor/etc/md/cacerts/tls/certsign-rootg2.crt +vendor/etc/motorola/12m/Factory_SW_Logo.jpg +vendor/etc/motorola/12m/TM655_driver_Command.ini +vendor/etc/motorola/12m/fac_test_config.xml +vendor/etc/motorola/12m/focaltech-csot-primary-cancunf.ini +vendor/etc/motorola/12m/focaltech-csot_ft8725-primary-cancunf.ini +vendor/etc/motorola/12m/focaltech-csot_ft8726-primary-cancunf.ini +vendor/etc/motorola/12m/key_code_map.txt +vendor/etc/motorola/12m/tcmd_leds.cfg +vendor/etc/motorola/props/sku.n.prop +vendor/etc/motorola/props/sku.nc.prop +vendor/etc/motorola/props/sku.nq.prop +vendor/etc/motorola/props/sku.q.prop +vendor/etc/motorola/tcmd/cid_template.dat +vendor/etc/motorola/tcmd/cid_template.locked +vendor/etc/motorola/tcmd/cid_template.unlocked +vendor/etc/seccomp_policy/android.hardware.media.c2@1.2-extended-seccomp-policy +vendor/etc/seccomp_policy/android.hardware.media.c2@1.2-mediatek-seccomp-policy +vendor/etc/seccomp_policy/mediaextractor.policy +vendor/etc/seccomp_policy/mediaswcodec.policy +vendor/etc/security/cacerts/01419da9.0 +vendor/etc/security/cacerts/04f60c28.0 +vendor/etc/security/cacerts/0d69c7e1.0 +vendor/etc/security/cacerts/10531352.0 +vendor/etc/security/cacerts/111e6273.0 +vendor/etc/security/cacerts/12d55845.0 +vendor/etc/security/cacerts/1ae85e5e.0 +vendor/etc/security/cacerts/1df5a75f.0 +vendor/etc/security/cacerts/1e1eab7c.0 +vendor/etc/security/cacerts/1e8e7201.0 +vendor/etc/security/cacerts/1eb37bdf.0 +vendor/etc/security/cacerts/1f58a078.0 +vendor/etc/security/cacerts/219d9499.0 +vendor/etc/security/cacerts/23f4c490.0 +vendor/etc/security/cacerts/27af790d.0 +vendor/etc/security/cacerts/2add47b6.0 +vendor/etc/security/cacerts/2d9dafe4.0 +vendor/etc/security/cacerts/2fa87019.0 +vendor/etc/security/cacerts/302904dd.0 +vendor/etc/security/cacerts/304d27c3.0 +vendor/etc/security/cacerts/31188b5e.0 +vendor/etc/security/cacerts/33ee480d.0 +vendor/etc/security/cacerts/343eb6cb.0 +vendor/etc/security/cacerts/35105088.0 +vendor/etc/security/cacerts/399e7759.0 +vendor/etc/security/cacerts/3ad48a91.0 +vendor/etc/security/cacerts/3c6676aa.0 +vendor/etc/security/cacerts/3c860d51.0 +vendor/etc/security/cacerts/3c899c73.0 +vendor/etc/security/cacerts/3c9a4d3b.0 +vendor/etc/security/cacerts/3e7271e8.0 +vendor/etc/security/cacerts/40dc992e.0 +vendor/etc/security/cacerts/455f1b52.0 +vendor/etc/security/cacerts/48a195d8.0 +vendor/etc/security/cacerts/4be590e0.0 +vendor/etc/security/cacerts/5046c355.0 +vendor/etc/security/cacerts/524d9b43.0 +vendor/etc/security/cacerts/52b525c7.0 +vendor/etc/security/cacerts/583d0756.0 +vendor/etc/security/cacerts/5a250ea7.0 +vendor/etc/security/cacerts/5a3f0ff8.0 +vendor/etc/security/cacerts/5acf816d.0 +vendor/etc/security/cacerts/5cf9d536.0 +vendor/etc/security/cacerts/5f47b495.0 +vendor/etc/security/cacerts/60afe812.0 +vendor/etc/security/cacerts/6187b673.0 +vendor/etc/security/cacerts/63a2c897.0 +vendor/etc/security/cacerts/69105f4f.0 +vendor/etc/security/cacerts/6b03dec0.0 +vendor/etc/security/cacerts/6e8bf996.0 +vendor/etc/security/cacerts/75680d2e.0 +vendor/etc/security/cacerts/76579174.0 +vendor/etc/security/cacerts/7892ad52.0 +vendor/etc/security/cacerts/7a7c655d.0 +vendor/etc/security/cacerts/7a819ef2.0 +vendor/etc/security/cacerts/81b9768f.0 +vendor/etc/security/cacerts/82223c44.0 +vendor/etc/security/cacerts/83e9984f.0 +vendor/etc/security/cacerts/85cde254.0 +vendor/etc/security/cacerts/86212b19.0 +vendor/etc/security/cacerts/869fbf79.0 +vendor/etc/security/cacerts/882de061.0 +vendor/etc/security/cacerts/88950faa.0 +vendor/etc/security/cacerts/89c02a45.0 +vendor/etc/security/cacerts/8d6437c3.0 +vendor/etc/security/cacerts/9282e51c.0 +vendor/etc/security/cacerts/9339512a.0 +vendor/etc/security/cacerts/9479c8c3.0 +vendor/etc/security/cacerts/9576d26b.0 +vendor/etc/security/cacerts/9591a472.0 +vendor/etc/security/cacerts/95aff9e3.0 +vendor/etc/security/cacerts/9685a493.0 +vendor/etc/security/cacerts/985c1f52.0 +vendor/etc/security/cacerts/9aef356c.0 +vendor/etc/security/cacerts/9d6523ce.0 +vendor/etc/security/cacerts/9f533518.0 +vendor/etc/security/cacerts/a2c66da8.0 +vendor/etc/security/cacerts/a3896b44.0 +vendor/etc/security/cacerts/a7605362.0 +vendor/etc/security/cacerts/a81e292b.0 +vendor/etc/security/cacerts/a9d40e02.0 +vendor/etc/security/cacerts/ab5346f4.0 +vendor/etc/security/cacerts/ab59055e.0 +vendor/etc/security/cacerts/aeb67534.0 +vendor/etc/security/cacerts/b0ed035a.0 +vendor/etc/security/cacerts/b0f3e76e.0 +vendor/etc/security/cacerts/b3fb433b.0 +vendor/etc/security/cacerts/b74d2bd5.0 +vendor/etc/security/cacerts/b7db1890.0 +vendor/etc/security/cacerts/b872f2b4.0 +vendor/etc/security/cacerts/b936d1c6.0 +vendor/etc/security/cacerts/bc3f2570.0 +vendor/etc/security/cacerts/bd43e1dd.0 +vendor/etc/security/cacerts/bdacca6f.0 +vendor/etc/security/cacerts/bf64f35b.0 +vendor/etc/security/cacerts/c491639e.0 +vendor/etc/security/cacerts/c51c224c.0 +vendor/etc/security/cacerts/c559d742.0 +vendor/etc/security/cacerts/c90bc37d.0 +vendor/etc/security/cacerts/cb1c3204.0 +vendor/etc/security/cacerts/ccc52f49.0 +vendor/etc/security/cacerts/cf701eeb.0 +vendor/etc/security/cacerts/d06393bb.0 +vendor/etc/security/cacerts/d16a5865.0 +vendor/etc/security/cacerts/d18e9066.0 +vendor/etc/security/cacerts/d39b0a2c.0 +vendor/etc/security/cacerts/d41b5e2a.0 +vendor/etc/security/cacerts/d4c339cb.0 +vendor/etc/security/cacerts/d59297b8.0 +vendor/etc/security/cacerts/d7746a63.0 +vendor/etc/security/cacerts/da7377f6.0 +vendor/etc/security/cacerts/dbc54cab.0 +vendor/etc/security/cacerts/dbff3a01.0 +vendor/etc/security/cacerts/dc99f41e.0 +vendor/etc/security/cacerts/dfc0fe80.0 +vendor/etc/security/cacerts/e442e424.0 +vendor/etc/security/cacerts/e48193cf.0 +vendor/etc/security/cacerts/e8651083.0 +vendor/etc/security/cacerts/ed39abd0.0 +vendor/etc/security/cacerts/edcbddb5.0 +vendor/etc/security/cacerts/f013ecaf.0 +vendor/etc/security/cacerts/f0cd152c.0 +vendor/etc/security/cacerts/f459871d.0 +vendor/etc/security/cacerts/fb5fa911.0 +vendor/etc/security/cacerts/fd08c599.0 +vendor/etc/security/cacerts/fde84897.0 +vendor/etc/security/cacerts_supl/lab/18dc3a8d.0 +vendor/etc/security/cacerts_supl/lab/1bc5ca0c.0 +vendor/etc/security/cacerts_supl/lab/1bc5ca0c.1 +vendor/etc/security/cacerts_supl/lab/2cbfcc3a.0 +vendor/etc/security/cacerts_supl/lab/35ef1c14.0 +vendor/etc/security/cacerts_supl/lab/399e7759.0 +vendor/etc/security/cacerts_supl/lab/586933d9.0 +vendor/etc/security/cacerts_supl/lab/66272d0d.0 +vendor/etc/security/cacerts_supl/lab/6f1dbe5e.0 +vendor/etc/security/cacerts_supl/lab/b5805141.0 +vendor/etc/security/cacerts_supl/lab/b805b58a.0 +vendor/etc/security/cacerts_supl/lab/ed7b215e.0 +vendor/etc/security/cacerts_supl/lab/ef4b31e6.0 +vendor/etc/security/cacerts_supl/111e6273.0 +vendor/etc/security/cacerts_supl/1a700a7f.0 +vendor/etc/security/cacerts_supl/1e8e7201.0 +vendor/etc/security/cacerts_supl/245cc582.0 +vendor/etc/security/cacerts_supl/399e7759.0 +vendor/etc/security/cacerts_supl/399e7759.1 +vendor/etc/security/cacerts_supl/399e7759.2 +vendor/etc/security/cacerts_supl/3ad48a91.0 +vendor/etc/security/cacerts_supl/455f1b52.0 +vendor/etc/security/cacerts_supl/4bcd7fc4.0 +vendor/etc/security/cacerts_supl/4bcd7fc4.1 +vendor/etc/security/cacerts_supl/524d9b43.0 +vendor/etc/security/cacerts_supl/594f1775.0 +vendor/etc/security/cacerts_supl/608d335b.0 +vendor/etc/security/cacerts_supl/6d4bcacf.0 +vendor/etc/security/cacerts_supl/75680d2e.0 +vendor/etc/security/cacerts_supl/7651b327.0 +vendor/etc/security/cacerts_supl/79701ca5.0 +vendor/etc/security/cacerts_supl/7d453d8f.0 +vendor/etc/security/cacerts_supl/876bdba8.0 +vendor/etc/security/cacerts_supl/876bdba8.1 +vendor/etc/security/cacerts_supl/a2c66da8.0 +vendor/etc/security/cacerts_supl/b0f3e76e.0 +vendor/etc/security/cacerts_supl/c542733d.0 +vendor/etc/security/cacerts_supl/c90bc37d.0 +vendor/etc/security/cacerts_supl/ed39abd0.0 +vendor/etc/security/cacerts_supl/f336e3d1.0 +vendor/etc/security/cacerts_supl/facacbc6.0 +vendor/etc/tetras/portrait_repair_composite.model +vendor/etc/vintf/manifest/fdrcontrol_1.2_manifest.xml +vendor/etc/vintf/manifest/gnss-default.xml +vendor/etc/vintf/manifest/gnss@2.1-service.xml +vendor/etc/vintf/manifest/lbs_hidl_service@1.0.xml +vendor/etc/vintf/manifest/lights-mtk-default.xml +vendor/etc/vintf/manifest/manifest_IMoto_Fingerprint.xml +vendor/etc/vintf/manifest/manifest_apuware_apusys.xml +vendor/etc/vintf/manifest/manifest_apuware_hmp.xml +vendor/etc/vintf/manifest/manifest_apuware_utils.xml +vendor/etc/vintf/manifest/manifest_cameraprovider.xml +vendor/etc/vintf/manifest/manifest_hwcomposer.xml +vendor/etc/vintf/manifest/manifest_media_c2_V1_1_dolby_default9.xml +vendor/etc/vintf/manifest/memtrack-mediatek.xml +vendor/etc/vintf/manifest/motorola.hardware.mtk.fm.service.xml +vendor/etc/vintf/manifest/power-default.xml +vendor/etc/vintf/manifest/sarwifi-default.xml +vendor/etc/vintf/manifest/vibrator-mtk-default.xml +vendor/etc/AW_DSP.bin +vendor/etc/AW_SINWAVE_DSP.bin +vendor/etc/AbnormalDisplayLog_dynamic.xml +vendor/etc/AudioLog_dynamic.xml +vendor/etc/MNL_Config.xml +vendor/etc/SwadCalib.bin +vendor/etc/SwadParamList.txt +vendor/etc/VideoLog_dynamic.xml +vendor/etc/ap_gain.bin +vendor/etc/ap_gain_mmul.bin +vendor/etc/audio_device.xml +vendor/etc/audio_em.xml +vendor/etc/audio_policy.conf +vendor/etc/aurisys_config.xml +vendor/etc/aurisys_config_rv.xml +vendor/etc/bt_stack_debug.conf +vendor/etc/bt_stack_level6.conf +vendor/etc/cust_color_0.xml +vendor/etc/cust_color_1.xml +vendor/etc/cust_color_2.xml +vendor/etc/default_pd_calibration.bin +vendor/etc/dual_golden_wide.bin +vendor/etc/ecc_list.xml +vendor/etc/ecc_list_OP01.xml +vendor/etc/ecc_list_OP02.xml +vendor/etc/ecc_list_OP09.xml +vendor/etc/ecc_list_OP12.xml +vendor/etc/ecc_list_OP17.xml +vendor/etc/ecc_list_OP18.xml +vendor/etc/ecc_list_OP20.xml +vendor/etc/ecc_list_OP236.xml +vendor/etc/ecc_list_preference.xml +vendor/etc/factory.ini +vendor/etc/fstab.emmc +vendor/etc/fstab.enableswap +vendor/etc/fstab.enablezram +vendor/etc/fstab.enablezramwb +vendor/etc/fstab.mt6855 +vendor/etc/fstb.cfg +vendor/etc/gbe.cfg +vendor/etc/init.insmod.mt6855.cfg +vendor/etc/libese-nxp.conf +vendor/etc/meow.cfg +vendor/etc/mkshrc +vendor/etc/mot_spn_table +vendor/etc/mpe.conf +vendor/etc/mtk_omx_core.cfg +vendor/etc/mtk_platform_codecs_config.xml +vendor/etc/mtk_vext_info +vendor/etc/nfc_calibration.txt +vendor/etc/nnapi_powerhal.json +vendor/etc/partition_permission.sh +vendor/etc/power_app_cfg.xml +vendor/etc/powercontable.xml +vendor/etc/powerscntbl.xml +vendor/etc/public.libraries.txt +vendor/etc/sec_s3nrn4v_hwreg.bin +vendor/etc/sec_s3nrn4v_swreg.bin +vendor/etc/simlock_template.dat +vendor/etc/slp_conf +vendor/etc/smsdbvisitor.xml +vendor/etc/special_pws_channel.xml +vendor/etc/task_profiles.json +vendor/etc/throttle.sh +vendor/etc/ueventd.rc +vendor/etc/usb_audio_accessory_only_policy_configuration.xml +vendor/etc/vendor-apns-conf.xml +vendor/etc/vhw.xml +vendor/etc/virtual-spn-conf-by-efgid1.xml +vendor/etc/virtual-spn-conf-by-efpnn.xml +vendor/etc/virtual-spn-conf-by-efspn.xml +vendor/etc/virtual-spn-conf-by-imsi.xml +vendor/etc/xgf.cfg +vendor/firmware/BT_FW.cfg +vendor/firmware/ILITEK_FW +vendor/firmware/NT36xxx_MP_Setting_Criteria_606B.csv +vendor/firmware/WIFI_RAM_CODE_soc2_2_1b_1.bin +vendor/firmware/WIFI_RAM_CODE_soc2_2_1c_1.bin +vendor/firmware/WMT_SOC.cfg +vendor/firmware/WMT_SOC_CANCUNF.cfg +vendor/firmware/WMT_SOC_CANCUNN_FEM.cfg +vendor/firmware/WMT_SOC_devonn_epa.cfg +vendor/firmware/aw86006.prog +vendor/firmware/aw86006vcmyova.prog +vendor/firmware/aw87xxx_acf.bin +vendor/firmware/cps4035.bin +vendor/firmware/fm_cust.cfg +vendor/firmware/focaltech_ts_fw_csot.bin +vendor/firmware/focaltech_ts_fw_csot_ft8725.bin +vendor/firmware/mt6627_fm_v1_coeff.bin +vendor/firmware/mt6627_fm_v1_patch.bin +vendor/firmware/mt6630_fm_v1_coeff.bin +vendor/firmware/mt6630_fm_v1_patch.bin +vendor/firmware/mt6630_fm_v2_coeff.bin +vendor/firmware/mt6630_fm_v2_coeff_tx.bin +vendor/firmware/mt6630_fm_v2_patch.bin +vendor/firmware/mt6630_fm_v2_patch_tx.bin +vendor/firmware/mt6631_fm_v1_coeff.bin +vendor/firmware/mt6631_fm_v1_patch.bin +vendor/firmware/mt6632_fm_v1_coeff.bin +vendor/firmware/mt6632_fm_v1_patch.bin +vendor/firmware/mt6635_fm_v1_coeff.bin +vendor/firmware/mt6635_fm_v1_patch.bin +vendor/firmware/novatek_ts_fw.bin +vendor/firmware/novatek_ts_mp.bin +vendor/firmware/remoteproc_scp +vendor/firmware/rgx.fw +vendor/firmware/rgx.sh +vendor/firmware/sec_s3nrn4v_firmware.bin +vendor/firmware/soc2_2_ram_bt_1b_1_hdr.bin +vendor/firmware/soc2_2_ram_bt_1c_1_hdr.bin +vendor/firmware/soc2_2_ram_mcu_1b_1_hdr.bin +vendor/firmware/soc2_2_ram_mcu_1c_1_hdr.bin +vendor/firmware/soc2_2_ram_wifi_1b_1_hdr.bin +vendor/firmware/soc2_2_ram_wifi_1c_1_hdr.bin +vendor/firmware/soc_fm_v1_coeff.bin +vendor/firmware/soc_fm_v1_patch.bin +vendor/firmware/txpowerctrl.cfg +vendor/firmware/valhall-1691526.wa +vendor/firmware/wifi.cfg +vendor/framework/com.fingerprints.extension.jar +vendor/lib/hw/audio_policy.stub.so +vendor/lib/hw/fpsensor_fingerprint.default.so +vendor/lib/hw/libMcGatekeeper.so +vendor/lib/hw/libSoftGatekeeper.so +vendor/lib/hw/thermal_hal.so +vendor/lib/hw/vendor.mediatek.hardware.nvram@1.1-impl.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_E2EHDR_Preview.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_E2EHDR_Video.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Face_Capture.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Flash_Capture.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_HDR_Capture.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_HDR_Preview.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_HDR_Reconfig_Preview.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_HDR_Reconfig_Video.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_HDR_Video.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_N3D_Capture.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_N3D_Preview.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_N3D_Video.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_P1_YUV.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Scene_Capture.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Scene_Capture_4cell.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Scene_Preview.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Scene_Preview_4k.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Scene_Preview_ZSD_Flash.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Video_1080.so +vendor/lib/mt6855/libCamera_mtk000mipiraw_Video_4k.so +vendor/lib/mt6855/libPVROCL.so +vendor/lib/mt6855/libPVRScopeServices.so +vendor/lib/mt6855/libaiawb_moon_model.so +vendor/lib/mt6855/libaiawb_sun_model.so +vendor/lib/mt6855/libgpudataproducer.so +vendor/lib/mt6855/libmemtrack_GL.so +vendor/lib/mt6855/libmpvr.so +vendor/lib/mt6855/libneuron_adapter_mgvi.so +vendor/lib/mt6855/libnir_neon_driver.so +vendor/lib/mt6855/libpq_cust_base.so +vendor/lib/mt6855/libvcodec_utility.so +vendor/lib/mt6855/libvcodec_utility_v3a.so +vendor/lib/mt6855/libvcodecdrv.so +vendor/lib/mt6855/libvcodecdrv_v3a.so +vendor/lib/mt6855/libvpudv3a_vcodec.so +vendor/lib/mt6855/mot_cancunf_hi1634q_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_hi1634q_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_jns_yova_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_jns_yova_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_ov50d_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_ov50d_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_s5k4h7_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_s5k4h7_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_s5kjns_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_s5kjns_mipi_raw_tuning.so +vendor/lib/mt6855/mot_cancunf_sc202_mipi_raw_row_tuning.so +vendor/lib/mt6855/mot_cancunf_sc202_mipi_raw_tuning.so +vendor/lib/mt6855/mtk000_mipi_raw_tuning.so +vendor/lib/AVCSecureVdecCA.so +vendor/lib/HEVCSecureVdecCA.so +vendor/lib/VP9SecureVdecCA.so +vendor/lib/com.fingerprints.extension@1.0.so +vendor/lib/libAVCSecureVencCA.so +vendor/lib/libHEVCdec_sa.ca7.android.so +vendor/lib/libMcRegistry.so +vendor/lib/libMtkAinrEnh.so +vendor/lib/libMtkSpeechEnh.so +vendor/lib/libMtkSpeechEnh_swb.so +vendor/lib/libPVROCL.so +vendor/lib/libPVRScopeServices.so +vendor/lib/libTBaseProvisioning.so +vendor/lib/libTEECommon.so +vendor/lib/lib_ainr_enh.so +vendor/lib/lib_android_keymaster_keymint_utils.so +vendor/lib/lib_iir.so +vendor/lib/libaal_key.so +vendor/lib/libaiawb_moon_model.so +vendor/lib/libaiawb_sun_model.so +vendor/lib/libapmonitor_vendor.so +vendor/lib/libappgamepq.so +vendor/lib/libapu_mdw.so +vendor/lib/libapu_mdw_batch.so +vendor/lib/libapusys.so +vendor/lib/libapusys_edma.so +vendor/lib/libarmnn.so +vendor/lib/libarmnn_ndk.mtk.vndk.so +vendor/lib/libasn1c_core.so +vendor/lib/libasn1c_mapi.so +vendor/lib/libasn1c_mdmi.so +vendor/lib/libaualgo_azp_component.so +vendor/lib/libaualgo_sst_component.so +vendor/lib/libaudio_param_parser-vnd.so +vendor/lib/libaudiocompensationfilter_vendor.so +vendor/lib/libaudiocompensationfilterc.so +vendor/lib/libaudiocomponentengine_vendor.so +vendor/lib/libaudiocomponentenginec.so +vendor/lib/libaudiocustparam_vendor.so +vendor/lib/libaudiodcrflt_vendor.so +vendor/lib/libaudiofmtconv.so +vendor/lib/libaudioloudc.so +vendor/lib/libaudioprimarydevicehalifclient.so +vendor/lib/libaudiosmartpamtk.so +vendor/lib/libaurisysdemo.so +vendor/lib/libawinic_mtk_aurisys.so +vendor/lib/libbessound_hd_mtk_vendor.so +vendor/lib/libblisrc32_vendor.so +vendor/lib/libbluetooth_hw_test.so +vendor/lib/libbluetooth_mtk_pure.so +vendor/lib/libbluetooth_relayer.so +vendor/lib/libbluetoothem_mtk.so +vendor/lib/libcapctrl.so +vendor/lib/libcares_naptr.so +vendor/lib/libcarrierconfig.so +vendor/lib/libccci_util.so +vendor/lib/libcmdl.so +vendor/lib/libcmdl_ndk.mtk.vndk.so +vendor/lib/libconnfem.so +vendor/lib/libcppcose_rkp.so +vendor/lib/libcustom_nvram.so +vendor/lib/libcvsd_mtk.so +vendor/lib/libdecrypt.so +vendor/lib/libdre.so +vendor/lib/libdynamiclog.so +vendor/lib/libfgauge_gm30.so +vendor/lib/libfile_op.so +vendor/lib/libflatbuffers-cpp.so +vendor/lib/libfp_ext_svc2.so +vendor/lib/libfpc.sensortest.hal.so +vendor/lib/libgpudataproducer.so +vendor/lib/libgralloctypes_mtk.so +vendor/lib/libgz_gp_client.so +vendor/lib/libgz_uree.so +vendor/lib/libh264dec_customize.so +vendor/lib/libh264dec_sa.ca7.so +vendor/lib/libh264dec_sd.ca7.so +vendor/lib/libh264dec_se.ca7.so +vendor/lib/libhdrvideo.so +vendor/lib/libhevce_sb.ca7.android.so +vendor/lib/libhwm.so +vendor/lib/libicd_decoder.so +vendor/lib/libimgsensorca.so +vendor/lib/libipsec_ims_shr.so +vendor/lib/libiqi_bridge.so +vendor/lib/libispcameraca.so +vendor/lib/libkeymint.so +vendor/lib/liblog_vendor.so +vendor/lib/libmemtrack_GL.so +vendor/lib/libminiui.so +vendor/lib/libmmprofile.so +vendor/lib/libmnetlink_v104.so +vendor/lib/libmp4enc_sa.ca7.so +vendor/lib/libmpvr.so +vendor/lib/libmsbc_mtk.so +vendor/lib/libmtk_bsg.so +vendor/lib/libmtkares.so +vendor/lib/libmtklimiter_vendor.so +vendor/lib/libmtknetutils.so +vendor/lib/libmtkperf_client_vendor.so +vendor/lib/libmtkshifter_vendor.so +vendor/lib/libmtkspparser.so +vendor/lib/libmtkspparser_swb.so +vendor/lib/libmtksysutils.so +vendor/lib/libmvpu_cic_ci_compiler.so +vendor/lib/libmvpu_clc_cl_compiler.so +vendor/lib/libmvpu_clc_mvpu_debuginfo.so +vendor/lib/libmvpu_clc_mvpu_elf.so +vendor/lib/libmvpu_clc_mvpu_utility.so +vendor/lib/libmvpu_clc_vpu_isa.so +vendor/lib/libmvpu_config.so +vendor/lib/libmvpu_engine.so +vendor/lib/libmvpu_engine_pub.so +vendor/lib/libmvpu_pattern.so +vendor/lib/libmvpu_pattern_pub.so +vendor/lib/libmvpu_runtime.so +vendor/lib/libmvpu_runtime_pub.so +vendor/lib/libmvpuop_mtk_cv.so +vendor/lib/libmvpuop_mtk_nn.so +vendor/lib/libneuroeara.so +vendor/lib/libneuron_adapter_mgvi.so +vendor/lib/libneuron_graph_delegate.mtk.so +vendor/lib/libneuropilot_hal_utils.so +vendor/lib/libnir_neon_driver.so +vendor/lib/libnir_neon_driver_ndk.mtk.vndk.so +vendor/lib/libnpagent.so +vendor/lib/libnwk_opt_halwrap_vendor.so +vendor/lib/libnxp_extamp_intf.so +vendor/lib/liboem_specific.so +vendor/lib/libperfctl_vendor.so +vendor/lib/libpkip.so +vendor/lib/libpkm.so +vendor/lib/libpn557_fw.so +vendor/lib/libpn560_fw.so +vendor/lib/libportrait_repair_ppl3_ocl.so +vendor/lib/libpowerhal.so +vendor/lib/libpowerhalwrap_vendor.so +vendor/lib/libpq_cust_base.so +vendor/lib/librcs_interface.so +vendor/lib/librcs_volte_core.so +vendor/lib/librgbwlightsensor.so +vendor/lib/librpc.so +vendor/lib/librt_extamp_intf.so +vendor/lib/libruy.so +vendor/lib/libscltm.so +vendor/lib/libsimlock.so +vendor/lib/libsimmelock.so +vendor/lib/libsn100u_fw.so +vendor/lib/libsn220u_fw.so +vendor/lib/libsoft_attestation_cert.so +vendor/lib/libspeech_enh_lib.so +vendor/lib/libspeechparser_vendor.so +vendor/lib/libstorage_otp.so +vendor/lib/libtflite_mtk.so +vendor/lib/libthha.so +vendor/lib/libtlcWidevineModularDrm.so +vendor/lib/libtpa.so +vendor/lib/libtranslator_mapi_v3.0.so +vendor/lib/libtranslator_mdmi_v2.8.2.so +vendor/lib/libtranslator_utils.so +vendor/lib/libudf.so +vendor/lib/liburee_meta_drmkeyinstall.so +vendor/lib/libvcodec_oal.so +vendor/lib/libvcodec_utility.so +vendor/lib/libvcodec_utility_plat.mt6789.so +vendor/lib/libvcodec_utility_plat.mt6855.so +vendor/lib/libvcodec_utility_plat.mt6879.so +vendor/lib/libvcodec_utility_v3a.so +vendor/lib/libvcodecdrv.so +vendor/lib/libvcodecdrv_header_stub.so +vendor/lib/libvcodecdrv_v3a.so +vendor/lib/libviagpsrpc.so +vendor/lib/libvp8dec_sa.ca7.so +vendor/lib/libvp8enc_sa.ca7.so +vendor/lib/libvp9dec_sa.ca7.so +vendor/lib/libvpu5.so +vendor/lib/libvpud_vcodec.so +vendor/lib/libvpudv3a_vcodec.so +vendor/lib/libvpx.so +vendor/lib/libwapi.so +vendor/lib/libwpa_client.so +vendor/lib/meta_wifi_data.so +vendor/lib/mot_cancunf_hi1634q_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_hi1634q_mipi_raw_tuning.so +vendor/lib/mot_cancunf_jns_yova_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_jns_yova_mipi_raw_tuning.so +vendor/lib/mot_cancunf_ov50d_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_ov50d_mipi_raw_tuning.so +vendor/lib/mot_cancunf_s5k3p9sp04_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_s5k3p9sp04_mipi_raw_tuning.so +vendor/lib/mot_cancunf_s5k4h7_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_s5k4h7_mipi_raw_tuning.so +vendor/lib/mot_cancunf_s5kjns_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_s5kjns_mipi_raw_tuning.so +vendor/lib/mot_cancunf_sc202_mipi_raw_row_tuning.so +vendor/lib/mot_cancunf_sc202_mipi_raw_tuning.so +vendor/lib/motorola.hardware.tcmd@1.0.so +vendor/lib/mtk000_mipi_raw_tuning.so +vendor/lib/vendor.fpsensor.hardware.fpsensorhidlsvc@2.0.so +vendor/lib/vendor.mediatek.hardware.apmonitor@2.0.so +vendor/lib/vendor.mediatek.hardware.apuware.utils@2.0.so +vendor/lib/vendor.mediatek.hardware.mdmonitor@1.0.so +vendor/lib/vendor.mediatek.hardware.netdagent@1.0.so +vendor/lib/vendor.mediatek.hardware.neuropilot.agent@1.0.so +vendor/lib/vendor.mediatek.hardware.neuropilot.agent@1.1.so +vendor/lib/vendor.mediatek.hardware.neuropilot.agent@1.2.so +vendor/lib/vendor.mediatek.hardware.nvram@1.0.so +vendor/lib/vendor.mediatek.hardware.nvram@1.1.so +vendor/lib/vendor.mediatek.hardware.nwk_opt@1.0.so +vendor/lib64/hw/mt6855/vendor.mediatek.hardware.camera.ccap@1.0-impl.so +vendor/lib64/hw/audio_policy.stub.so +vendor/lib64/hw/fpsensor_fingerprint.default.so +vendor/lib64/hw/libMcGatekeeper.so +vendor/lib64/hw/libSoftGatekeeper.so +vendor/lib64/hw/thermal_hal.so +vendor/lib64/hw/vendor.mediatek.hardware.camera.ccap@1.0-impl.so +vendor/lib64/hw/vendor.mediatek.hardware.nvram@1.1-impl.so +vendor/lib64/mt6855/lib3a.dce.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_E2EHDR_Preview.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_E2EHDR_Video.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Face_Capture.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Flash_Capture.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_HDR_Capture.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_HDR_Preview.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_HDR_Reconfig_Preview.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_HDR_Reconfig_Video.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_HDR_Video.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_N3D_Capture.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_N3D_Preview.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_N3D_Video.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_P1_YUV.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Scene_Capture.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Scene_Capture_4cell.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Scene_Preview.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Scene_Preview_4k.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Scene_Preview_ZSD_Flash.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Video_1080.so +vendor/lib64/mt6855/libCamera_mtk000mipiraw_Video_4k.so +vendor/lib64/mt6855/libDR.so +vendor/lib64/mt6855/libPVROCL.so +vendor/lib64/mt6855/libPVRScopeServices.so +vendor/lib64/mt6855/libaaa_ltm.so +vendor/lib64/mt6855/libaaa_ltmx.so +vendor/lib64/mt6855/libacdk.so +vendor/lib64/mt6855/libaiawb_moon_model.so +vendor/lib64/mt6855/libaiawb_sun_model.so +vendor/lib64/mt6855/libaibc_tuning.so +vendor/lib64/mt6855/libaibc_tuning_p2.so +vendor/lib64/mt6855/libaibc_tuning_p3.so +vendor/lib64/mt6855/libaibc_tuning_p4.so +vendor/lib64/mt6855/libaidepth_tuning.so +vendor/lib64/mt6855/libcam.hal3a.cctsvr.so +vendor/lib64/mt6855/libcam.hal3a.v3.dng.so +vendor/lib64/mt6855/libcam.halisp.common.so +vendor/lib64/mt6855/libcam.halisp.so +vendor/lib64/mt6855/libcam.isptuning.so +vendor/lib64/mt6855/libcameracustom.camera_exif.so +vendor/lib64/mt6855/libcameracustom.plugin.so +vendor/lib64/mt6855/libgpudataproducer.so +vendor/lib64/mt6855/libmemtrack_GL.so +vendor/lib64/mt6855/libmnl.so +vendor/lib64/mt6855/libmpvr.so +vendor/lib64/mt6855/libmtkcam_fwkutils.so +vendor/lib64/mt6855/libmtkcam_modulefactory_aaa.so +vendor/lib64/mt6855/libmtkcam_modulefactory_custom.so +vendor/lib64/mt6855/libmtkcam_modulefactory_drv.so +vendor/lib64/mt6855/libmtkcam_modulefactory_utils.so +vendor/lib64/mt6855/libneuron_adapter_mgvi.so +vendor/lib64/mt6855/libneuron_runtime.5.so +vendor/lib64/mt6855/libnir_neon_driver.so +vendor/lib64/mt6855/libpq_cust_base.so +vendor/lib64/mt6855/libvainr_model.so +vendor/lib64/mt6855/mot_cancunf_hi1634q_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_hi1634q_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_jns_yova_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_jns_yova_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_ov50d_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_ov50d_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5k3p9sp04_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5k4h7_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5k4h7_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5kjns_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_s5kjns_mipi_raw_tuning.so +vendor/lib64/mt6855/mot_cancunf_sc202_mipi_raw_row_tuning.so +vendor/lib64/mt6855/mot_cancunf_sc202_mipi_raw_tuning.so +vendor/lib64/mt6855/mtk000_mipi_raw_tuning.so +vendor/lib64/mtkcam/mt6855/libmtkcam_streaminfo_plugin-p1stt.so +vendor/lib64/mtkcam/libmtkcam_streaminfo_plugin-p1stt.so +vendor/lib64/APUWareApusysServer.so +vendor/lib64/APUWareHmpServer.so +vendor/lib64/APUWareUtilsServer.so +vendor/lib64/AVCSecureVdecCA.so +vendor/lib64/HEVCSecureVdecCA.so +vendor/lib64/VP9SecureVdecCA.so +vendor/lib64/com.fingerprints.extension@1.0.so +vendor/lib64/lbs_hidl_service-impl.so +vendor/lib64/lib3a.ae.pipe.so +vendor/lib64/lib3a.dce.so +vendor/lib64/libAVCSecureVencCA.so +vendor/lib64/libBasicModule.so +vendor/lib64/libDR.so +vendor/lib64/libMtkAinrEnh.so +vendor/lib64/libMtkSpeechEnh.so +vendor/lib64/libMtkSpeechEnh_swb.so +vendor/lib64/libPVROCL.so +vendor/lib64/libPVRScopeServices.so +vendor/lib64/libTEECommon.so +vendor/lib64/libVkLayer_mtk_rt_sdk.so +vendor/lib64/lib_ainr_enh.so +vendor/lib64/lib_eara_io_scndet.so +vendor/lib64/lib_eara_io_service.so +vendor/lib64/lib_eara_io_systracer.so +vendor/lib64/lib_eara_io_timer.so +vendor/lib64/lib_eara_io_util.so +vendor/lib64/lib_iir.so +vendor/lib64/libaaa_ltm.so +vendor/lib64/libaaa_ltmx.so +vendor/lib64/libaal_key.so +vendor/lib64/libacdk.so +vendor/lib64/libadropbox.so +vendor/lib64/libaiawb_moon_model.so +vendor/lib64/libaiawb_sun_model.so +vendor/lib64/libaibc_tuning.so +vendor/lib64/libaibc_tuning_p2.so +vendor/lib64/libaibc_tuning_p3.so +vendor/lib64/libaibc_tuning_p4.so +vendor/lib64/libaidepth_tuning.so +vendor/lib64/libalps.so +vendor/lib64/libapmonitor_vendor.so +vendor/lib64/libappgamepq.so +vendor/lib64/libapu_mdw.so +vendor/lib64/libapu_mdw_batch.so +vendor/lib64/libapusys.so +vendor/lib64/libapusys_edma.so +vendor/lib64/libarmnn.so +vendor/lib64/libarmnn_ndk.mtk.vndk.so +vendor/lib64/libasn1c_core.so +vendor/lib64/libasn1c_mapi.so +vendor/lib64/libasn1c_mdmi.so +vendor/lib64/libaualgo_azp_component.so +vendor/lib64/libaualgo_sst_component.so +vendor/lib64/libaudio_param_parser-vnd.so +vendor/lib64/libaudiocompensationfilter_vendor.so +vendor/lib64/libaudiocompensationfilterc.so +vendor/lib64/libaudiocomponentengine_vendor.so +vendor/lib64/libaudiocomponentenginec.so +vendor/lib64/libaudiocustparam_vendor.so +vendor/lib64/libaudiodcrflt_vendor.so +vendor/lib64/libaudiofmtconv.so +vendor/lib64/libaudioloudc.so +vendor/lib64/libaudioprimarydevicehalifclient.so +vendor/lib64/libaudiosmartpamtk.so +vendor/lib64/libaurisysdemo.so +vendor/lib64/libawinic_mtk_aurisys.so +vendor/lib64/libbessound_hd_mtk_vendor.so +vendor/lib64/libbinderdebug.so +vendor/lib64/libblisrc32_vendor.so +vendor/lib64/libbluetooth_hw_test.so +vendor/lib64/libbluetooth_mtk_pure.so +vendor/lib64/libbluetooth_relayer.so +vendor/lib64/libbluetoothem_mtk.so +vendor/lib64/libcam.hal3a.cctsvr.so +vendor/lib64/libcam.hal3a.v3.dng.so +vendor/lib64/libcam.halisp.common.so +vendor/lib64/libcam.halisp.so +vendor/lib64/libcam.isptuning.so +vendor/lib64/libcamalgo.WarpMapResizer.so +vendor/lib64/libcamalgo.hdr10p.so +vendor/lib64/libcamalgo.mcnr.so +vendor/lib64/libcamalgo.n3d.so +vendor/lib64/libcamalgo.vsdofUtil.so +vendor/lib64/libcameracustom.camera_exif.so +vendor/lib64/libcameracustom.plugin.so +vendor/lib64/libcapctrl.so +vendor/lib64/libcares_naptr.so +vendor/lib64/libcarrierconfig.so +vendor/lib64/libccci_util.so +vendor/lib64/libcmdl.so +vendor/lib64/libcmdl_ndk.mtk.vndk.so +vendor/lib64/libcodec2_soft_ac4dec.so +vendor/lib64/libcodec2_soft_ddpdec.so +vendor/lib64/libconnfem.so +vendor/lib64/libcustom_nvram.so +vendor/lib64/libcvsd_mtk.so +vendor/lib64/libdecrypt.so +vendor/lib64/libdre.so +vendor/lib64/libdynamiclog.so +vendor/lib64/libfeaturepolicy.so +vendor/lib64/libfft_vendor.so +vendor/lib64/libfgauge_gm30.so +vendor/lib64/libfile_op.so +vendor/lib64/libflatbuffers-cpp.so +vendor/lib64/libforkexecwrap.so +vendor/lib64/libfp_ext_svc2.so +vendor/lib64/libfpc.sensortest.hal.so +vendor/lib64/libgpudataproducer.so +vendor/lib64/libgralloctypes_mtk.so +vendor/lib64/libgwsd-ril.so +vendor/lib64/libgwsdv2-ril.so +vendor/lib64/libgwsdv3-ril.so +vendor/lib64/libgz_gp_client.so +vendor/lib64/libgz_uree.so +vendor/lib64/libhdrvideo.so +vendor/lib64/libhevce_sb.ca7.android.so +vendor/lib64/libhfmanagerwrapper.so +vendor/lib64/libhwm.so +vendor/lib64/libicd_decoder.so +vendor/lib64/libifcutils_mtk.so +vendor/lib64/libimgsensorca.so +vendor/lib64/libipsec_ims_shr.so +vendor/lib64/libiqi_bridge.so +vendor/lib64/libispcameraca.so +vendor/lib64/libkmsetkey.so +vendor/lib64/liblog_vendor.so +vendor/lib64/libmemtrack_GL.so +vendor/lib64/libminiui.so +vendor/lib64/libmipc.so +vendor/lib64/libmmagent.so +vendor/lib64/libmmprofile.so +vendor/lib64/libmnetlink_v104.so +vendor/lib64/libmnl.so +vendor/lib64/libmpvr.so +vendor/lib64/libmsbc_mtk.so +vendor/lib64/libmtk-ril.so +vendor/lib64/libmtk-rilop.so +vendor/lib64/libmtk_bsg.so +vendor/lib64/libmtkares.so +vendor/lib64/libmtkcam_fdWarpConvert.so +vendor/lib64/libmtkcam_fwkutils.so +vendor/lib64/libmtkcam_modulefactory_aaa.so +vendor/lib64/libmtkcam_modulefactory_custom.so +vendor/lib64/libmtkcam_modulefactory_drv.so +vendor/lib64/libmtkcam_modulefactory_utils.so +vendor/lib64/libmtkisp_metadata_v2.so +vendor/lib64/libmtklimiter_vendor.so +vendor/lib64/libmtkmipc-ril.so +vendor/lib64/libmtkmipc-rilop.so +vendor/lib64/libmtknetcap.so +vendor/lib64/libmtknetutils.so +vendor/lib64/libmtkperf_client_vendor.so +vendor/lib64/libmtkshifter_vendor.so +vendor/lib64/libmtkspparser.so +vendor/lib64/libmtkspparser_swb.so +vendor/lib64/libmtksysutils.so +vendor/lib64/libmtktinyxml.so +vendor/lib64/libmvpu_cic_ci_compiler.so +vendor/lib64/libmvpu_clc_cl_compiler.so +vendor/lib64/libmvpu_clc_mvpu_debuginfo.so +vendor/lib64/libmvpu_clc_mvpu_elf.so +vendor/lib64/libmvpu_clc_mvpu_utility.so +vendor/lib64/libmvpu_clc_vpu_isa.so +vendor/lib64/libmvpu_config.so +vendor/lib64/libmvpu_engine.so +vendor/lib64/libmvpu_engine_pub.so +vendor/lib64/libmvpu_pattern.so +vendor/lib64/libmvpu_pattern_pub.so +vendor/lib64/libmvpu_runtime.so +vendor/lib64/libmvpu_runtime_pub.so +vendor/lib64/libmvpuop_mtk_cv.so +vendor/lib64/libmvpuop_mtk_nn.so +vendor/lib64/libneuroeara.so +vendor/lib64/libneuron_adapter_mgvi.so +vendor/lib64/libneuron_graph_delegate.mtk.so +vendor/lib64/libneuron_platform.so +vendor/lib64/libneuron_runtime.5.so +vendor/lib64/libneuropilot_hal_utils.so +vendor/lib64/libnir_neon_driver.so +vendor/lib64/libnir_neon_driver_ndk.mtk.vndk.so +vendor/lib64/libnpagent.so +vendor/lib64/libnpagent_server.so +vendor/lib64/libnwk_opt_halwrap_vendor.so +vendor/lib64/libnxp_extamp_intf.so +vendor/lib64/liboem_specific.so +vendor/lib64/libperfctl_vendor.so +vendor/lib64/libpkm.so +vendor/lib64/libpn557_fw.so +vendor/lib64/libpn560_fw.so +vendor/lib64/libportrait_repair_ppl3_ocl.so +vendor/lib64/libpowerhal.so +vendor/lib64/libpowerhalwrap_vendor.so +vendor/lib64/libpq_cust_base.so +vendor/lib64/librgbwlightsensor.so +vendor/lib64/librpc.so +vendor/lib64/librsumodem.so +vendor/lib64/librt_extamp_intf.so +vendor/lib64/libruy.so +vendor/lib64/libscltm.so +vendor/lib64/libsimlock.so +vendor/lib64/libsimmelock.so +vendor/lib64/libsn100u_fw.so +vendor/lib64/libsn220u_fw.so +vendor/lib64/libspeech_enh_lib.so +vendor/lib64/libspeechparser_vendor.so +vendor/lib64/libstfactory-vendor.so +vendor/lib64/libstorage_otp.so +vendor/lib64/libtflite_mtk.so +vendor/lib64/libthha.so +vendor/lib64/libtlcWidevineModularDrm.so +vendor/lib64/libtranslator_mapi_v3.0.so +vendor/lib64/libtranslator_mdmi_v2.8.2.so +vendor/lib64/libtranslator_utils.so +vendor/lib64/libtrm.so +vendor/lib64/libudf.so +vendor/lib64/liburee_meta_drmkeyinstall.so +vendor/lib64/libvainr_model.so +vendor/lib64/libvcodec_oal.so +vendor/lib64/libvcodecdrv_header_stub.so +vendor/lib64/libvia-ril.so +vendor/lib64/libviagpsrpc.so +vendor/lib64/libviamipc-ril.so +vendor/lib64/libvpu.so +vendor/lib64/libvpu5.so +vendor/lib64/libwapi.so +vendor/lib64/libwifitest.so +vendor/lib64/libwpa_client.so +vendor/lib64/libwpfa.so +vendor/lib64/libz_stable.so +vendor/lib64/meta_wifi_data.so +vendor/lib64/mot_cancunf_hi1634q_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_hi1634q_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_jns_yova_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_jns_yova_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_ov50d_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_ov50d_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_s5k3p9sp04_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_s5k3p9sp04_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_s5k4h7_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_s5k4h7_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_s5kjns_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_s5kjns_mipi_raw_tuning.so +vendor/lib64/mot_cancunf_sc202_mipi_raw_row_tuning.so +vendor/lib64/mot_cancunf_sc202_mipi_raw_tuning.so +vendor/lib64/motorola.hardware.fdrcontrol@1.0.so +vendor/lib64/motorola.hardware.fdrcontrol@1.1.so +vendor/lib64/motorola.hardware.fdrcontrol@1.2.so +vendor/lib64/motorola.hardware.mtk.fm-V1-ndk_platform.so +vendor/lib64/motorola.hardware.sarwifi-V1-ndk_platform.so +vendor/lib64/motrilutils.so +vendor/lib64/mtk000_mipi_raw_tuning.so +vendor/lib64/nwk_opt_imp.so +vendor/lib64/vendor.fpsensor.hardware.fpsensorhidlsvc@2.0.so +vendor/lib64/vendor.mediatek.hardware.apmonitor@2.0.so +vendor/lib64/vendor.mediatek.hardware.apuware.apusys@2.0.so +vendor/lib64/vendor.mediatek.hardware.apuware.apusys@2.1.so +vendor/lib64/vendor.mediatek.hardware.apuware.hmp@1.0.so +vendor/lib64/vendor.mediatek.hardware.apuware.utils@2.0.so +vendor/lib64/vendor.mediatek.hardware.atci@1.0.so +vendor/lib64/vendor.mediatek.hardware.camera.ccap@1.0.so +vendor/lib64/vendor.mediatek.hardware.clientapi@1.0.so +vendor/lib64/vendor.mediatek.hardware.dmc@1.0.so +vendor/lib64/vendor.mediatek.hardware.dmc@1.1.so +vendor/lib64/vendor.mediatek.hardware.dmc@1.2.so +vendor/lib64/vendor.mediatek.hardware.lbs@1.0.so +vendor/lib64/vendor.mediatek.hardware.mdmonitor@1.0.so +vendor/lib64/vendor.mediatek.hardware.netdagent@1.0.so +vendor/lib64/vendor.mediatek.hardware.neuropilot.agent@1.0.so +vendor/lib64/vendor.mediatek.hardware.neuropilot.agent@1.1.so +vendor/lib64/vendor.mediatek.hardware.neuropilot.agent@1.2.so +vendor/lib64/vendor.mediatek.hardware.nvram@1.0.so +vendor/lib64/vendor.mediatek.hardware.nvram@1.1.so +vendor/lib64/vendor.mediatek.hardware.nwk_opt@1.0.so +vendor/lib64/vendor.mediatek.hardware.radio_op@3.0.so +vendor/lib64/vendor.trustonic.alps.alps_device@1.0.so +vendor/lib64/vendor.trustonic.alps.alps_device@1.1.so +vendor/odm/etc/permissions/sku_b/unavail.android.hardware.nfc.hce.xml +vendor/odm/etc/permissions/sku_b/unavail.android.hardware.nfc.hcef.xml +vendor/odm/etc/permissions/sku_b/unavail.android.hardware.nfc.uicc.xml +vendor/odm/etc/permissions/sku_b/unavail.android.hardware.nfc.xml +vendor/odm/etc/permissions/sku_d/unavail.android.hardware.nfc.hce.xml +vendor/odm/etc/permissions/sku_d/unavail.android.hardware.nfc.hcef.xml +vendor/odm/etc/permissions/sku_d/unavail.android.hardware.nfc.uicc.xml +vendor/odm/etc/permissions/sku_d/unavail.android.hardware.nfc.xml +vendor/odm/etc/permissions/sku_de/android.hardware.nfc.ese.xml +vendor/odm/etc/permissions/sku_de/android.hardware.se.omapi.ese.xml +vendor/odm/etc/permissions/sku_e/android.hardware.nfc.ese.xml +vendor/odm/etc/permissions/sku_e/android.hardware.se.omapi.ese.xml +vendor/odm/etc/vintf/manifest_b.xml +vendor/odm/etc/vintf/manifest_d.xml +vendor/odm/etc/vintf/manifest_de.xml +vendor/odm/etc/vintf/manifest_dn.xml +vendor/odm/etc/vintf/manifest_e.xml +vendor/odm/etc/vintf/manifest_n.xml +vendor/res/images/lcd_test_00.png +vendor/res/images/lcd_test_01.png +vendor/res/images/lcd_test_02.png +vendor/res/sound/ringtone.wav +vendor/res/sound/testpattern1.wav +vendor/usr/idc/uinput-fpc.idc +vendor/usr/idc/uinput-fpsensor.idc +vendor/usr/idc/uinput-goodix.idc +vendor/usr/keylayout/ReadyForAirRemote_Consumer_Control.kl +vendor/usr/keylayout/ReadyForAirRemote_Keyboard.kl +vendor/usr/keylayout/uinput-fpc.kl +vendor/usr/keylayout/uinput-fpsensor.kl +vendor/usr/keylayout/uinput_nav.kl +vendor/ro.prop +vendor/rw.prop diff --git a/rootdir/Android.bp b/rootdir/Android.bp new file mode 100644 index 0000000..d30e9f3 --- /dev/null +++ b/rootdir/Android.bp @@ -0,0 +1,325 @@ +// +// Copyright (C) 2025 The LineageOS Project +// +// SPDX-License-Identifier: Apache-2.0 +// + +// Init scripts +sh_binary { + name: "apanic_annotate.sh", + src: "bin/apanic_annotate.sh", + vendor: true, +} + +sh_binary { + name: "apanic_copy.sh", + src: "bin/apanic_copy.sh", + vendor: true, +} + +sh_binary { + name: "apanic_mtk.sh", + src: "bin/apanic_mtk.sh", + vendor: true, +} + +sh_binary { + name: "apanic_save.sh", + src: "bin/apanic_save.sh", + vendor: true, +} + +sh_binary { + name: "hardware_revisions.sh", + src: "bin/hardware_revisions.sh", + vendor: true, +} + +sh_binary { + name: "init.insmod.sh", + src: "bin/init.insmod.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.backup.trustlet.sh", + src: "bin/init.mmi.backup.trustlet.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.block_perm.sh", + src: "bin/init.mmi.block_perm.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.boot.sh", + src: "bin/init.mmi.boot.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.modem-rfs.sh", + src: "bin/init.mmi.modem-rfs.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.modules.sh", + src: "bin/init.mmi.modules.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.shutdown.sh", + src: "bin/init.mmi.shutdown.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.touch.sh", + src: "bin/init.mmi.touch.sh", + vendor: true, +} + +sh_binary { + name: "init.mmi.usb.sh", + src: "bin/init.mmi.usb.sh", + vendor: true, +} + +sh_binary { + name: "init.oem.fingerprint2.sh", + src: "bin/init.oem.fingerprint2.sh", + vendor: true, +} + +sh_binary { + name: "init.oem.hw.sh", + src: "bin/init.oem.hw.sh", + vendor: true, +} + +sh_binary { + name: "pstore_annotate.sh", + src: "bin/pstore_annotate.sh", + vendor: true, +} + +sh_binary { + name: "vendor.mmi.cxp.sh", + src: "bin/vendor.mmi.cxp.sh", + vendor: true, +} + +// Init configuration files +prebuilt_etc { + name: "apanic.rc", + src: "etc/apanic.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "factory_init.connectivity.common.rc", + src: "etc/factory_init.connectivity.common.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "factory_init.connectivity.rc", + src: "etc/factory_init.connectivity.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "factory_init.project.rc", + src: "etc/factory_init.project.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "factory_init.rc", + src: "etc/factory_init.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.aee.rc", + src: "etc/init.aee.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.cgroup.rc", + src: "etc/init.cgroup.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.connectivity.common.rc", + src: "etc/init.connectivity.common.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.connectivity.rc", + src: "etc/init.connectivity.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.backup.trustlet.rc", + src: "etc/init.mmi.backup.trustlet.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.chipset.rc", + src: "etc/init.mmi.chipset.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.overlay.rc", + src: "etc/init.mmi.overlay.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.rc", + src: "etc/init.mmi.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.tcmd.rc", + src: "etc/init.mmi.tcmd.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mmi.usb.configfs.rc", + src: "etc/init.mmi.usb.configfs.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.modem.rc", + src: "etc/init.modem.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mt6855.rc", + src: "etc/init.mt6855.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mt6855.usb.rc", + src: "etc/init.mt6855.usb.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.mtkgki.rc", + src: "etc/init.mtkgki.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.project.rc", + src: "etc/init.project.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init.sensor_2_0.rc", + src: "etc/init.sensor_2_0.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "init_connectivity.rc", + src: "etc/init_connectivity.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.connectivity.common.rc", + src: "etc/meta_init.connectivity.common.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.connectivity.rc", + src: "etc/meta_init.connectivity.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.modem.rc", + src: "etc/meta_init.modem.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.project.rc", + src: "etc/meta_init.project.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.rc", + src: "etc/meta_init.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "meta_init.vendor.rc", + src: "etc/meta_init.vendor.rc", + sub_dir: "init/hw", + vendor: true, +} + +prebuilt_etc { + name: "multi_init.rc", + src: "etc/multi_init.rc", + sub_dir: "init/hw", + vendor: true, +} + +// fstab +prebuilt_etc { + name: "fstab.enablezramwb", + src: "etc/fstab.enablezramwb", + vendor: true, +} diff --git a/rootdir/Android.mk b/rootdir/Android.mk new file mode 100644 index 0000000..b86c2b6 --- /dev/null +++ b/rootdir/Android.mk @@ -0,0 +1,9 @@ +# +# Copyright (C) 2025 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +# Recovery init configuration files diff --git a/rootdir/bin/apanic_annotate.sh b/rootdir/bin/apanic_annotate.sh new file mode 100644 index 0000000..34da986 --- /dev/null +++ b/rootdir/bin/apanic_annotate.sh @@ -0,0 +1,53 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2012, Motorola Mobility LLC, All rights reserved. +# +# The purpose of this script is to annotate panic dumps with useful information +# about the context of the event. +# + +export PATH=/vendor/bin:/system/bin:$PATH + +annotate() +{ + VAL=`$2` + [ "$VAL" ] || return + + echo "$1: $VAL" > /sys/fs/pstore/annotate-ramoops +} + +case $1 in + build*) + annotate "Build number" "getprop ro.build.display.id" + annotate "Build config" "getprop ro.build.config.version" + annotate "Kernel version" "cat /proc/sys/kernel/osrelease" + ;; + baseband*) + annotate "Baseband version" "getprop gsm.version.baseband" + ;; +esac + +# check for pstore files and copy them to the /data/dontpanic +if [ -e /sys/fs/pstore/console-ramoops ] +then + cp /sys/fs/pstore/console-ramoops /data/vendor/dontpanic/last_kmsg + chown root:log /data/vendor/dontpanic/last_kmsg + chmod 0640 /data/vendor/dontpanic/last_kmsg + if [ -e /sys/fs/pstore/annotate-ramoops ] + then + cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/last_kmsg + fi +fi + +if [ -e /sys/fs/pstore/dmesg-ramoops-0 ] +then + cp /sys/fs/pstore/dmesg-ramoops-0 /data/vendor/dontpanic/apanic_console + chown root:log /data/vendor/dontpanic/apanic_console + chmod 0640 /data/vendor/dontpanic/apanic_console + if [ -e /sys/fs/pstore/annotate-ramoops ] + then + cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/apanic_console + fi + rm /sys/fs/pstore/dmesg-ramoops-0 +fi +kpgather diff --git a/rootdir/bin/apanic_copy.sh b/rootdir/bin/apanic_copy.sh new file mode 100644 index 0000000..012f104 --- /dev/null +++ b/rootdir/bin/apanic_copy.sh @@ -0,0 +1,47 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2015, Motorola Mobility LLC, All rights reserved. +# +# The purpose of this script is to read panic dumps to /data and dropbox +# for issue report +# + +export PATH=/vendor/bin:/system/bin:$PATH + +while getopts i op; +do + case $op in + i) ignore_apanic_logs=1;; + esac +done + +if [ -z "$ignore_apanic_logs" ]; then + # read log from "kpan" partition to /data/dontpanic + kpreadwrite r + # write panic/wdt report to dropbox + kpgather +else + apanic_logcopy=$(getprop 'ro.vendor.bootreason') + if [ "$apanic_logcopy" == "coldboot" ]; then + return 0 + fi +fi + +if [ -e /dev/block/bootdevice/by-name/logs ] ; then + BL_logs_parti=/dev/block/bootdevice/by-name/logs +elif [ -e /dev/block/bootdevice/by-name/logfs ] ; then + BL_logs_parti=/dev/block/bootdevice/by-name/logfs +elif [ -e /dev/block/by-name/logs ] ; then + BL_logs_parti=/dev/block/by-name/logs +elif [ -e /dev/block/by-name/logfs ] ; then + BL_logs_parti=/dev/block/by-name/logfs +else + BL_logs_parti= +fi + +if [ $BL_logs_parti ] +then + cat $BL_logs_parti > /data/vendor/dontpanic/BL_logs + chown root:log /data/vendor/dontpanic/BL_logs + chmod 0640 /data/vendor/dontpanic/BL_logs +fi diff --git a/rootdir/bin/apanic_mtk.sh b/rootdir/bin/apanic_mtk.sh new file mode 100644 index 0000000..a117851 --- /dev/null +++ b/rootdir/bin/apanic_mtk.sh @@ -0,0 +1,102 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2019, Motorola Mobility LLC, All rights reserved. +# +# The purpose of this script is to annotate panic dumps with useful information +# about the context of the event. +# + +export PATH=/vendor/bin:/system/bin:$PATH + +trigger=`getprop ro.vendor.boot.apanic.reason` +trigger_prop=`getprop ro.vendor.boot.apanic.prop` + +# script already running by boot reason, exit +if [[ $trigger_prop && $trigger == "boot" ]]; then + exit 0 +fi + +# run script by db property set and boot reason is not panic +if [[ $trigger_prop && $trigger == "prop" ]]; then + aee_trigger=`getprop vendor.debug.mtk.aeev.db` + kp_type=("KE" "HWT" "HW_Reboot" "ManualMRDump" "HANG") + kp_found=0 + + # check panic type + if [ ! "$aee_trigger" ]; then + exit 0 + fi + + for va in ${kp_type[@]}; do + has_str=$(echo $aee_trigger | grep "${va}") + if [[ "$has_str" != "" ]]; then + kp_found=1 + break + fi + done + + if [ $kp_found == 0 ]; then + exit 0 + fi +fi + +if [ ! -d /data/vendor/dontpanic ] +then + mkdir /data/vendor/dontpanic +fi + +# check for pstore files and copy them to the /data/dontpanic +if [ -e /sys/fs/pstore/console-ramoops* ] +then + cp /sys/fs/pstore/console-ramoops* /data/vendor/dontpanic/last_kmsg + chown root:log /data/vendor/dontpanic/last_kmsg + chmod 0640 /data/vendor/dontpanic/last_kmsg + if [ -e /sys/fs/pstore/annotate-ramoops ] + then + cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/last_kmsg + fi + + cat /proc/bootinfo >> /data/vendor/dontpanic/last_kmsg + cat /proc/version >> /data/vendor/dontpanic/last_kmsg + + #storage + s_path="/sys/storage/" + storage="STORAGE: Type: "`cat ${s_path}type`", Vendor: "`cat ${s_path}vendor` + storage=$storage", Size: "`cat ${s_path}size`", Model: "`cat ${s_path}model`", FW: "`cat ${s_path}fw` + echo $storage >> /data/vendor/dontpanic/last_kmsg + + #ram + r_path="/sys/ram/" + ram="RAM: Vendor: "`cat ${r_path}info`", MR5: "`cat ${r_path}mr5` + ram=$ram", MR6: "`cat ${r_path}mr6`", MR7: "`cat ${r_path}mr7`", MR8: "`cat ${r_path}mr8` + echo $ram >> /data/vendor/dontpanic/last_kmsg + +fi + +if [ -e /sys/fs/pstore/dmesg-ramoops-0 ] +then + cp /sys/fs/pstore/dmesg-ramoops-0 /data/vendor/dontpanic/apanic_console + chown root:log /data/vendor/dontpanic/apanic_console + chmod 0640 /data/vendor/dontpanic/apanic_console + if [ -e /sys/fs/pstore/annotate-ramoops ] + then + cat /sys/fs/pstore/annotate-ramoops >> /data/vendor/dontpanic/apanic_console + fi +fi + +kpgather + +if [ -e /dev/block/by-name/logs ] ; then + BL_logs_parti=/dev/block/by-name/logs +elif [ -e /dev/block/by-name/logfs ] ; then + BL_logs_parti=/dev/block/by-name/logfs +else + BL_logs_parti= +fi + +if [ $BL_logs_parti ] +then + cat $BL_logs_parti > /data/vendor/dontpanic/BL_logs + chown root:log /data/vendor/dontpanic/BL_logs + chmod 0640 /data/vendor/dontpanic/BL_logs +fi diff --git a/rootdir/bin/apanic_save.sh b/rootdir/bin/apanic_save.sh new file mode 100644 index 0000000..8b5c8ad --- /dev/null +++ b/rootdir/bin/apanic_save.sh @@ -0,0 +1,12 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2016, Motorola Mobility LLC, All rights reserved. +# +# The purpose of this script is to get panic dump from pstore fs, and then +# save to emmc, and then reboot device. +# + +export PATH=/vendor/bin:/system/bin:$PATH + +# write log from pstore to "kpan" partition +kpreadwrite w diff --git a/rootdir/bin/hardware_revisions.sh b/rootdir/bin/hardware_revisions.sh new file mode 100644 index 0000000..0c687f8 --- /dev/null +++ b/rootdir/bin/hardware_revisions.sh @@ -0,0 +1,408 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2013-2016, Motorola LLC All rights reserved. +# +# The purpose of this script is to compile information about the hardware +# versions of various devices on each unit. This is useful when searching +# through reported issues for correlations with certain hardware revisions. +# The information is collected from various locations in proc and sysfs (some +# of which are product-specific) and compiled into small, single-line text +# files in the userdata partition, one for each type of device. The format of +# these lines are as follows: +# +# MOTHREV-vX +# hw_name=XXXXX +# vendor_id=XXXXX +# hw_rev=XXXXX +# date=XXXXX +# lot_code=XXXXX +# fw_rev=XXXXX +# size=XXXXMB +# (components may also add additional fields to the ones above) +# +# The extact format of each field will be device-specific, but should be +# consistent across a particular hardware platform. Note that each revision +# data file is rewritten every time this script is called. This ensures that +# any future format changes to the revision files are picked up. +# +# While the method used to read the information should be consistent on a given +# platform, the specific path to a device's information may vary between +# products. The hardware_revisions.conf file provides a way to adjust those +# paths from the default. +# + +export PATH=/vendor/bin:$PATH + +scriptname=${0##*/} +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +# Output destination and permissions +OUT_PATH=/data/vendor/hardware_revisions +OUT_USR=system +OUT_GRP=system +OUT_PERM=0644 +OUT_PATH_PERM=0755 + +# Default paths to hardware information +PATH_RAM=/sys/ram +PATH_NVM=/sys/block/mmcblk0/device +PATH_STORAGE=/sys/storage +PATH_SDCARD=/sys/block/mmcblk1/device +# PATH_TOUCH_CLASS="/sys/class/touchscreen/"`cd /sys/class/touchscreen && ls */ic_ver | sed 's/ic_ver//g'` +PATH_TOUCH_MMI="/sys/class/touchscreen/" +PATH_TOUCH="/sys/bus/i2c/drivers/"`cd /sys/bus/i2c/drivers && ls */?-*/ic_ver | sed 's/ic_ver//g'` +PATH_TOUCH_SPI="/sys/bus/spi/drivers/"`cd /sys/bus/spi/drivers && ls */*.?/ic_ver | sed 's/ic_ver//g'` +PATH_DISPLAY=/sys/class/graphics/fb0 +PATH_DISPLAY_DRM=/sys/class/drm/card0-DSI-1 +PATH_DISPLAY_DRM_CLI=/sys/class/drm/card0-DSI-2 +PATH_DISPLAY_DEVICETREE=/sys/firmware/devicetree/base/chosen +PATH_PMIC=/sys/hardware_revisions/pmic + +# Product-specific overrides +[ -e /vendor/etc/hardware_revisions.conf ] && . /vendor/etc/hardware_revisions.conf + +# +# Clear out all revision data in this directory. If in the future we decide +# to remove a component, we want to make sure any old files are not present. +rm /data/vendor/hardware_revisions/* + +# +# Append one piece of revision data to a given file. If a value is blank, +# then nothing will be written. +# +# $1 - tag +# $2 - value +# $3 - file to write +write_one_revision_data() +{ + if [ -n "${2}" ]; then + VALUE="${2}" + echo "${1}=${VALUE}" >> ${3} + fi +} + +# +# Generate the common data contained for +# all hardware peripherals +# +# $1 - file to write to +# $2 - name +# $3 - vendor ID +# $4 - hardware revision +# $5 - date +# $6 - lot code +# $7 - firmware revision +create_common_revision_data() +{ + FILE="${1}" + echo "MOTHREV-v2" > ${FILE} + + write_one_revision_data "hw_name" "${2}" ${FILE} + write_one_revision_data "vendor_id" "${3}" ${FILE} + write_one_revision_data "hw_rev" "${4}" ${FILE} + write_one_revision_data "date" "${5}" ${FILE} + write_one_revision_data "lot_code" "${6}" ${FILE} + write_one_revision_data "fw_rev" "${7}" ${FILE} +} + +create_secondary_revision_data() +{ + FILE="${1}" + + write_one_revision_data "hw_name_s" "${2}" ${FILE} + write_one_revision_data "vendor_id_s" "${3}" ${FILE} + write_one_revision_data "hw_rev_s" "${4}" ${FILE} + write_one_revision_data "date_s" "${5}" ${FILE} + write_one_revision_data "lot_code_s" "${6}" ${FILE} + write_one_revision_data "fw_rev_s" "${7}" ${FILE} +} + +create_multiple_revision_data() +{ + local primary=0 + if [ $1 -eq $primary ] + then + create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + else + create_secondary_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + fi +} + +# +# Applies the appropriate file permissions to the +# hardware revision data file. +# +# $1 - file to write to +apply_revision_data_perms() +{ + chown ${OUT_USR}.${OUT_GRP} "${1}" + chmod ${OUT_PERM} "${1}" +} + +mkdir -p ${OUT_PATH} +chown ${OUT_USR}.${OUT_GRP} ${OUT_PATH} +chmod ${OUT_PATH_PERM} ${OUT_PATH} + + +# +# Compile ram +# +FILE="${OUT_PATH}/ram" +HNAME= +VEND= +HREV= +DATE= +FREV= +LOT_CODE= +INFO= +SIZE= +if [ -d "${PATH_RAM}" ] ; then + HNAME=`cat ${PATH_RAM}/type` + VEND=`cat ${PATH_RAM}/info` + VEND="${VEND%%:*:*}" + INFO="$(cat ${PATH_RAM}/mr5),$(cat ${PATH_RAM}/mr6),$(cat ${PATH_RAM}/mr7),\ +$(cat ${PATH_RAM}/mr8)" + SIZE=`cat ${PATH_RAM}/size` +fi +create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "" "" "" "" +write_one_revision_data "config_info" "${INFO}" "${FILE}" +write_one_revision_data "size" "${SIZE}" "${FILE}" +apply_revision_data_perms "${FILE}" + + +# +# Compile nvm +# +FILE="${OUT_PATH}/nvm" +HNAME= +VEND= +HREV= +DATE= +FREV= +LOT_CODE= +SIZE= +if [ -d "${PATH_NVM}" ] ; then + HNAME=`cat ${PATH_NVM}/type` + if [ -d "${PATH_STORAGE}" ] ; then + VEND=`cat ${PATH_STORAGE}/vendor` + SIZE=$((1024 * `cat ${PATH_STORAGE}/size | sed 's/[^0-9]//g'`)) + else + VEND=`cat ${PATH_NVM}/manfid` + SIZE=$((1024 * `getprop ro.boot.storage | sed 's/[^0-9]//g'`)) + fi + HREV=`cat ${PATH_NVM}/name` + DATE=`cat ${PATH_NVM}/date` + if [ -e ${PATH_NVM}/device_version -a -e ${PATH_NVM}/firmware_version ] ; then + FREV="$(cat ${PATH_NVM}/device_version),$(cat ${PATH_NVM}/firmware_version)" + else + FREV="$(cat ${PATH_NVM}/hwrev),$(cat ${PATH_NVM}/fwrev)" + fi + LOT_CODE="$(cat ${PATH_NVM}/csd)" +else + if [ -d "${PATH_STORAGE}" ] ; then + HNAME=`cat ${PATH_STORAGE}/type` + VEND=`cat ${PATH_STORAGE}/vendor` + HREV=`cat ${PATH_STORAGE}/model` + FREV=`cat ${PATH_STORAGE}/fw` + SIZE=$((1024 * `cat ${PATH_STORAGE}/size | sed 's/[^0-9]//g'`)) + fi +fi +create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" +write_one_revision_data "size" "${SIZE}" "${FILE}" +apply_revision_data_perms "${FILE}" + + +# +# Compile ap +# +FILE="${OUT_PATH}/ap" +HNAME= +VEND= +HREV= +DATE= +FREV= +LOT_CODE= +if [ -e "/proc/cpuinfo" ]; then + PREVIFS="$IFS" + IFS=" +" + for CPU in `cat /proc/cpuinfo` ; do + KEY="${CPU%:*}" + VAL="${CPU#*: }" + case "${KEY}" in + Processor*) HNAME="${VAL}" ;; + *implementer*) VEND="${VAL}" ;; + *variant*) HREV="${VAL}" ;; + *part*) HREV="${HREV},${VAL}" ;; + *revision*) HREV="${HREV},${VAL}" ;; + esac + done + IFS="$PREVIFS" +fi +create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "" "" "" +apply_revision_data_perms "${FILE}" + + +# +# copy pmic data +# +FILE="${OUT_PATH}/pmic" +if [ -e "/sys/hardware_revisions/pmic" ]; then + cat /sys/hardware_revisions/pmic > ${FILE} +else + create_common_revision_data "${FILE}" "" "" "" "" "" "" +fi +apply_revision_data_perms "${FILE}" + + +# +# copy display data +# PATH_DISPLAY_DRM is the sys file path name for DRM display driver +# PATH_DISPLAY is the path name for the old FB driver +# +copy_panel_revision_data() +{ + FILE="${OUT_PATH}/display" + HNAME= + VEND= + HREV= + local wait_cnt=0 + local has_lid + local lid=1 + lid_property=ro.vendor.mot.hw.lid + + has_lid=$(getprop $lid_property 2> /dev/null) + notice "has lid = ${has_lid} lid= ${lid}" + while [ "$wait_cnt" -lt 8 ]; do + if [ -e ${PATH_DISPLAY_DRM}/panelName -o -e ${PATH_DISPLAY}/panelName ]; then + if [ -e ${PATH_DISPLAY_DRM}/panelName ] ; then + HNAME=`cat ${PATH_DISPLAY_DRM}/panelName` + VEND=`cat ${PATH_DISPLAY_DRM}/panelSupplier` + HREV=`cat ${PATH_DISPLAY_DRM}/panelVer` + create_multiple_revision_data 0 "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "" "" "" + apply_revision_data_perms "${FILE}" + notice "creat primary panel hwrev" + else + HNAME=`cat ${PATH_DISPLAY}/panel_name` + VEND=`cat ${PATH_DISPLAY}/panel_supplier` + HREV=`cat ${PATH_DISPLAY}/panel_ver` + create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "" "" "" + apply_revision_data_perms "${FILE}" + fi + if [ $has_lid -eq $lid ] + then + if [ -e ${PATH_DISPLAY_DRM_CLI}/panelName ] ; then + HNAME=`cat ${PATH_DISPLAY_DRM_CLI}/panelName` + VEND=`cat ${PATH_DISPLAY_DRM_CLI}/panelSupplier` + HREV=`cat ${PATH_DISPLAY_DRM_CLI}/panelVer` + notice "creat CLI hwrev" + create_multiple_revision_data 1 "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "" "" "" + apply_revision_data_perms "${FILE}" + break; + fi + else + break; + fi + fi + sleep 1; + wait_cnt=$((wait_cnt+1)) + done +} +copy_panel_revision_data + +# +# Compile touchscreen +# +FILE="${OUT_PATH}/touchscreen" +HNAME= +VEND= +HREV= +DATE= +FREV= +LOT_CODE= + +# If there is the touchclass path, then access the nodes under the path to get the touch related +# information, otherwise access the path originally defined by the script. +if [ -e "${PATH_TOUCH_MMI}" ]; then + cd ${PATH_TOUCH_MMI} + let index=0 + for i in $(ls */ic_ver); do + class_name=`echo $i|sed 's/ic_ver//g'` + PATH_TOUCH_CLASS=${PATH_TOUCH_MMI}${class_name} + if [ -e "${PATH_TOUCH_CLASS}/vendor" ]; then + HNAME=`cat ${PATH_TOUCH_CLASS}/vendor` + ICVER=`cat -e ${PATH_TOUCH_CLASS}/ic_ver` + if [ "$HNAME" ]; then + VEND="${ICVER##*'Product ID: '}" + VEND="${VEND%%\$*}" + FREV="${ICVER##*'Build ID: '}" + FREV="${FREV%%\$*}" + LOT_CODE="${ICVER##*'Config ID: '}" + LOT_CODE="${LOT_CODE%%\$*}" + fi + create_multiple_revision_data "${index}" "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + #create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + apply_revision_data_perms "${FILE}" + let index++ + fi + done +elif [ -e "${PATH_TOUCH_SPI}/name" ]; then + HNAME=`cat ${PATH_TOUCH_SPI}/name` + ICVER=`cat -e ${PATH_TOUCH_SPI}/ic_ver` + case "$HNAME" in + focaltech*) + VEND="${ICVER##*'Product ID: '}" + VEND="${VEND%%\$*}" + FREV="${ICVER##*'Build ID: '}" + FREV="${FREV%%\$*}" + ;; + esac + create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + apply_revision_data_perms "${FILE}" +else + if [ -e "${PATH_TOUCH}/name" ]; then + HNAME=`cat ${PATH_TOUCH}/name` + ICVER=`cat -e ${PATH_TOUCH}/ic_ver` + case "${HNAME}" in + melfas*) + VEND="Melfas" + HREV="${ICVER##*'HW Revision:'}" + HREV="${HREV%%\$*}" + FREV="${ICVER##*'Core FW ver:'}" + FREV="${FREV%%\$*}" + ;; + cyttsp*) + VEND="${ICVER##*'Custom ID:'}" + VEND="${VEND%%\$*}" + VEND="Cypress,${VEND}" + HREV="${ICVER##*'TTSP Version:'}" + HREV="${HREV%%\$*}" + FREV="${ICVER##*'Application Version:'}" + FREV="${FREV%%\$*}" + ;; + atmxt*) + VEND="Atmel" + HREV="${ICVER##*'Family ID:'}" + HREV1="${ICVER##*'Variant ID:'}" + HREV="${HREV%%\$*},${HREV1%%\$*}" + FREV="${ICVER##*'Version:'}" + FREV1="${ICVER##*'Build:'}" + FREV="${FREV%%\$*},${FREV1%%\$*}" + ;; + synaptics*) + VEND="${ICVER##*'Product ID: '}" + VEND="${VEND%%\$*}" + FREV="${ICVER##*'Build ID: '}" + FREV="${FREV%%\$*}" + LOT_CODE="${ICVER##*'Config ID: '}" + LOT_CODE="${LOT_CODE%%\$*}" + ;; + esac + create_common_revision_data "${FILE}" "${HNAME}" "${VEND}" "${HREV}" "${DATE}" "${LOT_CODE}" "${FREV}" + apply_revision_data_perms "${FILE}" + fi +fi diff --git a/rootdir/bin/init.insmod.sh b/rootdir/bin/init.insmod.sh new file mode 100644 index 0000000..67b6b2f --- /dev/null +++ b/rootdir/bin/init.insmod.sh @@ -0,0 +1,34 @@ +#!/vendor/bin/sh + +######################################################## +### init.insmod.cfg format: ### +### ----------------------------------------------- ### +### [insmod|setprop|enable/moprobe] [path|prop name] ### +### ... ### +######################################################## + +if [ $# -eq 1 ]; then + cfg_file=$1 +else + exit 1 +fi + +if [ -f $cfg_file ]; then + while IFS="|" read -r action arg + do + case $action in + "insmod") insmod $arg ;; + "setprop") setprop $arg 1 ;; + "enable") echo 1 > $arg ;; + "modprobe") + case ${arg} in + "-b *" | "-b") + arg="-b $(cat /vendor/lib/modules/modules.load)" ;; + "*" | "") + arg="$(cat /vendor/lib/modules/modules.load)" ;; + esac + modprobe -a -d /vendor/lib/modules $arg ;; + esac + done < $cfg_file +fi + diff --git a/rootdir/bin/init.mmi.backup.trustlet.sh b/rootdir/bin/init.mmi.backup.trustlet.sh new file mode 100644 index 0000000..47b9953 --- /dev/null +++ b/rootdir/bin/init.mmi.backup.trustlet.sh @@ -0,0 +1,52 @@ +#!/vendor/bin/sh + +PATH=/sbin:/vendor/sbin:/vendor/bin:/vendor/xbin +export PATH + +scriptname=${0##*/} + +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +# Check if we are in the first bootup sequence. +hardware_state=$(getprop ro.boot.secure_hardware) +build_tags=$(getprop ro.build.tags) +vendor_build_type=$(getprop ro.vendor.build.type) +backup_state_prop=$(getprop persist.vendor.tl.already_backup) + +if [[ "$hardware_state" == "0" ]]; then + notice "Do not need trustlet backup, skip!" + exit 0 +fi + +# Exclude secure hw with user/userdebug testkey sw +if [[ "$hardware_state" == "1" && "$build_tags" == *"test-keys"* ]]; then + notice "Do not need trustlet backup, skip!" + exit 0 +fi + +# Exclude secure hw with factory userdebug releasekey sw +if [[ "$hardware_state" == "1" && "$vendor_build_type" == "userdebug" ]]; then + notice "Do not need trustlet backup, skip!" + exit 0 +fi + +if [[ "$backup_state_prop" == "true" ]]; then + notice "Trustlet already backed up, skip!" + exit 0 +fi + +# For Trustonic tl and drv backup. +if [ -d /vendor/app/mcRegistry/ ]; then + notice "Detecting trustonic path, syncing up.." + cp -af /vendor/app/mcRegistry/* /mnt/vendor/tzapp/ +fi + +# TODO: Add more TEE vendor support if required. + +setprop persist.vendor.tl.already_backup true + +notice "Trustlet backup success!" diff --git a/rootdir/bin/init.mmi.block_perm.sh b/rootdir/bin/init.mmi.block_perm.sh new file mode 100644 index 0000000..dbe43b0 --- /dev/null +++ b/rootdir/bin/init.mmi.block_perm.sh @@ -0,0 +1,46 @@ +#!/vendor/bin/sh + +block_by_name=/dev/block/by-name +utags=${block_by_name}/utags +utags_backup=${block_by_name}/utagsBackup +CHMOD_L_FLAG=-L + +# Set correct permissions for UTAGS +/vendor/bin/chown -L root:system $utags +/vendor/bin/chown -L root:system $utags_backup +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $utags +if [ $? -ne 0 ]; then + CHMOD_L_FLAG=" " + /vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $utags +fi +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $utags_backup + + +# HOB/DHOB +hob=${block_by_name}/hob +dhob=${block_by_name}/dhob +if [ -f $hob ] || [ -L $hob ]; then +/vendor/bin/chown -L radio:radio $hob +/vendor/bin/chown -L radio:radio $dhob +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $hob +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $dhob +fi + +# CLOGO +clogo=${block_by_name}/clogo +if [ -f $clogo ] || [ -L $clogo ]; then +/vendor/bin/chown -L root:vendor_tcmd $clogo +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $clogo +fi + +#CID +cid=${block_by_name}/cid +/vendor/bin/chown -L root:vendor_tcmd $cid +/vendor/bin/chmod ${CHMOD_L_FLAG} 0660 $cid + +#BL logs +logs=${block_by_name}/logs +if [ -f $logs ]; then + /vendor/bin/chown -L root:system $logs + /vendor/bin/chmod ${CHMOD_L_FLAG} 0640 $logs +fi diff --git a/rootdir/bin/init.mmi.boot.sh b/rootdir/bin/init.mmi.boot.sh new file mode 100644 index 0000000..e54b065 --- /dev/null +++ b/rootdir/bin/init.mmi.boot.sh @@ -0,0 +1,190 @@ +#!/vendor/bin/sh + +PATH=/sbin:/vendor/sbin:/vendor/bin:/vendor/xbin +export PATH + +scriptname=${0##*/} + +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +# reload UTAGS +utag_status=$(cat /proc/config/reload) +if [ "$utag_status" == "2" ]; then + notice "Utags are not ready, reloading" + echo 1 > /proc/config/reload + utag_status=$(cat /proc/config/reload) + [ "$utag_status" != "0" ] && notice "Utags failed to reload" +fi + +# Export these for factory validation purposes +iccid=$(cat /proc/config/iccid/ascii 2>/dev/null) +if [ ! -z "$iccid" ]; then + setprop ro.vendor.mot.iccid $iccid +fi +unset iccid + +# Get FTI data and catch old units with incorrect/missing UTAG_FTI +pds_fti=/mnt/vendor/persist/factory/fti +if [ -r $pds_fti ]; then + set -A fti $(od -A n -t x1 $pds_fti 2>/dev/null | tr '[A-F]' '[a-f]') +else + notice "Can not read FTI data in persist" +fi + +# If UTAG_FTI is readable, compare checksums +# and if they mismatch, assume PDS is valid and overwrite UTAG +utag_fti=/proc/config/fti +if [ -r $utag_fti/ascii ]; then + set -A fti_utag $(cat ${utag_fti}/raw | sed 's/../& /g' | tr '[A-F]' '[a-f]') + # Byte 128 is total cksum, if nothing there, PDS data is invalid/missing + if [ ! -z "${fti[127]}" ]; then + # Make sure fti in UTAG is the same as in persist. Checksum comparison + if [ "${fti[126]}" != "${fti_utag[126]}" -o "${fti[127]}" != "${fti_utag[127]}" ]; then + notice "Copying FTI data from persist" + cat $pds_fti > ${utag_fti}/raw + fi + else + # If PDS data is invalid, take UTAG and hope it is correct + notice "Will use FTI from UTAG" + set -A fti $(od -A n -t x1 ${utag_fti}/ascii 2>/dev/null) + fi +else + notice "Missing FTI UTAG; copying from persist" + echo fti > /proc/config/all/new + cat $pds_fti > ${utag_fti}/raw +fi + +# Read HW version from FTI data +hw_v1="\x${fti[35]}" +hw_v2="\x${fti[36]}" +hw_v3="\x${fti[37]}" +if [ "$hw_v3" == "\x30" ]; then + hw_v3="" +fi +hw_v4="\x${fti[38]}" +if [ "$hw_v4" == "\x30" ]; then + hw_v4="" +fi +setprop ro.vendor.hw.boardversion $(printf "$hw_v1$hw_v2$hw_v3$hw_v4") + +# Now we have set fti var either from PDS or UTAG +# Get Last Test Station stamp from FTI +# and convert to user-friendly date, US format +# Real offsets for year/month/day are 63/64/65 +# If the month/date look reasonable, data is probably OK. +mdate="Unknown" +y=0x${fti[63]} +m=0x${fti[64]} +d=0x${fti[65]} +let year=$y month=$m day=$d +# Invalid data will often have bogus month/date values +if [ $month -le 12 -a $day -le 31 -a $year -ge 12 ]; then + mdate=$month/$day/20$year +else + notice "Corrupt FTI data" +fi + +# FEATURE-7596 The utag date is preferred +utag_date=$(cat /proc/config/date/ascii 2>/dev/null) +if [ ! -z "$utag_date" ]; then + # utage date format mm-dd-yyyy + utag_date=(${utag_date//-/ }) + m=${utag_date[0]} + d=${utag_date[1]} + y=${utag_date[2]} + let year=$y month=$m day=$d + if [ $month -le 12 -a $month -ge 1 -a $day -le 31 -a $day -ge 1 -a $year -ge 2012 ]; then + mdate=$month/$day/$year + else + notice $month $day $year + notice "Corrupt utag date" + fi +fi + +setprop ro.vendor.manufacturedate $mdate +unset fti y m d year month day utag_fti pds_fti fti_utag mdate utag_date + +t=$(getprop ro.build.tags) +if [[ "$t" != *release* ]]; then + for p in $(cat /proc/cmdline); do + if [ ${p%%:*} = "@" ]; then + v=${p#@:}; a=${v%=*}; b=${v#*=} + ${a%%:*} ${a##*:} $b + fi + done +fi +unset p v a b t + +# Cleanup stale/incorrect programmed model value +# Real values will never contain substrings matching "internal" device name +product=$(getprop ro.vendor.hw.device) +model=$(cat /proc/config/model/ascii 2>/dev/null) +if [ $? -eq 0 ]; then + if [ "${model#*_}" == "$product" -o "${model%_*}" == "$product" ]; then + notice "Clearing stale model value" + echo "" > /proc/config/model/raw + fi +fi +unset model product + + + +# Export the RKP csr state which should be done in factory +rkp_complete_file="/mnt/vendor/persist/rkp_complete" +rkp_csr_state="not uploaded" +if [ -f "$rkp_complete_file" ]; then + setprop ro.vendor.mot.hw.rkp_csr_uploaded 1 + rkp_csr_state="already uploaded" +else + setprop ro.vendor.mot.hw.rkp_csr_uploaded 0 +fi +notice "RKP CSR file on device is: $rkp_csr_state" +unset $rkp_complete_file +unset $rkp_csr_state + +get_history_value() +{ + local __result=$1 + local history_count=0 + local value="" + local IFS=',' + + shift 1 + for arg in ${@}; do + value=$value",$arg" + history_count=$(($history_count + 1)) + if [ $history_count -eq 3 ]; then + break + fi + done + eval $__result="$value" + debug "value:$value history_count:$history_count" +} + +set_boot_bootseq_history() +{ + #get current boot sequence + if [ ! -f /proc/bootinfo ]; then + notice "Error:/proc/bootinfo is not ready" + return + fi + boot_seq_line=`grep BOOT_SEQ /proc/bootinfo | sed 's/ //g'` + boot_seq=${boot_seq_line##*:} + notice "BOOT_SEQ is $boot_seq" + setprop ro.vendor.boot_seq $boot_seq + boot_time=`date +%s` + + #get previous value of bootseq history + bootseq_history=`getprop persist.vendor.boot.bootseq.history` + notice "booseq_history is $bootseq_history" + get_history_value valid_history_value $bootseq_history + setprop persist.vendor.boot.bootseq.history "$boot_seq.$boot_time$valid_history_value" + new_bootseq_history=`getprop persist.vendor.boot.bootseq.history` + notice "set persist.vendor.boot.bootseq.history $new_bootseq_history" +} + +set_boot_bootseq_history diff --git a/rootdir/bin/init.mmi.modem-rfs.sh b/rootdir/bin/init.mmi.modem-rfs.sh new file mode 100644 index 0000000..abb5b8a --- /dev/null +++ b/rootdir/bin/init.mmi.modem-rfs.sh @@ -0,0 +1,56 @@ +#!/vendor/bin/sh + +echo "Retrieve Modem RFS logs" + +re='?(-)+([0-9.])' + +if ! [[ $2 == $re ]] ; then + echo "error: Not a number" >&2; exit 1 +fi + +__copy_logs() +{ + file1="${1}" + file2="${2}" + + if [ ! -f "${file1}" ]; then + echo -e "${file1} invalid" + return + fi + + /vendor/bin/chmod 666 "${file1}" + /vendor/bin/cp "${file1}" "${file2}" + /vendor/bin/chmod 640 "${file2}" +} + +mdm_rfs_folder=/mnt/vendor/nvdata/md/ +mdm_rfs_log0=mot_md_log_0.txt +mdm_rfs_log1=mot_md_log_1.txt + +mdm_log_target_folder=/data/vendor/dontpanic + +if [ "$1" == "loop" ]; then + loop=1 +else + loop=0 +fi + +while true +do + /vendor/bin/echo "1" > /data/vendor/radio/read_modem_efs + /vendor/bin/sleep 1 + /vendor/bin/echo "0" > /data/vendor/radio/read_modem_efs + + __copy_logs $mdm_rfs_folder/$mdm_rfs_log0 $mdm_log_target_folder/$mdm_rfs_log0 + __copy_logs $mdm_rfs_folder/$mdm_rfs_log1 $mdm_log_target_folder/$mdm_rfs_log1 + + if [ $loop -eq 1 ] + then + /vendor/bin/sleep $2 + else + break + fi +done + +exit 0 + diff --git a/rootdir/bin/init.mmi.modules.sh b/rootdir/bin/init.mmi.modules.sh new file mode 100644 index 0000000..afed9ed --- /dev/null +++ b/rootdir/bin/init.mmi.modules.sh @@ -0,0 +1,10 @@ +#!/vendor/bin/sh + +# All modules that depend on conditions or need extra parameters +# should go here. + +# Handle factory bootmode +bootmode=$(getprop ro.bootmode) +if [ $bootmode = "mot-factory" ]; then + insmod /vendor/lib/modules/moto_f_usbnet.ko +fi diff --git a/rootdir/bin/init.mmi.shutdown.sh b/rootdir/bin/init.mmi.shutdown.sh new file mode 100644 index 0000000..b416a81 --- /dev/null +++ b/rootdir/bin/init.mmi.shutdown.sh @@ -0,0 +1,75 @@ +#!/vendor/bin/sh + +PATH=/sbin:/vendor/sbin:/vendor/bin:/vendor/xbin +export PATH + +scriptname=${0##*/} + +debug() +{ + echo "$*" +} + +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +get_history_value() +{ + local __result=$1 + local history_count=0 + local value="" + local IFS=$2 + + shift 2 + for arg in ${@}; do + value=$value"$IFS$arg" + history_count=$(($history_count + 1)) + if [ $history_count -eq 3 ]; then + break + fi + done + eval $__result="$value" + debug "value:$value history_count:$history_count" +} + +set_reboot_bootseq_history() +{ + BOOTSEQ_HISTORY_PROP=persist.vendor.reboot.bootseq.history + #get current boot sequence + if [ ! -f /proc/bootinfo ]; then + notice "Error:/proc/bootinfo is not ready" + return + fi + boot_seq_line=`grep BOOT_SEQ /proc/bootinfo | sed 's/ //g'` + boot_seq=${boot_seq_line##*:} + notice "BOOT_SEQ is $boot_seq" + shutdown_time=`date +%s` + + #get previous value of bootseq history + bootseq_history=`getprop $BOOTSEQ_HISTORY_PROP` + debug "booseq_history is $bootseq_history" + get_history_value valid_history_value , $bootseq_history + setprop $BOOTSEQ_HISTORY_PROP "$boot_seq.$shutdown_time$valid_history_value" + new_bootseq_history=`getprop $BOOTSEQ_HISTORY_PROP` + notice "set $BOOTSEQ_HISTORY_PROP $new_bootseq_history" + + #update reboot command history + REBOOTCMD_HISTORY_PROP=persist.vendor.reboot.command.history + + reboot_cmds=`getprop log.powerctrl.reboot.command` + notice "reboot_cmds is [$reboot_cmds]" + + #get previous value of command history + rebootcmd_history=`getprop $REBOOTCMD_HISTORY_PROP` + debug "reboot command history is $rebootcmd_history" + get_history_value valid_cmd_history_value - $rebootcmd_history + + setprop $REBOOTCMD_HISTORY_PROP "$boot_seq.$reboot_cmds${valid_cmd_history_value}" + new_bootseq_history=`getprop $REBOOTCMD_HISTORY_PROP` + notice "set $REBOOTCMD_HISTORY_PROP $new_bootseq_history" +} + +set_reboot_bootseq_history diff --git a/rootdir/bin/init.mmi.touch.sh b/rootdir/bin/init.mmi.touch.sh new file mode 100644 index 0000000..4830b7e --- /dev/null +++ b/rootdir/bin/init.mmi.touch.sh @@ -0,0 +1,455 @@ +#!/vendor/bin/sh + +PATH=/sbin:/vendor/sbin:/vendor/bin:/vendor/xbin +export PATH + +while getopts ds op; +do + case $op in + d) dbg_on=1;; + s) dump_statistics=1;; + esac +done +shift $(($OPTIND-1)) + +# Globals +scriptname=${0##*/} +touch_class_path=/sys/class/touchscreen +touch_status_prop=vendor.hw.touch.status +touch_vendor= +touch_path= +panel_path=/sys/class/graphics/fb0 +device_property=ro.vendor.hw.device +hwrev_property=ro.vendor.hw.revision +firmware_path=/vendor/firmware +let dec_cfg_id_boot=0 +let dec_cfg_id_latest=0 +typeset -l product_id +panel_ver= +supplier= +property= +config_id= +build_id= +hwrev_id= +str_cfg_id_new= +str_cfg_id_boot= +str_cfg_id_latest= +build_id_new= + +debug() +{ + [ $dbg_on ] && echo "Debug: $*" +} + +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +sanity_check() +{ + read_touch_property flashprog || return 1 + [[ ( -z "$property" ) || ( "$property" == "1" ) ]] && return 2 + read_touch_property productinfo || return 1 + [[ ( -z "$property" ) || ( "$property" == "0" ) ]] && return 2 + read_touch_property buildid || return 1 + config_id=${property#*-} + [[ ( -z "$config_id" ) || ( "$config_id" == "0" ) ]] && return 2 + build_id=${property%-*} + [[ ( -z "$build_id" ) || ( "$build_id" == "0" ) ]] && return 2 + return 0 +} + +error_msg() +{ + local err_msg + local err_code=$1 + case $err_code in + 1) err_msg="Error: No response from touch IC";; + 2) err_msg="Error: Cannot read property $2";; + 3) err_msg="Error: No matching firmware file found";; + 4) err_msg="Error: Touch IC is in bootloader mode";; + 5) err_msg="Error: Touch provides no reflash interface";; + 6) err_msg="Error: Touch driver is not running";; + 7) err_msg="Warning: Touch firmware is not the latest";; + 8) err_msg="Info: Touch class does not exist";; + 9) err_msg="Error: Touch IC is not ready to flash";; + esac + notice "$err_msg" +} + +error_and_leave() +{ + local err_code=$1 + local touch_status="unknown" + error_msg $err_code + case $err_code in + 1|4) touch_status="dead";; + 5|6|8) touch_status="absent";; + esac + + # perform sanity check and declare touch ready if error is not fatal + if [ "$touch_status" == "unknown" ]; then + sanity_check + case "$?" in + 0) touch_status="ready";; + 2) touch_status="dead";; + 1) touch_status="absent";; + esac + fi + + # perform recovery if touch is declared dead + if [ "$touch_status" == "dead" ]; then + notice "Touch needs to go through recovery!!!" + reboot_cnt=$(getprop $touch_status_prop 2>/dev/null) + [ -z "$reboot_cnt" ] && reboot_cnt=0 + debug "current reboot counter [$reboot_cnt]" + fi + + setprop $touch_status_prop $touch_status + notice "property [$touch_status_prop] set to [`getprop $touch_status_prop`]" + + if [ "$touch_status" == "dead" ]; then + notice "Touch is not responding; no further action!!!" + #if [ $((reboot_cnt)) -lt 2 ]; then + # notice "Touch is not working; rebooting..." + # debug "sleep 3s to allow touch-dead-sh service to run" + # sleep 3 + # [ -z "$dbg_on" ] && setprop sys.powerctl reboot + #else + # notice "Although touch is not working, no more reboots" + #fi + fi + + exit $err_code +} + +prepend() +{ + local list="" + local prefix=$1 + shift + for name in $*; do + list="$list$prefix/$name " + done + echo $list +} + +dump_statistics() +{ + debug "dumping touch statistics" + cat $touch_path/ic_ver + [ -f $touch_path/stats ] && cat $touch_path/stats + return 0 +} + +wait_for_poweron() +{ + local wait_nomore + local readiness + local count + debug "wait until driver reports ..." + wait_nomore=60 + count=0 + while true; do + readiness=$(cat $touch_path/poweron) + if [ "$readiness" == "1" ]; then + debug "ready to flash!!!" + break; + fi + count=$((count+1)) + [ $count -eq $wait_nomore ] && break + sleep 1 + debug "not ready; keep waiting..." + done + if [ $count -eq $wait_nomore ]; then + error_msg 9 + return 1 + fi + return 0 +} + +setup_permissions() +{ + local selinux=$(getprop ro.boot.selinux 2> /dev/null) + local key_path + local key_files + local entry + local product_info + if [ "$selinux" == "permissive" ]; then + debug "loosen permissions to $touch_vendor files" + case $touch_vendor in + synaptics) key_path=$touch_path + key_files=$(prepend f54 `ls $touch_path/f54/ 2>/dev/null`) + key_files=$key_files"reporting query stats";; + focaltech) key_path="/proc/" + key_files="ftxxxx-debug";; + ilitek) key_path="/proc/ilitek" + key_files="ioctl";; + goodix) key_path="/proc/" + key_files="gmnode" + if [ "$touch_product_string" == "GTx5" ]; then + key_path="/dev/" + key_files="gtp_tools" + fi + if [ "$touch_product_string" == "primary" ]; then + product_info=$(cat $touch_class_path/$touch_product_string/productinfo) + debug "$touch_vendor product_info is $product_info" + if [ "$product_info" == "gt9916S" ]; then + key_path="/dev/" + key_files="gtp_tools" + fi + fi + ;; + esac + for entry in $key_files; do + chmod 0666 $key_path/$entry + debug "change permissions of $key_path/$entry" + done + fi + # Set permissions to enable factory touch tests + chown root:vendor_tcmd $touch_path/drv_irq + chown root:vendor_tcmd $touch_path/hw_irqstat + chown root:vendor_tcmd $touch_path/reset + # Set permissions to allow Bug2Go access to touch statistics + chown root:log $touch_path/stats + # Erase is optional + [ -f $touch_path/erase_all ] && chown root:vendor_tcmd $touch_path/erase_all +} + +read_touch_property() +{ + property="" + debug "retrieving property: [$touch_path/$1]" + property=$(cat $touch_path/$1 2> /dev/null) + debug "touch property [$1] is: [$property]" + [ -z "$property" ] && return 1 + return 0 +} + +read_panel_property() +{ + property="" + debug "retrieving panel property: [$panel_path/$1]" + property=$(cat $panel_path/$1 2> /dev/null) + debug "panel property [$1] is: [$property]" + [ -z "$property" ] && return 1 + return 0 +} + +find_latest_config_id() +{ + local fw_mask=$1 + local skip_fields=$2 + local dec max z str_hex i + str_cfg_id_latest="" + debug "scanning dir for files matching [$fw_mask]" + let dec=0; max=0; + for file in $(ls $fw_mask 2>/dev/null); do + z=$file + i=0 + while [ ! $i -eq $skip_fields ]; do + z=${z#*-} + i=$((i+1)) + done + str_hex=${z%%-*}; + let dec=0x$str_hex + if [ $dec -gt $max ]; then + let max=$dec; dec_cfg_id_latest=$dec; + str_cfg_id_latest=$str_hex + fi + done + [ -z "$str_cfg_id_latest" ] && return 1 + return 0 +} + +find_best_match() +{ + local hw_mask=$1 + local panel_supplier=$2 + local skip_fields fw_mask + while [ ! -z "$hw_mask" ]; do + if [ "$hw_mask" == "-" ]; then + hw_mask="" + fi + if [ ! -z "$panel_supplier" ]; then + skip_fields=3 + fw_mask="$touch_vendor-$panel_supplier-$touch_product_id-*-$product_id$hw_mask.*" + else + skip_fields=2 + fw_mask="$touch_vendor-$touch_product_id-*-$product_id$hw_mask.*" + fi + find_latest_config_id "$fw_mask" "$skip_fields" && break + hw_mask=${hw_mask%?} + done + [ -z "$str_cfg_id_latest" ] && return 1 + if [ -z "$panel_supplier" ]; then + firmware_file=$(ls $touch_vendor-$touch_product_id-$str_cfg_id_latest-*-$product_id$hw_mask.*) + else + firmware_file=$(ls $touch_vendor-$panel_supplier-$touch_product_id-$str_cfg_id_latest-*-$product_id$hw_mask.*) + fi + notice "Firmware file for upgrade $firmware_file" + return 0 +} + +query_touch_info() +{ + read_touch_property flashprog + bl_mode=$property + debug "bl mode: $bl_mode" + read_touch_property productinfo + touch_product_id=$property + if [ -z "$touch_product_id" ] || [ "$touch_product_id" == "0" ]; then + debug "touch ic reports invalid product id" + error_msg 1 + return 1 + fi + debug "touch product id: $touch_product_id" + read_touch_property buildid + str_cfg_id_boot=${property#*-} + let dec_cfg_id_boot=0x$str_cfg_id_boot + debug "touch config id: $str_cfg_id_boot" + build_id_boot=${property%-*} + debug "touch build id: $build_id_boot" + return 0 +} + +query_panel_info() +{ + supplier="" + read_touch_property "panel_supplier" + [ -z "$property" ] && read_panel_property "panel_supplier" + supplier=$property + if [ "$supplier" ]; then + read_panel_property "controller_drv_ver" + panel_ver=${property#${property%?}} + debug "panel supplier: $supplier, ver $panel_ver" + else + debug "driver does not report panel supplier" + fi +} + +search_firmware_file() +{ + local match_not_found + match_not_found=1 + if [ "$supplier" ]; then + for pattern in "$supplier$panel_ver" "$supplier"; do + debug "search for best hw revision match with supplier" + find_best_match "-$hwrev_id" "$pattern" + match_not_found=$? + [ "$match_not_found" == "0" ] && break + done + fi + if [ "$match_not_found" != "0" ]; then + debug "search for best hw revision match without supplier" + find_best_match "-$hwrev_id" + if [ "$?" != "0" ]; then + error_msg 3 + return 1 + fi + fi + return 0 +} + +run_firmware_upgrade() +{ + local recovery + wait_for_poweron + recovery=0 + if [ "$bl_mode" == "1" ] || [ "$build_id_boot" == "0" ]; then + recovery=1 + notice "Initiating touch firmware recovery" + notice " bl mode = $bl_mode" + notice " build id = $build_id_boot" + fi + if [ $dec_cfg_id_boot -ne $dec_cfg_id_latest ] || [ "$recovery" == "1" ]; then + debug "forcing firmware upgrade" + echo 1 > $touch_path/forcereflash + debug "sending reflash command" + echo $firmware_file > $touch_path/doreflash + read_touch_property flashprog + if [ "$?" != "0" ]; then + error_msg 1 + return 1 + fi + bl_mode=$property + if [ "$bl_mode" == "1" ]; then + error_msg 4 + return 1 + fi + read_touch_property buildid + if [ "$?" != "0" ]; then + error_msg 1 + return 1 + fi + str_cfg_id_new=${property#*-} + build_id_new=${property%-*} + notice "Touch firmware config id at boot time $str_cfg_id_boot" + notice "Touch firmware config id in the file $str_cfg_id_latest" + notice "Touch firmware config id currently programmed $str_cfg_id_new" + [ "$str_cfg_id_latest" != "$str_cfg_id_new" ] && error_msg 7 && return 1 + if [ -f $touch_path/f54/force_update ]; then + notice "forcing F54 registers update" + echo 1 > $touch_path/f54/force_update + fi + fi + return 0 +} + +process_touch_instance() +{ + notice "Handling touch ID [$touch_product_string] permissions" + touch_vendor=$(cat $touch_class_path/$touch_product_string/vendor) + debug "touch vendor [$touch_vendor]" + touch_path=/sys$(cat $touch_class_path/$touch_product_string/path) + debug "sysfs touch path: $touch_path" + if [ ! -f $touch_path/doreflash ] || + [ ! -f $touch_path/poweron ] || + [ ! -f $touch_path/flashprog ] || + [ ! -f $touch_path/productinfo ] || + [ ! -f $touch_path/buildid ]; then + error_msg 5 + continue + fi + setup_permissions + if [ $dump_statistics ]; then + dump_statistics + fi + notice "Checking touch ID [$touch_product_string] FW upgrade" + touch_vendor=$(cat $touch_class_path/$touch_product_string/vendor) + debug "touch vendor [$touch_vendor]" + touch_path=/sys$(cat $touch_class_path/$touch_product_string/path) + debug "sysfs touch path: $touch_path" + query_touch_info + query_panel_info + search_firmware_file + [ "$?" == "0" ] && run_firmware_upgrade + notice "Touch firmware is up to date" + setprop $touch_status_prop "ready" + notice "property [$touch_status_prop] set to [`getprop $touch_status_prop`]" + +} + +# Main starts here +[ -d $touch_class_path ] || error_and_leave 8 +debug "sysfs panel path: $panel_path" +product_id=$(getprop $device_property 2> /dev/null) +[ -z "$product_id" ] && error_and_leave 2 $device_property +product_id=${product_id%-*} +product_id=${product_id%_*} +debug "product id: $product_id" +hwrev_id=$(getprop $hwrev_property 2> /dev/null) +[ -z "$hwrev_id" ] && notice "hw revision undefined" +debug "hw revision: $hwrev_id" +cd $firmware_path +# Run asynchronously for each instance +for touch_product_string in $(ls $touch_class_path); do + process_touch_instance & +done + +# check if need to reload modules +wait +debug "all background processes completed" +return 0 diff --git a/rootdir/bin/init.mmi.usb.sh b/rootdir/bin/init.mmi.usb.sh new file mode 100644 index 0000000..c91690d --- /dev/null +++ b/rootdir/bin/init.mmi.usb.sh @@ -0,0 +1,260 @@ +#!/vendor/bin/sh +# Copyright (c) 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: +# * 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 Code Aurora Forum, Inc. 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. +# +# +# Allow unique persistent serial numbers for devices connected via usb +# User needs to set unique usb serial number to persist.usb.serialno and +# if persistent serial number is not set then Update USB serial number if +# passed from command line +# +dbg_on=0 +debug() +{ + echo "${0##*/}: $*" + [ $dbg_on ] && echo "${0##*/}: $*" > /dev/kmsg +} + +notice() +{ + echo "${0##*/}: $*" + echo "${0##*/}: $*" > /dev/kmsg +} + +target=`getprop ro.board.platform` +usb_action=`getprop vendor.usb.mmi-usb-sh.action` +notice "mmi-usb-sh: action = \"$usb_action\"" +sys_usb_config=`getprop vendor.usb.config` +bootmode=`getprop ro.bootmode` + +#factory cleanup +factory_cfg=`getprop persist.vendor.usb.mot-factory.config` +if [ "$bootmode" == "normal" ]; then + if [[ "$factory_cfg" == *adb* ]]; then + setprop persist.vendor.usb.mot-factory.config NULL + setprop persist.vendor.usb.mot-factory.func NULL + setprop persist.vendor.usb.config NULL + setprop persist.vendor.mot.usb.config NULL + setprop vendor.usb.config none + notice "cleanup factory flg done" + fi +fi + +set_usb_secure_mode () +{ + if [ "$#" == "1" ] + then + if [ -f /sys/class/android_usb/android0/secure ] + then + echo "$1" > /sys/class/android_usb/android0/secure + else + setprop vendor.usb.secure_mode $1 + fi + notice "mmi-usb-sh: secure mode = $1" + fi +} + +tcmd_ctrl_adb () +{ + ctrl_adb=`getprop vendor.tcmd.ctrl_adb` + notice "mmi-usb-sh: vendor.tcmd.ctrl_adb = $ctrl_adb" + case "$ctrl_adb" in + "0") + if [[ "$sys_usb_config" == *adb* ]] + then + # *** ALWAYS expecting adb at the end *** + new_usb_config=${sys_usb_config/,adb/} + notice "mmi-usb-sh: disabling adb ($new_usb_config)" + setprop persist.vendor.usb.config $new_usb_config + setprop vendor.usb.config $new_usb_config + setprop persist.vendor.factory.allow_adb 0 + fi + ;; + "1") + if [[ "$sys_usb_config" != *adb* ]] + then + # *** ALWAYS expecting adb at the end *** + new_usb_config="$sys_usb_config,adb" + notice "mmi-usb-sh: enabling adb ($new_usb_config)" + setprop persist.vendor.usb.config $new_usb_config + setprop vendor.usb.config $new_usb_config + setprop persist.vendor.factory.allow_adb 1 + fi + ;; + esac + + exit 0 +} + +case "$usb_action" in + "") + ;; + "vendor.tcmd.ctrl_adb") + tcmd_ctrl_adb + ;; +esac + +case "$target" in + "mt6879") + setprop vendor.usb.controller "11201000.usb0" + setprop vendor.usb.rndis.func.name mtk_rndis.gs4 + ;; + "mt6789") + setprop vendor.usb.controller "musb-hdrc" + setprop vendor.usb.rndis.func.name mtk_rndis.gs4 + ;; + "mt6855") + setprop vendor.usb.controller "musb-hdrc" + setprop vendor.usb.rndis.func.name mtk_rndis.gs4 + ;; +esac + +## This is needed to switch to the qcom rndis driver. +diag_extra=`getprop persist.vendor.usb.config.extra` +if [ "$diag_extra" == "" ]; then + setprop persist.vendor.usb.config.extra none +fi + +# +# Allow USB enumeration with default PID/VID +# +usb_config=`getprop persist.vendor.usb.config` +mot_usb_config=`getprop persist.vendor.mot.usb.config` +buildtype=`getprop ro.build.type` +securehw=`getprop ro.boot.secure_hardware` +cid=`getprop ro.vendor.boot.cid` + +notice "mmi-usb-sh: persist usb configs = \"$usb_config\", \"$mot_usb_config\"" + + +phonelock_type=`getprop persist.sys.phonelock.mode` +usb_restricted=`getprop persist.sys.usb.policylocked` +if [ "$securehw" == "1" ] && [ "$buildtype" == "user" ] && [ "$(($cid))" != 0 ] +then + if [ "$usb_restricted" == "1" ] + then + set_usb_secure_mode 1 + else + case "$phonelock_type" in + "1" ) + set_usb_secure_mode 1 + ;; + * ) + set_usb_secure_mode 0 + ;; + esac + fi +fi + + +case "$bootmode" in + "mot-factory" ) + if [ "$usb_config" != "adb" ] + then + setprop persist.vendor.usb.config adb + setprop persist.vendor.usb.mot-factory.config adb + setprop persist.vendor.usb.mot-factory.func adb + fi + ;; + "charger" ) + ;; + * ) + if [ "$buildtype" == "user" ] && [ "$phonelock_type" != "1" ] && [ "$usb_restricted" != "1" ] + then + set_usb_secure_mode 1 + notice "Disabling enumeration until bootup!" + fi + + case "$usb_config" in + "mtp,adb" | "mtp" | "adb") + ;; + *) + case "$mot_usb_config" in + "mtp,adb" | "mtp" | "adb") + setprop persist.vendor.usb.config $mot_usb_config + ;; + *) + case "$securehw" in + "1" ) + setprop persist.vendor.usb.config mtp + ;; + *) + setprop persist.vendor.usb.config adb + ;; + esac + ;; + esac + ;; + esac + + adb_early=`getprop ro.boot.adb_early` + if [ "$adb_early" == "1" ]; then + set_usb_secure_mode 0 + notice "Enabling enumeration after bootup, count = $count !" + new_persist_usb_config=`getprop persist.vendor.usb.config` + if [[ "$new_persist_usb_config" != *adb* ]]; then + setprop persist.vendor.usb.config "adb" + setprop vendor.usb.config "adb" + else + setprop vendor.usb.config $new_persist_usb_config + fi + exit 0 + fi + if [ "$buildtype" == "user" ] && [ "$phonelock_type" != "1" ] && [ "$usb_restricted" != "1" ] + then + if [[ "$factory_cfg" == *adb* ]]; then + new_persist_usb_config=`getprop persist.vendor.usb.config` + if [ "$sys_usb_config" != "$new_persist_usb_config" ]; then + setprop vendor.usb.config $new_persist_usb_config + notice "mmi-usb-sh - factory to normal, reset the vendor usb config" + fi + fi + count=0 + bootcomplete=`getprop vendor.boot_completed` + notice "mmi-usb-sh - bootcomplete = $booted" + while [ "$bootcomplete" != "1" ]; do + debug "Sleeping till bootup!" + sleep 1 + count=$((count+1)) + if [ $count -gt 90 ] + then + notice "mmi-usb-sh - Timed out waiting for bootup" + break + fi + bootcomplete=`getprop vendor.boot_completed` + done + set_usb_secure_mode 0 + notice "Enabling enumeration after bootup, count = $count !" + exit 0 + fi + ;; +esac + +new_persist_usb_config=`getprop persist.vendor.usb.config` +if [ "$sys_usb_config" != "$new_persist_usb_config" ]; then + setprop vendor.usb.config $new_persist_usb_config +fi diff --git a/rootdir/bin/init.oem.fingerprint2.sh b/rootdir/bin/init.oem.fingerprint2.sh new file mode 100644 index 0000000..18094e5 --- /dev/null +++ b/rootdir/bin/init.oem.fingerprint2.sh @@ -0,0 +1,178 @@ +#!/vendor/bin/sh +# +# Start indicated fingerprint HAL service +# +# Copyright (c) 2019 Lenovo +# All rights reserved. +# +# April 15, 2019 chengql2@lenovo.com Initial version +# December 2, 2019 chengql2 Store fps_id into persist fs +# November 19, 2020 zengzm refactor the code, support more than 3 fingerprint sensors; support config. + +# get the filename, contains the file postfix +script_name=${0##*/} +# remove the file postfix +script_name=${script_name%.*} +function log { + echo "$script_name: $*" > /dev/kmsg +} + +PROP_GKI_PATH=ro.vendor.mot.gki.path +GKI_PATH=$(getprop $PROP_GKI_PATH) + +# for new projects, only need to config varible vendor_list,kernel_so_list,kernel_so_name_list,hal_list +# vendor_list: the array contains the sensor name, it will be used for system properties. +# kernel_so_list: the array contains the kernel so's absolute path. It will be used at insmod. +# kernel_so_name_list: the array contains the kernel so's name. It will be used at rmmod. +# hal_list: the array contains the hal service name. +# +# note: all arrays should have the same size. +vendor_list=('goodix' 'chipone') +kernel_so_list=("/vendor/lib/modules/$GKI_PATH/goodix_fps_tee.ko" "/vendor/lib/modules/$GKI_PATH/fpsensor_mtk_spi.ko") +kernel_so_name_list=("goodix_fps_tee.ko" "fpsensor_mtk_spi.ko") +hal_list=('goodix_hal' 'chipone_fp_hal') +last_vendor_index=`expr ${#vendor_list[@]} - 1` +vendor_list_size=${#vendor_list[@]} + +if [ $vendor_list_size != ${#kernel_so_list[@]} ]; then + log "error, vendor_list.size is not equal to kernel_so_list" + return 255 +fi + +if [ $vendor_list_size != ${#kernel_so_name_list[@]} ]; then + log "error, vendor_list.size is not equal to kernel_so_name_list" + return 255 +fi + +if [ $vendor_list_size != ${#hal_list[@]} ]; then + log "error, vendor_list.size is not equal to hal_list" + return 255 +fi + +# At the current boot, what is the fingerprint sensor +persist_fps_id=/mnt/vendor/persist/fps/vendor_id + +# what is the fingerprint sensor successfully installed before. +persist_fps_id2=/mnt/vendor/persist/fps/last_vendor_id + +FPS_VENDOR_NONE=none +MAX_TIMES=30 + +# this property store FPS_STATUS_NONE or FPS_STATUS_OK +# after start fingerprint hal service, the hal service will set this property. +prop_fps_status=vendor.hw.fingerprint.status + +# use this to trigger init.mmi.rc +prop_fps_ident=vendor.hw.fps.ident + +# if $prop_fps_status=$FPS_STATUS_OK, then will set prop_persist_fps to the specific vendor name. +prop_persist_fps=persist.vendor.hardware.fingerprint + +FPS_STATUS_NONE=none +FPS_STATUS_OK=ok + +function find_vendor_index() { + # param1: the specific vendor name + # return: the vendor index in vendor_list. the valid index is from 0; if not found,return 255 + for temp_vendor_index in $(seq 0 $last_vendor_index) + do + if [ "${vendor_list[temp_vendor_index]}" = "$1" ]; then + return $temp_vendor_index + fi + done + return 255 +} + +function start_hal_service(){ + # param1: the vendor index + # return: 0 means success, will setprop $prop_persist_fps + setprop $prop_fps_status $FPS_STATUS_NONE + setprop $prop_fps_ident $FPS_STATUS_NONE + + insmod ${kernel_so_list[$1]} + sleep 1 + setprop $prop_fps_ident ${vendor_list[$1]} + + log "start ${hal_list[$1]}" + start ${hal_list[$1]} + + for ii in $(seq 1 $MAX_TIMES) + do + sleep 0.1 + fps_status=$(getprop $prop_fps_status) + # log "check fps vendor status: $fps_status" + if [ $fps_status != $FPS_STATUS_NONE ]; then + break + fi + done + + log "fingerprint HAL status: $fps_status" + if [ $fps_status == $FPS_STATUS_OK ]; then + log "start ${hal_list[$1]} hal success" + setprop $prop_persist_fps ${vendor_list[$1]} + return 0 + fi + + log "start ${hal_list[$1]} hal failed, remove kernel so: ${kernel_so_name_list[$1]} " + setprop ctl.stop ${hal_list[$1]} + rmmod ${kernel_so_name_list[$1]} + sleep 0.1 + # if failed,return 255 + return 255 +} + +# set last fingerprint sensor +fps_vendor=$(cat $persist_fps_id) +if [ -n "$fps_vendor" ] && [ "$fps_vendor" != $FPS_STATUS_NONE ]; then + echo $fps_vendor > $persist_fps_id2 +fi + +# get the identified fingerprint sensor +fps_vendor2=$(cat $persist_fps_id2) +if [ -z $fps_vendor2 ]; then + fps_vendor2=$FPS_VENDOR_NONE +fi +log "FPS vendor (last): $fps_vendor2" + +fps_vendor=$(cat $persist_fps_id) +if [ -z $fps_vendor ]; then + fps_vendor=$FPS_VENDOR_NONE +fi +log "FPS vendor (current): $fps_vendor" + +vendor_index=255 +# try to start the most recent success launched sensor. +if [ $fps_vendor != $FPS_STATUS_NONE ]; then + find_vendor_index $fps_vendor + vendor_index=$? + if [ $vendor_index != 255 ]; then + log "start $fps_vendor hal service" + start_hal_service $vendor_index + if [ $? != 255 ]; then + return 0 + fi + fi +fi + +# try all the fingerprint sensors +for temp_vendor_index in $(seq 0 $last_vendor_index) +do + if [ $temp_vendor_index == $vendor_index ]; then + continue + fi + + if [ ! -e ${kernel_so_list[$temp_vendor_index]} ]; then + log "does not exist ${kernel_so_list[$temp_vendor_index]},ignore this fingerprint sensor" + continue + fi + + start_hal_service $temp_vendor_index + if [ $? != 255 ]; then + echo ${vendor_list[$temp_vendor_index]} > $persist_fps_id + return 0 + fi +done + +log "error, no fingerprint sensor found" +setprop $prop_persist_fps $FPS_VENDOR_NONE +echo $FPS_VENDOR_NONE > $persist_fps_id diff --git a/rootdir/bin/init.oem.hw.sh b/rootdir/bin/init.oem.hw.sh new file mode 100644 index 0000000..de21daf --- /dev/null +++ b/rootdir/bin/init.oem.hw.sh @@ -0,0 +1,742 @@ +#!/vendor/bin/sh + +BASEDIR=vendor + +PATH=/sbin:/$BASEDIR/sbin:/$BASEDIR/bin:/$BASEDIR/xbin +export PATH + +while getopts dpfrM op; +do + case $op in + d) dbg_on=1;; + p) populate_only=1;; + f) dead_touch=1;; + r) reset_touch=1;; + M) mount_2nd_stage=1;; + esac +done +shift $(($OPTIND-1)) + +scriptname=${0##*/} +hw_mp=/proc/hw +config_mp=/proc/config +reboot_utag=$config_mp/.reboot +touch_status_prop=vendor.hw.touch.status +hw_cfg_file=hw_config.xml +vhw_file=/$BASEDIR/etc/vhw.xml +bp_file=/system/build.prop +oem_file=/oem/oem.prop +load_error=3 +need_to_reload=2 +reload_in_progress=1 +reload_done=0 +ver_utag=".version" +version_fs="unknown" +xml_version="unknown" +device_params="" +xml_file="" +utag_update_fail="false" +modem_ver_prop=ro.vendor.hw.modem_version +policy_prop=ro.vendor.super_image_policy + +super_image_detection() +{ + local subsys + local file2mount + local basefile + local version + local extention + local image_dir + local is_super_image + local super_image_prop + local file_mount_prop + local modem_version=$(getprop $modem_ver_prop) + local policy=$(getprop $policy_prop) + + debug "'$policy_prop' is '$policy'" + for subsys in modem fsg; do + debug "Processing [${subsys}]..." + is_super_image="" + case ${subsys} in + modem) image_dir=/vendor/firmware_mnt;; + fsg) image_dir=/vendor/fsg;; + esac + + [ -f $image_dir/super_modem ] && is_super_image="true" + debug "super image '$is_super_image'" + + if [ "$is_super_image" == "true" ]; then + file2mount="" + case ${subsys} in + modem) super_image_prop="ro.vendor.hw.modem_super_image" + file_mount_prop="ro.vendor.hw.modem_mount_file" + basefile="NON-HLOS.bin" + extention=".bin" + [ "$modem_version" ] && file2mount=$(printf "NON-HLOS%sbin" $modem_version) + ;; + fsg) super_image_prop="ro.vendor.hw.fsg_super_image" + file_mount_prop="ro.vendor.hw.fsg_mount_file" + basefile="fsg.mbn" + extention=".mbn" + [ "$modem_version" ] && file2mount=$(printf "fsg%smbn" $modem_version) + ;; + esac + if [ -z "$file2mount" ]; then + notice "'$modem_ver_prop' not set, but [$subsys] is super image!" + else + # modem_version matches existing file in super image + if [ -f $image_dir/$file2mount ]; then + notice "[$subsys] is super image. '$file2mount' will be mounted" + setprop $file_mount_prop $file2mount + setprop $super_image_prop yes + continue + fi + notice "[$subsys] is super image. '$file2mount' not found" + fi + else + notice "[$subsys] non-super image" + fi + + # check super image policy + if [ "$policy" == "enforce" ]; then + notice "[$subsys] strict super image policy! Rebooting to recovery..." + debug "'ro.vendor.hw.super_image_failure' -> 'yes'" + setprop ro.vendor.hw.super_image_failure yes + return + fi + notice "[$subsys] super image policy not enforced" + # proceed with non-super image if policy allows + if [ -z "$is_super_image" ]; then + notice "[$subsys] proceed with non-super image!" + continue + fi + + # retrieve default version if available + version=$(cat $image_dir/super_modem) + if [ "$version" ]; then + basefile=$version + notice "default file override '$basefile'" + else + notice "use default file: '$basefile' instead of '$file2mount'" + fi + + notice "Searching for '$basefile' in $image_dir..." + debug "checking file '$image_dir/$basefile'" + if [ -f $image_dir/$basefile ]; then + notice "[$subsys] is super image! '$basefile' will be mounted" + debug "'$file_mount_prop' -> '$basefile'" + setprop $file_mount_prop $basefile + debug "'$super_image_prop' -> 'yes'" + setprop $super_image_prop yes + continue + fi + + # set to fail + notice "Unable to mount '$basefile'! Rebooting to recovery..." + debug "'ro.vendor.hw.super_image_failure' -> 'yes'" + setprop ro.vendor.hw.super_image_failure yes + return + done +} + +set_reboot_counter() +{ + local value=$1 + local reboot_cnt=0 + local reboot_mp=${reboot_utag%.*} + local tag_name=${reboot_utag##*/} + if [ $((value)) -gt 0 ]; then + notice "increase reboot counter" + [ -d $reboot_utag ] && reboot_cnt=$(cat $reboot_utag/ascii) + value=$(($reboot_cnt + 1)) + fi + if [ ! -d $reboot_utag ]; then + echo ${reboot_utag##*/} > $reboot_mp/all/new + [ $? != 0 ] && notice "error creating UTAG $tag_name" + fi + echo "$value" > $reboot_utag/ascii + [ $? != 0 ] && notice "error updating UTAG $tag_name" + notice "UTAG $tag_name is [`cat $reboot_utag/ascii`]" +} + +set_reboot_counter_property() +{ + local reboot_cnt=0 + local tag_name=${reboot_utag##*/} + if [ -d $reboot_utag ]; then + reboot_cnt=$(cat $reboot_utag/ascii) + notice "UTAG $tag_name has value [$reboot_cnt]" + else + notice "UTAG $tag_name does not exist" + fi + setprop $touch_status_prop $reboot_cnt + notice "property [$touch_status_prop] is set to [`getprop $touch_status_prop`]" +} + +debug() +{ + [ $dbg_on ] && echo "Debug: $*" +} + +notice() +{ + echo "$*" + echo "$scriptname: $*" > /dev/kmsg +} + +add_device_params() +{ + device_params=$device_params" $@" + debug "add_device_params='$device_params'" +} + +drop_device_parameter() +{ + device_params=${device_params% *} + debug "drop_device_parameter='$device_params'" +} + +set_xml_file() +{ + xml_file=$@ + debug "working with XML file='$xml_file'" +} + +exec_parser() +{ + eval motobox expat -u -f $xml_file $device_params "$@" 2>/dev/null +} + +reload_utags() +{ + local mp=$1 + local value + echo "1" > $mp/reload + value=$(cat $mp/reload) + while [ "$value" == "$reload_in_progress" ]; do + notice "waiting for loading to complete" + sleep 1; + value=$(cat $mp/reload) + notice "'$mp' current status [$value]" + done +} + +procfs_wait_for_device() +{ + local __result=$1 + local status + local mpi + local IFS=' ' + local device_timeout_count=0 + while [ ! -f $hw_mp/reload ] || [ ! -f $config_mp/reload ]; do + notice "waiting for devices" + sleep 1; + if [ "$device_timeout_count" -eq "10" ];then + notice "waiting for devices timeout" + eval $__result="" + return + fi + device_timeout_count=$(($device_timeout_count + 1)) + done + for mpi in $hw_mp $config_mp; do + status=$(cat $mpi/reload) + notice "mount point '$mpi' status [$status]" + if [ "$status" == "$need_to_reload" ]; then + notice "force $mpi reloading" + reload_utags $mpi + fi + done + for mpi in $hw_mp $config_mp; do + status=$(cat $mpi/reload) + notice "$mpi reload is [$status]" + device_timeout_count=0 + while [ "$status" != "$reload_done" ]; do + notice "waiting for loading $mpi to complete" + sleep 1; + status=$(cat $mpi/reload) + if [ "$device_timeout_count" -eq "10" ]; then + notice "error: waiting for loading $mpi timeout" + break + fi + device_timeout_count=$(($device_timeout_count + 1)) + done + done + eval $__result=$status +} + +get_attr_data_by_name() +{ + local __result=$1 + local attr=$2 + shift 2 + local IFS=' ' + eval $__result="" + for arg in ${@}; do + [ "${arg%=*}" == "$attr" ] || continue + debug "attr_data='${arg#*=}'" + eval $__result="${arg#*=}" + break + done +} + +get_tag_data() +{ + local __name=$1 + local __value=$2 + shift 2 + local dataval + local IFS=' ' + eval $__name="" + eval $__value="" + for arg in ${@}; do + case $arg in + string-array | string) + debug "---/ skip keyword: '$arg'" + continue;; + esac + debug "---> arg='$arg'" + if [ "${arg%=*}" == "name" ]; then + eval $__name=${arg#*=} + continue + fi + # eval treats ';' as a separator, thus make it '\;' + dataval=$(echo ${arg#?} | sed 's/;/\\;/g') + debug "<--- dataval='$dataval'" + eval $__value=$dataval + done +} + +update_utag() +{ + local utag=$1 + local payload=$2 + local verify + local rc + if [ ! -d $hw_mp/$utag ]; then + notice "creating utag '$utag'" + echo $utag > $hw_mp/all/new + rc=$? + [ "$rc" != "0" ] && notice "'$utag' create dir failed rc=$rc" + fi + debug "writing '$payload' to '$hw_mp/$utag/ascii'" + echo "$payload" > $hw_mp/$utag/ascii + rc=$? + if [ "$rc" != "0" ]; then + utag_update_fail="true" + notice "'$utag' write file failed rc=$rc" + fi + verify=$(cat $hw_mp/$utag/ascii) + debug "read '$verify' from '$hw_mp/$utag/ascii'" + [ "$verify" != "$payload" ] && notice "'$utag' payload validation failed" +} + +populate_utags() +{ + local selection="$@" + local pline + local ptag + local pvalue + for pline in $(exec_parser $selection); do + get_tag_data ptag pvalue $pline + url_style_off pvalue $pvalue + debug "tag='$ptag' value='$pvalue'" + update_utag $ptag $pvalue + done +} + +set_ro_hw_properties_upgrade() +{ + local utag_path + local utag_name + local prop_prefix + local utag_value + local verify + for hwtag in $(find $hw_mp -name '.system'); do + debug "path $hwtag has '.system' in its name" + prop_prefix="ro.vendor.hw." + utag_path=${hwtag%/*} + utag_name=${utag_path##*/} + utag_value=$(cat $utag_path/ascii) + setprop $prop_prefix$utag_name "$utag_value" + notice "ro.vendor.hw.$utag_name='$utag_value'" + done +} + +set_ro_hw_property() +{ + local hwtag=$1 + local utag_path + local utag_name + local prop_prefix + local utag_value + local verify + + debug "path $hwtag has '.system' in its name" + prop_prefix=$(cat $hwtag/ascii) + verify=${prop_prefix%.} + # esure property ends with '.' + if [ "$prop_prefix" == "$verify" ]; then + prop_prefix="$prop_prefix." + debug "added '.' at the end of [$prop_prefix]" + fi + utag_path=${hwtag%/*} + utag_name=${utag_path##*/} + utag_value=$(cat $utag_path/ascii) + setprop $prop_prefix$utag_name "$utag_value" + notice "$prop_prefix$utag_name='$utag_value'" +} + +set_ro_hw_properties() +{ + + for hwtag in $(find $hw_mp -name '.system'); do + set_ro_hw_property $hwtag & + done +} + +set_ro_vendor_incremental() +{ + local vendor_incremental="ro.vendor.build.version.incremental" + local vendor_incremental_value + local fetch_prop="ro.build.version.incremental" + local fetch_value=$(getprop $fetch_prop) + + [ -z "$fetch_value" ] && prefetch_from_file $fetch_prop vendor_incremental_value + setprop $vendor_incremental "$vendor_incremental_value" + notice "$vendor_incremental='$vendor_incremental_value'" +} + +smart_value() +{ + local mtag=$1 + local __result=$2 + local value + eval $__result="" + local tmp=${mtag#?} + # absolute path to the file starts with '/' + if [ "${mtag%$tmp}" == "/" ]; then + value=$(cat $mtag) + # property likely to have '.' + elif [ "$mtag" != "${mtag%.*}" ]; then + value=$(getprop $mtag) + else # tag otherwise + value=$(cat $hw_mp/$mtag/ascii) + fi + eval $__result='$value' +} + +url_style_off() +{ + local __arg=$1 + local value=$2 + if [[ $value == *%* ]]; then + value=$(echo ${value//%20/ }) + value=$(echo ${value//%28/\(}) + value=$(echo ${value//%29/\)}) + fi + eval $__arg='$value' +} + +match() +{ + local mapping + local mline + local mtag + local fs_value + local mvalue + local matched + url_style_off mapping $1 + debug "match mapping='$mapping'" + # put '\"' around $mapping to ensure XML + # parser takes it as a single argument + for mline in $(exec_parser \"$mapping\"); do + get_tag_data mtag mvalue $mline + url_style_off mvalue $mvalue + # obtain value based on data source: utag, property or file + smart_value $mtag fs_value + if [ "$fs_value" == "$mvalue" ]; then + matched="true"; + else + matched="false"; + fi + debug "cmp utag='$mtag' values '$mvalue' & '$fs_value' is \"$matched\"" + [ "$matched" == "false" ] && break + done + [ "$matched" == "true" ] && return 0 + return 1 +} + +find_match() +{ + local __retval=$1 + local tag_name + local fline + local line + local subsection + local matched="false" + eval $__retval="" + for fline in $(exec_parser); do + subsection=${fline%% *} + add_device_params $subsection + for line in $(exec_parser); do + get_attr_data_by_name tag_name "name" $line + debug "tag_name='$tag_name'" + match $tag_name + [ "$?" != "0" ] && continue + eval $__retval=$tag_name + matched="true" + break + done + drop_device_parameter + [ "$matched" == "true" ] && break + done +} + +prefetch_from_file() +{ + local pname=$1 + local __result=$2 + local value + local override + eval $__result="" + value=$(cat $bp_file 2>/dev/null | sed '/^$/d' | sed '/^#/d' | sed '/^import/d' | sed -n "/$pname=/p" | sed 's/.*=//') + debug "'$pname' from '$bp_file': '$value'" + if [ -f $oem_file ]; then + override=$(cat $oem_file 2>/dev/null | sed '/^$/d' | sed '/^#/d' | sed '/^import/d' | sed -n "/$pname=/p" | sed 's/.*=//') + [ "$override" ] && value=$override && debug "'$pname' from '$oem_file': '$value'" + fi + eval $__result=$value +} + +append_match() +{ + local prop_list=$1 + local suffix="$2" + local dest_prop + local fetched_prop + local prop_value + local IFS=',' + # properties list to put the result of appending hw suffix to + # example: appended="ro.vendor.product.name,ro.vendor.product.device" + for dest_prop in $prop_list; do + fetch_prop=${dest_prop} + # only alter property name that has "vendor" in it + if [ "${fetch_prop//.vendor}" != "$dest_prop" ]; then + fetch_prop=${fetch_prop//.vendor} + prop_value=$(getprop $fetch_prop) + [ -z "$prop_value" ] && prefetch_from_file $fetch_prop prop_value + # finally set destination property to appended value + setprop $dest_prop "$prop_value$suffix" + notice "$dest_prop='$prop_value$suffix'" + fi + done +} + +process_mappings() +{ + local pname="" + local pexport="" + local pdefault="" + local pappend="" + local putag="" + local subsection + local pline + local matched_val + local whitespace_val + local export_val + local utag_val + for pline in $(exec_parser); do + subsection=${pline%% *} + debug "subsection is '$subsection'" + get_attr_data_by_name pname "name" $pline + get_attr_data_by_name pexport "export" $pline + get_attr_data_by_name pdefault "default" $pline + get_attr_data_by_name pappend "append" $pline + get_attr_data_by_name putag "writeback" $pline + [ "$pname" ] && url_style_off pname $pname && debug "name='$pname'" + [ "$pexport" ] && url_style_off pexport $pexport && debug "export='$pexport'" + [ "$pdefault" ] && url_style_off pdefault $pdefault && debug "default='$pdefault'" + [ "$pappend" ] && url_style_off pappend $pappend && debug "append='$pappend'" + # add 'subsection' to permanent parameters + add_device_params $subsection + # call itself here to handle nonamed subsection, like quirks + [ -z "$pname" ] && [ -z "$pexport" ] && [ -z "$pdefault" ] && [ -z "$pappend" ] && [ -z "$putag" ] && process_mappings && continue + find_match matched_val + [ "$matched_val" ] && url_style_off matched_val $matched_val + # append_match handles OEM overrides, thus has to be called even with empty value + [ "$pappend" ] && append_match $pappend "$matched_val" + if [ "$matched_val" ]; then + if [ "$pexport" ]; then + setprop $pexport "$matched_val" + notice "exporting '$matched_val' into property $pexport" + fi + elif [ "$pexport" -a "$pdefault" ]; then + # if match is not found, proceed with default + setprop $pexport "$pdefault" + notice "defaulting '$pdefault' into property $pexport" + fi + + if [ "$putag" ] && [ -d $hw_mp/$putag ]; then + export_val=$(getprop $pexport) + utag_val=$(cat $hw_mp/$putag/ascii) + debug "writeback compare $utag_val,$export_val" + # if property is empty value, clear the utag. + # if property and writeback utag are empty value, don't update utag + if [ "$export_val" -o "$utag_val" != "(null)" ] && [ "$utag_val" != "$export_val" ]; then + update_utag $putag $export_val + notice "writeback '$export_val' into utag $putag" + fi + fi + # remove the last added parameter + drop_device_parameter + done +} + +# Main starts here +IFS=$'\n' + +if [ ! -z "$mount_2nd_stage" ]; then + notice "Super image detection" + super_image_detection + return 0 +fi + +if [ ! -z "$reset_touch" ]; then + notice "reset reboot counter" + set_reboot_counter 0 + return 0 +fi + +if [ ! -z "$dead_touch" ]; then + notice "property [$touch_status_prop] set to [dead]" + set_reboot_counter 1 + return 0 +fi + +if [ -f /vendor/lib/modules/utags.ko ]; then + notice "loading utag driver" + insmod /vendor/lib/modules/utags.ko + if [ $? -ne 0 ]; then + gki_modules_full_path=`find /vendor/lib/modules -name "*-gki"` + if [ -n "$gki_modules_full_path" ]; then + gki_modules_path=`basename $gki_modules_full_path` + notice "loading gki utag driver in /vendor/lib/modules/$gki_modules_path" + insmod /vendor/lib/modules/$gki_modules_path/utags.ko + if [ $? -ne 0 ]; then + notice "fail to load /vendor/lib/modules/$gki_modules_path/utags.ko" + setprop ro.vendor.mot.gki.path "." + else + notice "successfully load /vendor/lib/modules/$gki_modules_path/utags.ko" + setprop ro.vendor.mot.gki.path $gki_modules_path + fi + else + notice "fail to load utag driver" + setprop ro.vendor.mot.gki.path "." + fi + else + setprop ro.vendor.mot.gki.path "." + fi +fi + +notice "checking integrity" +# check necessary components exist and just proceed +# with RO properties setup otherwise +if [ ! -f /$BASEDIR/bin/expat ] || [ ! -f $vhw_file ]; then + notice "warning: missing expat or xml" + set_ro_hw_properties + return 0 +fi + +if [ ! -z "$populate_only" ]; then + # special handling for factory UTAGs provisioning + for path in /data/local/tmp /pds/factory; do + [ -f $path/$hw_cfg_file ] && break + done + notice "populating hw config from '$path/$hw_cfg_file'" + set_xml_file $path/$hw_cfg_file + populate_utags hardware + return 0 +fi + +notice "initializing procfs" +procfs_wait_for_device readiness +if [ "$readiness" != "0" ]; then + notice "no access to hw utags procfs" + return 1 +fi + +# populate touch status property with reboot counter +set_reboot_counter_property & + +# XML parsing starts here +set_xml_file $vhw_file + +get_attr_data_by_name boot_device_prop "match" $(exec_parser) +debug "attr='get' value='$boot_device_prop'" +if [ -z $boot_device_prop ]; then + notice "fatal: undefined boot device property" + return 1 +fi + +# ensure lower case +typeset -l boot_device=$(getprop $boot_device_prop) +# drop suffixes +boot_device=${boot_device%[_-]*} +notice "matching to boot device '$boot_device'" + +# add 'validation' to permanent parameters +add_device_params validation + +for line in $(exec_parser); do + get_attr_data_by_name product "name" $line + debug "attr='name' value='$product'" + if [ "$product" == "$boot_device" ]; then + get_attr_data_by_name xml_version "version" $line + [ "$xml_version" != "unknown" ] && notice "device '$boot_device' xml version='$xml_version'" + break + fi +done + +[ "$xml_version" == "unknown" ] && notice "no match found for device '$boot_device'" +# delete obsolete 'version' utag if exists +[ -d $hw_mp/${ver_utag#?} ] && $(echo ${ver_utag#?} > $hw_mp/all/delete) +# read procfs version +[ -d $hw_mp/$ver_utag ] && version_fs=$(cat $hw_mp/$ver_utag/ascii) +notice "procfs version='$version_fs'" +# add 'device' and '$boot_device' to permanent parameters +add_device_params device $boot_device +[ "$xml_version" == "$version_fs" ] && notice "hw descriptor is up to date" +for section in $(exec_parser); do + debug "section='$section'" + case $section in + mappings) + # add 'mappings' to permanent parameters + add_device_params $section + process_mappings & + ;; + *) + [ "$xml_version" == "$version_fs" ] && continue + populate_utags $section;; + esac +done + +if [ "$xml_version" != "$version_fs" ]; then + # create version utag if it's missing + [ ! -d $hw_mp/$ver_utag ] && $(echo "$ver_utag" > $hw_mp/all/new) + # update procfs version + [ -d $hw_mp/$ver_utag ] && $(echo "$xml_version" > $hw_mp/$ver_utag/ascii) +fi + +set_ro_vendor_incremental & + +set_ro_hw_properties + +if [ "$utag_update_fail" == "true" ]; then + set_ro_hw_properties_upgrade +fi + +wait + +notice "script init.oem.hw.sh finish " +return 0 + diff --git a/rootdir/bin/pstore_annotate.sh b/rootdir/bin/pstore_annotate.sh new file mode 100644 index 0000000..c17a8e6 --- /dev/null +++ b/rootdir/bin/pstore_annotate.sh @@ -0,0 +1,36 @@ +#!/vendor/bin/sh +# +# Copyright (c) 2016, Motorola Mobility LLC, All rights reserved. +# +# The purpose of this script is to annotate panic dumps with useful information +# about the context of the event. +# + +export PATH=/vendor/bin:$PATH + +annotate() +{ + VAL=`$2` + [ "$VAL" ] || return + if [ -e /sys/fs/pstore/annotate-ramoops-0 ] ; then + echo "$1: $VAL" > /sys/fs/pstore/annotate-ramoops-0 + fi + + if [ -e /proc/driver/mmi_annotate ] ; then + echo "$1: $VAL" > /proc/driver/mmi_annotate + fi +} + +case $1 in + build*) + annotate "Boot mode" "getprop ro.boot.mode" + annotate "Console" "getprop ro.boot.console" + annotate "Secure hardware" "getprop ro.boot.secure_hardware" + annotate "Hab cid" "getprop ro.boot.hab.cid" + annotate "VB state" "getprop ro.boot.verifiedbootstate" + annotate "Verity mode" "getprop ro.boot.veritymode" + annotate "HW cid" "getprop ro.boot.cid" + annotate "SW cid" "getprop ro.boot.cid_sw" + annotate "Apdp state" "getprop ro.boot.device_apdp_state" + ;; +esac diff --git a/rootdir/bin/vendor.mmi.cxp.sh b/rootdir/bin/vendor.mmi.cxp.sh new file mode 100644 index 0000000..fb45ac6 --- /dev/null +++ b/rootdir/bin/vendor.mmi.cxp.sh @@ -0,0 +1,69 @@ +#!/vendor/bin/sh + +# Copyright (c) 2021, Motorola Mobility LLC, All Rights Reserved. +# +# Date Created: 8/30/2021, Set CXP properties according to carrier channel +# + +set_properties() +{ + # do not set SPB ID for M80 modem + if [ $set_sbp_place ] && [ $set_sbp_place -ge 2 ]; then + sbp=0 + fi + setprop ro.vendor.mtk_md_sbp_custom_value $sbp + setprop ro.vendor.operator.optr $1 + setprop ro.vendor.operator.spec $2 + setprop ro.vendor.operator.seg $3 + if [ ! $optr ]; then + setprop persist.vendor.mtk_usp_md_sbp_code $sbp + setprop persist.vendor.operator.optr $1 + setprop persist.vendor.operator.spec $2 + setprop persist.vendor.operator.seg $3 + fi +} + + +boot_carrier=`getprop ro.boot.carrier` +optr=`getprop persist.vendor.operator.optr` +set_sbp_place=`getprop ro.vendor.ril.set_sbp_place` + + +case $boot_carrier in + att|attpre ) + sbp=7 + set_properties OP07 SPEC0407 SEGDEFAULT + ;; + cricket ) + sbp=145 + set_properties OP07 SPEC0407 SEGDEFAULT + ;; + tmo|boost|cc|fi|metropcs|tracfone|retus ) + sbp=8 + set_properties OP08 SPEC0200 SEGDEFAULT + ;; + usc ) + sbp=236 + set_properties OP236 SPEC0200 SEGDEFAULT + ;; + vzw|vzwpre|comcast|spectrum ) + sbp=12 + set_properties OP12 SPEC0200 SEGDEFAULT + ;; + ctcn ) + sbp=9 + setprop ro.vendor.mtk_md_sbp_custom_value 0 + set_properties OP09 SPEC0212 SEGC + ;; + cmcc ) + sbp=1 + setprop ro.vendor.mtk_md_sbp_custom_value 1 + set_properties OP01 SPEC0200 SEGC + ;; + * ) + sbp=0 + set_properties "" "" "" + ;; +esac + +return 0 diff --git a/rootdir/etc/apanic.rc b/rootdir/etc/apanic.rc new file mode 100644 index 0000000..00b992a --- /dev/null +++ b/rootdir/etc/apanic.rc @@ -0,0 +1,23 @@ +on init + # split minidump and full ramdump + setprop ro.vendor.aee.splict_framdump yes + +service vendor.apanic_annotate /vendor/bin/apanic_mtk.sh + class late_start + user root + group log + oneshot + disabled + +on property:ro.boot.bootreason=kernel_panic + setprop ro.vendor.boot.apanic.reason "boot" + start vendor.apanic_annotate + +on property:ro.boot.bootreason=watchdog + setprop ro.vendor.boot.apanic.reason "boot" + start vendor.apanic_annotate + +on property:vendor.debug.mtk.aeev.db=* + setprop ro.vendor.boot.apanic.reason "prop" + setprop ro.vendor.boot.apanic.prop "1" + start vendor.apanic_annotate diff --git a/rootdir/etc/factory_init.connectivity.common.rc b/rootdir/etc/factory_init.connectivity.common.rc new file mode 100644 index 0000000..5c3e00b --- /dev/null +++ b/rootdir/etc/factory_init.connectivity.common.rc @@ -0,0 +1,86 @@ +on post-fs-data +# +# Connectivity related modules and character device nodes (Begin) +# + +#/dev/ttyMT2 for Connectivity BT/FM/GPS usage + chmod 0660 /dev/ttyMT2 + chown system system /dev/ttyMT2 + +# GPS + mkdir /data/vendor/gps 0770 gps system + chown gps gps /dev/stpgps + chown gps gps /dev/stpgps2 + chmod 0660 /dev/stpgps + chmod 0660 /dev/stpgps2 + +# GPS EMI + chmod 666 /dev/gps_emi + +# WiFi + mkdir /data/misc/wifi 0770 wifi wifi + mkdir /data/misc/wifi/sockets 0770 wifi wifi + mkdir /data/misc/wpa_supplicant 0770 wifi wifi + +# +# Connectivity related device nodes & configuration (end) +# + + +on boot + +# +# Connectivity related services (Begin) +# + +# GPS +#service mnld /vendor/bin/mnld +# class main +# user gps +# group gps inet misc sdcard_rw sdcard_r media_rw system radio +# socket mnld stream 660 gps system + +#service BGW /vendor/bin/BGW +# user system +# group gps system radio +# class main + +service wlan_assistant /vendor/bin/wlan_assistant + class main + user wifi + group system gps inet + +# +# Connectivity related services (End) +# + +# +# Connectivity related kernel objects (Begin) +# + +# load connfem driver +on boot + insmod /vendor/lib/modules/connfem.ko + +# load bt_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/bt_drv_${ro.vendor.bt.platform}.ko + +# load wifi chrdev driver and wlan driver after wmt_loader finish +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/${ro.vendor.wlan.chrdev}.ko + insmod /vendor/lib/modules/wlan_drv_${ro.vendor.wlan.gen}.ko + start wlan_assistant + +# load fmradio_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/fmradio_drv_${ro.vendor.fm.platform}.ko + +# load gps_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/${ro.vendor.gps.chrdev}.ko + +# +# Connectivity related kernel objects (End) +# + diff --git a/rootdir/etc/factory_init.connectivity.rc b/rootdir/etc/factory_init.connectivity.rc new file mode 100644 index 0000000..03c57f0 --- /dev/null +++ b/rootdir/etc/factory_init.connectivity.rc @@ -0,0 +1,34 @@ +import /vendor/etc/init/hw/factory_init.connectivity.common.rc + +on boot + +# +# Connectivity related services (Begin) +# + +# WMT +service wmt_loader /vendor/bin/wmt_loader + user system + group system + oneshot + +service wmt_launcher /vendor/bin/wmt_launcher -p /vendor/firmware/ + user system + group system + +# +# Connectivity related services (End) +# + +# +# Connectivity related kernel objects (Begin) +# + +# load wmt_drv +on boot + insmod /vendor/lib/modules/wmt_drv.ko + +# +# Connectivity related kernel objects (End) +# + diff --git a/rootdir/etc/factory_init.project.rc b/rootdir/etc/factory_init.project.rc new file mode 100644 index 0000000..4ef73bf --- /dev/null +++ b/rootdir/etc/factory_init.project.rc @@ -0,0 +1,42 @@ +import /vendor/etc/init/hw/init.mtkgki.rc + +mkdir /data/misc/sensors 0664 system system + +service msensord /system/bin/msensord + user system + group system + oneshot + +service akmd8963 /system/bin/akmd8963 + disabled + user system + group system + + +on post-fs + # disable HPS + write /proc/hps/enabled 0 + + + chmod 0660 /dev/spm + chown system system /dev/spm + +on boot + +service spm_script /vendor/bin/spm_loader + user system + group system + oneshot + +on property:sys.usb.config=gs1gs3 + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor ${sys.usb.vid} + write /sys/class/android_usb/android0/idProduct 2029 + write /sys/class/android_usb/android0/f_acm/port_index 2,4 + write /sys/devices/platform/mt_usb/saving 1 + write /sys/class/android_usb/android0/functions mass_storage,adb,acm + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + setprop sys.usb.acm_idx 2,4 + diff --git a/rootdir/etc/factory_init.rc b/rootdir/etc/factory_init.rc new file mode 100644 index 0000000..710dd7d --- /dev/null +++ b/rootdir/etc/factory_init.rc @@ -0,0 +1,890 @@ +# 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. +# +import /system_ext/etc/init/hw/vendor_init_as_system.rc +import ${ro.vendor.rc}factory_init.connectivity.rc +import ${ro.vendor.rc}factory_init.thp.rc +import /init.environ.rc +import /vendor/etc/init/trustonic.rc +import ${ro.vendor.rc}init.nvdata.rc +import /vendor/etc/init/microtrust.rc +import /vendor/etc/init/hw/init.aee.rc +import /system_ext/etc/init/hw/init.aee.rc +import /vendor/etc/init/vendor.mediatek.hardware.mtkpower@1.0-service.rc +import /vendor/etc/init/android.hardware.boot@1.2-service.rc +import /vendor/etc/init/android.hardware.boot@1.2-service-lazy.rc +import /vendor/etc/init/vendor.mediatek.hardware.thp@1.0-service.rc +import /vendor/etc/init/android.hardware.health@2.1-service.rc + +#NFC +import /vendor/etc/init/hw/init.stnfc.rc + +#copy from system/etc for APEX +import /system/etc/init/apexd.rc +import /system/etc/init/art_apex_boot_integrity.rc + +import /system/etc/init/vold.rc + +import /vendor/etc/init/hw/factory_init.project.rc +import /system/etc/init/servicemanager.rc +import /system/etc/init/hwservicemanager.rc +import /system/etc/init/android.hidl.allocator@1.0-service.rc + +import ${ro.vendor.rc}multi_init.rc + +on early-init + # Set init and its forked children's oom_adj. + write /proc/1/oom_score_adj -1000 + + # Disable sysrq from keyboard + write /proc/sys/kernel/sysrq 0 + + # Set the security context of /adb_keys if present. + restorecon /adb_keys + + # Set the security context of /postinstall if present. + restorecon /postinstall + + + # Set up linker config subdirectories based on mount namespaces + mkdir /linkerconfig/bootstrap 0755 + mkdir /linkerconfig/default 0755 + + # Generate ld.config.txt for early executed processes + exec -- /system/bin/bootstrap/linkerconfig --target /linkerconfig/bootstrap + + chmod 644 /linkerconfig/bootstrap/ld.config.txt + copy /linkerconfig/bootstrap/ld.config.txt /linkerconfig/default/ld.config.txt + chmod 644 /linkerconfig/default/ld.config.txt + + # Mount bootstrap linker configuration as current + mount none /linkerconfig/bootstrap /linkerconfig bind rec + + start ueventd + + + # Run apexd-bootstrap so that APEXes that provide critical libraries + # become available. Note that this is executed as exec_start to ensure that + # the libraries are available to the processes started after this statement. + exec_start apexd-bootstrap + + # Generate linker config based on apex mounted in bootstrap namespace + update_linker_config + +#INTERNAL_START + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug +#INTERNAL_END + + # initialize vendor.all.modules.ready to 1 here to prevent NOT GKI project blocked + setprop vendor.all.modules.ready 1 + +on init + +sysclktz 0 + + # Mix device-specific information into the entropy pool + copy /proc/cmdline /dev/urandom + copy /default.prop /dev/urandom + + write /proc/bootprof "INIT: on init start" + + # Backward compatibility. + symlink /system/bin /bin + symlink /system/etc /etc + + # Backward compatibility. + symlink /sys/kernel/debug /d + + +# Link /vendor to /system/vendor for devices without a vendor partition. + symlink /system/vendor /vendor +# Temp Backward compatibility + symlink /dev/block/by-name/boot /dev/bootimg + symlink /dev/block/by-name/recovery /dev/recovery + symlink /dev/block/by-name/secro /dev/sec_ro + symlink /dev/block/by-name/kb /dev/kb + symlink /dev/block/by-name/dkb /dev/dkb + symlink /dev/block/by-name/seccfg /dev/seccfg + symlink /dev/block/by-name/proinfo /dev/pro_info + symlink /dev/block/by-name/nvram /dev/nvram + symlink /dev/block/by-name/para /dev/misc + symlink /dev/block/by-name/logo /dev/logo + + + # Mount cgroup mount point for cpu accounting + mount cgroup none /acct cpuacct + mkdir /acct/uid + + # Create energy-aware scheduler tuning nodes + mkdir /dev/stune + mount cgroup none /dev/stune nodev noexec nosuid schedtune + mkdir /dev/stune/foreground + mkdir /dev/stune/background + mkdir /dev/stune/top-app + mkdir /dev/stune/rt + chown system system /dev/stune + chown system system /dev/stune/foreground + chown system system /dev/stune/background + chown system system /dev/stune/top-app + chown system system /dev/stune/rt + chown system system /dev/stune/tasks + chown system system /dev/stune/foreground/tasks + chown system system /dev/stune/background/tasks + chown system system /dev/stune/top-app/tasks + chown system system /dev/stune/rt/tasks + chmod 0664 /dev/stune/tasks + chmod 0664 /dev/stune/foreground/tasks + chmod 0664 /dev/stune/background/tasks + chmod 0664 /dev/stune/top-app/tasks + chmod 0664 /dev/stune/rt/tasks + + # Permissions for System Server and daemons. + chown system system /sys/power/autosleep + chown system system /sys/power/state + chown system system /sys/power/wakeup_count + chown radio wakelock /sys/power/wake_lock + chown radio wakelock /sys/power/wake_unlock + chmod 0660 /sys/power/state + chmod 0660 /sys/power/wake_lock + chmod 0660 /sys/power/wake_unlock + chmod 0660 /sys/power/wakeup_count + + restorecon_recursive /mnt + # Support legacy paths + symlink /sdcard /mnt/sdcard + + mount configfs none /config nodev noexec nosuid + chmod 0770 /config/sdcardfs + chown system package_info /config/sdcardfs + + # Mount binderfs + mkdir /dev/binderfs + mount binder binder /dev/binderfs stats=global + chmod 0755 /dev/binderfs + + # Mount fusectl + mount fusectl none /sys/fs/fuse/connections + + symlink /dev/binderfs/binder /dev/binder + symlink /dev/binderfs/hwbinder /dev/hwbinder + symlink /dev/binderfs/vndbinder /dev/vndbinder + + chmod 0666 /dev/binderfs/hwbinder + chmod 0666 /dev/binderfs/binder + chmod 0666 /dev/binderfs/vndbinder + + mkdir /mnt/secure 0700 root root + mkdir /mnt/secure/asec 0700 root root + mkdir /mnt/asec 0755 root system + mkdir /mnt/obb 0755 root system + mkdir /mnt/media_rw 0750 root media_rw + mkdir /mnt/user 0755 root root + mkdir /mnt/user/0 0755 root root + mkdir /mnt/expand 0771 system system + mkdir /mnt/appfuse 0711 root root + + # Storage views to support runtime permissions + mkdir /mnt/runtime 0700 root root + mkdir /mnt/runtime/default 0755 root root + mkdir /mnt/runtime/default/self 0755 root root + mkdir /mnt/runtime/read 0755 root root + mkdir /mnt/runtime/read/self 0755 root root + mkdir /mnt/runtime/write 0755 root root + mkdir /mnt/runtime/write/self 0755 root root + + # Symlink to keep legacy apps working in multi-user world + symlink /storage/self/primary /sdcard + symlink /storage/self/primary /mnt/sdcard + symlink /mnt/user/0/primary /mnt/runtime/default/self/primary + + # root memory control cgroup, used by lmkd + mkdir /dev/memcg 0700 root system + mount cgroup none /dev/memcg memory + # app mem cgroups, used by activity manager, lmkd and zygote + mkdir /dev/memcg/apps/ 0755 system system + + write /proc/sys/kernel/panic_on_oops 1 + write /proc/sys/kernel/hung_task_timeout_secs 0 + write /proc/cpu/alignment 4 + + # scheduler tunables + # Disable auto-scaling of scheduler tunables with hotplug. The tunables + # will vary across devices in unpredictable ways if allowed to scale with + # cpu cores. + write /proc/sys/kernel/sched_tunable_scaling 0 + write /proc/sys/kernel/sched_latency_ns 10000000 + write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000 + write /proc/sys/kernel/sched_child_runs_first 0 + + write /proc/sys/kernel/randomize_va_space 2 + write /proc/sys/vm/mmap_min_addr 32768 + write /proc/sys/net/ipv4/ping_group_range "0 2147483647" + write /proc/sys/net/unix/max_dgram_qlen 600 + write /proc/sys/kernel/sched_rt_runtime_us 950000 + write /proc/sys/kernel/sched_rt_period_us 1000000 + + # Assign reasonable ceiling values for socket rcv/snd buffers. + # These should almost always be overridden by the target per the + # the corresponding technology maximums. + write /proc/sys/net/core/rmem_max 262144 + write /proc/sys/net/core/wmem_max 262144 + + # reflect fwmark from incoming packets onto generated replies + write /proc/sys/net/ipv4/fwmark_reflect 1 + write /proc/sys/net/ipv6/fwmark_reflect 1 + + # set fwmark on accepted sockets + write /proc/sys/net/ipv4/tcp_fwmark_accept 1 + + # disable icmp redirects + write /proc/sys/net/ipv4/conf/all/accept_redirects 0 + write /proc/sys/net/ipv6/conf/all/accept_redirects 0 + + #INTERNAL_START + mkdir /mnt/cd-rom 0000 system system + #INTERNAL_END + # enable armv8_deprecated instruction hooks + write /proc/sys/abi/swp 1 + # Linux's execveat() syscall may construct paths containing /dev/fd + # expecting it to point to /proc/self/fd + symlink /proc/self/fd /dev/fd + # set RLIMIT_NICE to allow priorities from 19 to -20 + setrlimit nice 40 40 + + start servicemanager + start hwservicemanager + start hidl_memory + + # Healthd can trigger a full boot from charger mode by signaling this + # property when the power button is held. + on property:sys.boot_from_charger_mode=1 + class_stop charger + trigger late-init + +# Load properties from /system/ + /factory after fs mount. + on load_system_props_action + load_system_props + + on load_persist_props_action + load_persist_props + start logd + start logd-reinit + +# Indicate to fw loaders that the relevant mounts are up. +on firmware_mounts_complete + rm /dev/.booting + + # Mount filesystems and start core system services. + on late-init + trigger early-fs + + # Mount fstab in init.{$device}.rc by mount_all command. Optional parameter + # '--early' can be specified to skip entries with 'latemount'. + # /system and /vendor must be mounted by the end of the fs stage, + # while /data is optional. + trigger fs + trigger post-fs + + # Load properties from /system/ + /factory after fs mount. Place + # this in another action so that the load will be scheduled after the prior + # issued fs triggers have completed. + trigger load_system_props_action + + # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter + # to only mount entries with 'latemount'. This is needed if '--early' is + # specified in the previous mount_all command on the fs stage. + # With /system mounted and properties form /system + /factory available, + # some services can be started. + trigger late-fs + + # Now we can mount /data. File encryption requires keymaster to decrypt + # /data, which in turn can only be loaded when system properties are present. + trigger post-fs-data + + # Load persist properties and override properties (if enabled) from /data. + trigger load_persist_props_action + + # Remove a file to wake up anything waiting for firmware. + trigger firmware_mounts_complete + + trigger early-boot + trigger boot + + on early-fs + # Once metadata has been mounted, we'll need vold to deal with userdata checkpointing + start vold + +# mount different fs start +on fs + #USB configfs + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x0E8D + write /config/usb_gadget/g1/bcdDevice 0xFFFF + write /config/usb_gadget/g1/bcdUSB 0x0200 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/manufacturer "Android" + write /config/usb_gadget/g1/strings/0x409/product "Android" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + mkdir /config/usb_gadget/g1/functions/mass_storage.usb0 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/acm.gs0 + mkdir /config/usb_gadget/g1/functions/acm.gs1 + mkdir /config/usb_gadget/g1/functions/acm.gs2 + mkdir /config/usb_gadget/g1/functions/acm.gs3 + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + +#INTERNAL_START + write /proc/bootprof "INIT:Mount_START" + start vendor.boot-hal-1-2 + mount_all --early + write /proc/bootprof "INIT:Mount_END" +#INTERNAL_END +# mount different fs end + +on post-fs + start logd + start light-default + start system_suspend + start merged_hal_service + start capi-2-0 + start health-hal-2-1 + # Once everything is setup, no need to modify /. + # The bind+ro combination avoids modifying any other mount flags. + # mount rootfs rootfs / remount bind ro + # Mount shared so changes propagate into child namespaces + mount rootfs rootfs / shared rec + # Mount default storage into root namespace + mount none /mnt/runtime/default /storage bind rec + mount none none /storage slave rec + + # Make sure /sys/kernel/debug (if present) is labeled properly + # Note that tracefs may be mounted under debug, so we need to cross filesystems + restorecon --recursive --cross-filesystems /sys/kernel/debug + + # Support legacy paths + symlink /sdcard /storage/sdcard0 + + chown system system /system/data + mkdir /system/cache 0770 system cache + # We restorecon /cache in case the cache partition has been reset. + restorecon_recursive /cache + + # Same reason as /data above + chown system cache /cache + chmod 0770 /cache + + # This may have been created by the recovery system with odd permissions + chown system cache /cache/recovery + chmod 0770 /cache/recovery + + #change permissions on vmallocinfo so we can grab it from bugreports + chown root log /proc/vmallocinfo + chmod 0440 /proc/vmallocinfo + + #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks + chown root system /proc/kmsg + chmod 0440 /proc/kmsg + chown root system /proc/sysrq-trigger + chmod 0220 /proc/sysrq-trigger + chown system log /proc/last_kmsg + chmod 0440 /proc/last_kmsg + + # make the selinux kernel policy world-readable + chmod 0444 /sys/fs/selinux/policy + + # create the lost+found directories, so as to enforce our permissions + mkdir /cache/lost+found 0770 root root + +#INTERNAL_START + mkdir /cache/recovery 0770 system system + chown system system /mnt/vendor/protect_f + chmod 0770 /mnt/vendor/protect_f + + chown system system /mnt/vendor/protect_s + chmod 0770 /mnt/vendor/protect_s + + chown system system /mnt/vendor/nvcfg + chmod 0771 /mnt/vendor/nvcfg + restorecon_recursive /mnt/vendor/nvcfg + + chown root system /mnt/vendor/nvdata + chmod 0771 /mnt/vendor/nvdata + mkdir /mnt/vendor/nvdata/media 0771 media audio + restorecon_recursive /mnt/vendor/nvdata + +#INTERNAL_END + +on late-fs + + # HALs required before storage encryption can get unlocked (FBE/FDE) + class_start early_hal + wait_for_prop hwservicemanager.ready "true" + start vendor.keymaster-3-0 + start vendor.keymaster-3-0-trustonic + start vendor.keymaster-4-0 + start vendor.keymaster-4-0-trustonic + start vendor.keymaster-4-0-beanpod + start vendor.keymaster-4-1-beanpod + start vendor.keymint-default + start keymaster_attestation-1-1 + exec_start wait_for_keymaster + mount_all --late + +on post-fs-data + write /proc/bootprof "INIT:post-fs-data" + wait_for_prop vendor.all.modules.ready 1 + write /proc/bootprof "modprobe: Load_Module_DONE" + + #Thermal + mkdir /data/.tp/ 0775 system system + + # symlink to bugreport storage location + rm /data/bugreports + symlink /data/user_de/0/com.android.shell/files/bugreports /data/bugreports + + # VIA flashlessd service + mkdir /data/flashless 0770 radio nvram + mkdir /mnt/vendor/nvdata/md_via 0770 root nvram + chmod 0660 /dev/ttyMT4 + chown radio radio /dev/ttyMT4 + chmod 0660 /dev/vmodem + chown radio radio /dev/vmodem + + #VIA pppd service + mkdir /data/pppd_via 0770 radio system + + # md32 boot + chown root system /dev/md32 + chmod 0440 /dev/md32 + chown root system /sys/class/misc/md32/md32_mobile_log + chmod 0660 /sys/class/misc/md32/md32_mobile_log + write /sys/class/misc/md32/md32_boot 1 + + # dhcp server + mkdir /data/misc/dhcp 0770 dhcp dhcp + chown dhcp dhcp /data/misc/dhcp + + # device info interface + chmod 0440 /dev/devmap + chown root system /dev/devmap + + + + #change partition permission + exec /vendor/etc/partition_permission.sh +#INTERNAL_START +#SeLinux + mkdir /data/ccci_cfg 0770 system radio + restorecon /data/ccci_cfg + restorecon_recursive /mnt/vendor/protect_f + restorecon_recursive /mnt/vendor/protect_s + +## Custom pos-fs area (START) +# Please add custom fs operation below + + # Touch Panel + chown root diag /sys/module/tpd_setting/parameters/tpd_calmat + chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time + chown root diag /sys/module/tpd_debug/parameters/tpd_em_log + chown root diag /sys/module/tpd_debug/parameters/tpd_em_log_to_fs + + # RTC + mkdir /data/misc/rtc 0770 system system + + # Modem related device nodes + mkdir /mnt/vendor/nvdata/md 0770 root system + mkdir /mnt/vendor/nvdata/md2 0770 root system + mkdir /mnt/vendor/nvdata/md3 0770 root system + mkdir /data/md3 0770 root system + + chown radio radio /sys/kernel/ccci/boot + + #set mlock limit to infinate (for m4u operation) + setrlimit 8 -1 -1 + + + #VideoCodec + chmod 0666 /dev/Vcodec + + + mkdir /data/amit/ + + # GPIO + chmod 0666 /dev/mtgpio + + chmod 0666 /dev/exm0 + + #NFC + rm /data/mtknfc_server + +## Custom pos_fs area (END) +#INTERNAL_END + + # Separate location for storing security policy files on data + mkdir /data/security 0711 system system + +# It is recommended to put unnecessary data/ initialization from post-fs-data +# to start-zygote in device's init.rc to unblock zygote start. +on zygote-start && property:ro.crypto.state=unencrypted + # A/B update verifier that marks a successful boot. + exec_start update_verifier_nonencrypted + start netd + start zygote + start zygote_secondary + +on zygote-start && property:ro.crypto.state=unsupported + # A/B update verifier that marks a successful boot. + exec_start update_verifier_nonencrypted + start netd + start zygote + start zygote_secondary + +on zygote-start && property:ro.crypto.state=encrypted && property:ro.crypto.type=file + # A/B update verifier that marks a successful boot. + exec_start update_verifier_nonencrypted + start netd + start zygote + start zygote_secondary + +on boot + setprop sys.usb.configfs 1 + setprop sys.usb.controller "11201000.usb0" + setprop sys.usb.ffs.aio_compat 1 + setprop vendor.usb.clear boot + + # TTY + chmod 0660 /dev/ttyGS0 + chown system radio /dev/ttyGS0 + chmod 0660 /dev/ttyGS1 + chown system radio /dev/ttyGS1 + # For BT relayer + chown bluetooth radio /dev/ttyGS2 + chmod 0660 /dev/ttyGS2 + # For MD Logger + chown system radio /dev/ttyGS3 + chmod 0660 /dev/ttyGS3 + + #VIA device property + setprop viatel.device.asci uart.4.ttyMT + setprop viatel.device.fls sdio.3.ttySDIO + setprop viatel.device.at sdio.4.ttySDIO + setprop viatel.device.data sdio.1.ttySDIO + + # For backlight + chmod 0664 /sys/class/leds/lcd-backlight/brightness + chown system system /sys/class/leds/lcd-backlight/brightness + + # Power Manager + write /sys/power/pm_freeze_timeout 2000 + +# basic network init + ifup lo + hostname localhost + domainname localdomain + + #INTERNAL_START + # Start default class, this line is very important!! + class_start default + #INTERNAL_END + + # Start standard binderized HAL daemons + class_start hal + + class_start core + +on nonencrypted + class_start main + class_start late_start + +on property:vold.decrypt=trigger_default_encryption + start defaultcrypto + +on property:vold.decrypt=trigger_encryption + start surfaceflinger + start encrypt + +on property:vold.decrypt=trigger_reset_main + class_reset main + +on property:vold.decrypt=trigger_load_persist_props + load_persist_props + start logd + start logd-reinit + +on property:vold.decrypt=trigger_post_fs_data + trigger post-fs-data + trigger zygote-start + +on property:vold.decrypt=trigger_restart_min_framework + # A/B update verifier that marks a successful boot. + exec_start update_verifier + class_start main + +on property:vold.decrypt=trigger_restart_framework + stop surfaceflinger + start surfaceflinger + # A/B update verifier that marks a successful boot. + exec_start update_verifier + class_start main + class_start late_start + +on property:vold.decrypt=trigger_shutdown_framework + class_reset late_start + class_reset main + +# One shot invocation to deal with encrypted volume. +on defaultcrypto + exec - root -- /system/bin/vdc --wait cryptfs mountdefaultencrypted + # vold will set vold.decrypt to trigger_restart_framework (default + # encryption) or trigger_restart_min_framework (other encryption) + +# One shot invocation to encrypt unencrypted volumes +# mtk modification: +# To speed up the booting in meta/factory mode, we don't encrypt the device. +# And then handle it as 'unencrypted' state. +on encrypt + mount ext4 /dev/block/by-name/userdata /data noatime nosuid nodev noauto_da_alloc discard wait + setprop vendor.crypto.fake_encrypt 1 + setprop vold.post_fs_data_done 0 + trigger post-fs-data +on property:vendor.crypto.fake_encrypt=1 && property:vold.post_fs_data_done=1 + trigger load_persist_props_action + # setprop ro.crypto.state unencrypted + setprop vendor.soter.teei.crypto.state unencrypted + exec_start update_verifier + class_start main + class_start late_start + start mount_all_storages + +service ueventd /system/bin/ueventd + class core + critical + seclabel u:r:ueventd:s0 + +service console /system/bin/sh + class core + console + disabled + user shell + group shell log readproc + seclabel u:r:shell:s0 + +on property:sys.powerctl=* + powerctl ${sys.powerctl} + +#Log too much setting +on property:ro.vendor.mtklog_internal=1 + setprop vendor.logmuch.value 10000 + +on property:ro.debuggable=1 + # Give writes to anyone for the trace folder on debug builds. + # The folder is used to store method traces. + chmod 0773 /data/misc/trace + start console + +# adbd is controlled via property triggers in init..usb.rc +service adbd /apex/com.android.adbd/bin/adbd --root_seclabel=u:r:su:s0 + class core + socket adbd seqpacket 660 system system + disabled + override + seclabel u:r:adbd:s0 + +#INTERNAL_START +## Custom service area (START) +# Please add custom service below + +service thermal_manager /vendor/bin/thermal_manager + user root + group system + oneshot + +service permission_check /vendor/bin/permission_check + user root + group system radio + oneshot + +service ccci_mdinit /vendor/bin/ccci_mdinit 0 + user system + group radio system + oneshot + +service ccci_rpcd /vendor/bin/ccci_rpcd 0 + user radio + group radio system + oneshot + + +service fuelgauged /vendor/bin/fuelgauged + class main + user system + group system + +service mdlogger /system/bin/mdlogger + class main + user shell + group shell system radio sdcard_rw inet + disabled + oneshot + +service dualmdlogger /system/bin/dualmdlogger + class main + user shell + group shell system radio sdcard_rw inet + disabled + oneshot + +service factory_no_image /vendor/bin/factory + user root + group radio system wifi media gps audio bluetooth wakelock nfc + capabilities BLOCK_SUSPEND NET_RAW NET_ADMIN SYS_ADMIN SYS_BOOT + +service emdlogger1 /system/system_ext/bin/emdlogger1 + class main + user shell + group system shell radio sdcard_rw inet sdcard_r media_rw + disabled + oneshot + +service emdlogger2 /system/bin/emdlogger2 + class main + user shell + group system shell radio sdcard_rw inet sdcard_r media_rw + disabled + oneshot + +service emdlogger3 /system/bin/emdlogger3 + class main + user shell + group system shell radio sdcard_rw inet sdcard_r media_rw + disabled + oneshot + +service emdlogger5 /system/bin/emdlogger5 + class main + user shell + group system shell radio sdcard_rw inet sdcard_r media_rw + disabled + oneshot + +service emdlogger6 /system/bin/emdlogger6 + class main + user shell + group system shell radio sdcard_rw inet sdcard_r media_rw + disabled + oneshot + +## Custom service area (END) +on property:vendor.usb.clear=1 && property:sys.usb.configfs=1 + stop adbd + setprop sys.usb.ffs.ready 0 + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + write /sys/devices/platform/mt_usb/saving 0 + setprop vendor.usb.clear 2 + start adbd + +#mass_storage,adb,acm +on property:ro.boot.usbconfig=0 && property:sys.usb.configfs=1 && property:vendor.usb.clear=boot + start adbd + +on property:sys.usb.ffs.ready=1 && property:ro.boot.usbconfig=0 && \ +property:sys.usb.configfs=1 && property:vendor.usb.clear=boot + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /config/usb_gadget/g1/idProduct 0x2006 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop vendor.usb.acm_idx "1" + +on property:ro.boot.usbconfig=1 && property:sys.usb.configfs=1 && property:vendor.usb.clear=boot + start adbd + +on property:sys.usb.ffs.ready=1 && property:ro.boot.usbconfig=1 && \ +property:sys.usb.configfs=1 && property:vendor.usb.clear=boot + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /config/usb_gadget/g1/idProduct 0x2006 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop vendor.usb.acm_idx "1" + +#singloe modem comport for factory mode +on property:sys.usb.config=gs3,dual_acm && property:sys.usb.configfs=1 + setprop vendor.usb.clear 1 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=gs3,dual_acm && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "gs3_dual_acm" + write /config/usb_gadget/g1/idProduct 0x202E + write /sys/devices/platform/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + setprop vendor.usb.clear 0 + setprop vendor.usb.acm_idx "1,4" + +on property:sys.usb.config=gs1gs3,dual_acm && property:sys.usb.configfs=1 + setprop vendor.usb.clear 1 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=gs1gs3,dual_acm && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "gs1gs3_dual_acm" + write /config/usb_gadget/g1/idProduct 0x202F + write /sys/devices/platform/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs1 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + setprop vendor.usb.clear 0 + setprop vendor.usb.acm_idx "1,2,4" + +on property:sys.usb.config=gs1gs3 && property:sys.usb.configfs=1 + setprop vendor.usb.clear 1 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=gs1gs3 && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "gs1gs3" + write /config/usb_gadget/g1/idProduct 0x2029 + write /sys/devices/platform/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs1 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop vendor.usb.clear 0 + setprop vendor.usb.acm_idx "1,4" + +# MTK fast charging support +on property:persist.vendor.mediatek.fast_charging.support=* + write /sys/devices/platform/charger/fast_chg_indicator ${persist.vendor.mediatek.fast_charging.support} + +#INTERNAL_END diff --git a/rootdir/etc/fstab.enablezramwb b/rootdir/etc/fstab.enablezramwb new file mode 100644 index 0000000..e3f0c18 --- /dev/null +++ b/rootdir/etc/fstab.enablezramwb @@ -0,0 +1 @@ +/dev/block/zram0 none swap defaults zramsize=75%,max_comp_streams=8,zram_backingdev_size=prop diff --git a/rootdir/etc/init.aee.rc b/rootdir/etc/init.aee.rc new file mode 100644 index 0000000..7e63e0b --- /dev/null +++ b/rootdir/etc/init.aee.rc @@ -0,0 +1,2 @@ +on init + write /proc/aed/generate-oops aee0 diff --git a/rootdir/etc/init.cgroup.rc b/rootdir/etc/init.cgroup.rc new file mode 100644 index 0000000..ba13def --- /dev/null +++ b/rootdir/etc/init.cgroup.rc @@ -0,0 +1,67 @@ +on early-init + # boot perf. tune + write /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq 2000000 + write /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq 2200000 + write /sys/class/devfreq/mtk-dvfsrc-devfreq/userspace/set_freq 5500000000 + +on charger + write /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq 0 + write /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq 0 + write /sys/class/devfreq/mtk-dvfsrc-devfreq/userspace/set_freq 0 + +on post-fs-data && property:ro.bootmode=charger + # set governor. + write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor sugov_ext + write /sys/devices/system/cpu/cpufreq/policy6/scaling_governor sugov_ext + write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 + + # restore boot perf. + write /proc/sys/kernel/sched_migration_cost_ns 200000 + write /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq 0 + write /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq 0 + write /sys/class/devfreq/mtk-dvfsrc-devfreq/userspace/set_freq 0 + write /dev/cpuctl/system/cpu.uclamp.min 0 + write /dev/cpuctl/system/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/system-background/cpu.uclamp.min 0 + write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/foreground/cpu.uclamp.min 0 + write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/top-app/cpu.uclamp.min 0 + write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/background/cpu.uclamp.min 0 + write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 0 + +on boot + # boot perf. tune + write /dev/cpuctl/system/cpu.uclamp.min 100 + write /dev/cpuctl/system/cpu.uclamp.latency_sensitive 1 + write /dev/cpuctl/system-background/cpu.uclamp.min 100 + write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 1 + write /dev/cpuctl/foreground/cpu.uclamp.min 100 + write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 1 + write /dev/cpuctl/top-app/cpu.uclamp.min 100 + write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1 + write /dev/cpuctl/background/cpu.uclamp.min 100 + write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 1 + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpufreq/policy0/scaling_governor sugov_ext + write /sys/devices/system/cpu/cpufreq/policy6/scaling_governor sugov_ext + write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 + + write /proc/sys/kernel/sched_migration_cost_ns 200000 + + # restore boot perf. tune + write /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq 0 + write /sys/devices/system/cpu/cpufreq/policy6/scaling_min_freq 0 + write /sys/class/devfreq/mtk-dvfsrc-devfreq/userspace/set_freq 0 + write /dev/cpuctl/system/cpu.uclamp.min 0 + write /dev/cpuctl/system/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/system-background/cpu.uclamp.min 0 + write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/foreground/cpu.uclamp.min 0 + write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/top-app/cpu.uclamp.min 0 + write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 0 + write /dev/cpuctl/background/cpu.uclamp.min 0 + write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 0 diff --git a/rootdir/etc/init.connectivity.common.rc b/rootdir/etc/init.connectivity.common.rc new file mode 100644 index 0000000..550029b --- /dev/null +++ b/rootdir/etc/init.connectivity.common.rc @@ -0,0 +1,83 @@ +# MTK connectivity .rc configure + +on post-fs-data + + +# +# Connectivity related device nodes & configuration (begin) +# + +#/dev/ttyMT2 for Connectivity BT/FM/GPS usage + chmod 0660 /dev/ttyMT2 + chown system system /dev/ttyMT2 + +#/dev/ttyMT1 for GPS 3337 usage + chmod 0660 /dev/ttyMT1 + chown system system /dev/ttyMT1 + +# GPS + mkdir /data/vendor/gps 0770 gps system + mkdir /data/vendor/log 0770 gps system + mkdir /data/vendor/log/gps 0770 gps system + +# GPS EMI + chmod 0660 /dev/gps_emi + +# WiFi + mkdir /data/vendor/wifi 0770 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + +# BT relayer mode used VCOM + chown bluetooth bluetooth /dev/ttyGS2 + chmod 0660 /dev/ttyGS2 + +# +# Connectivity related device nodes & configuration (end) +# + + +on boot + +# +# Connectivity related services (Begin) +# +# GPS +service mnld /vendor/bin/mnld + class main + user gps + capabilities WAKE_ALARM + group gps inet misc sdcard_rw sdcard_r media_rw system radio wakelock + socket mnld stream 660 gps system + +# GPS Debug Process +service lbs_dbg /system/bin/lbs_dbg + class main + user shell + group log system gps inet misc sdcard_rw sdcard_r media_rw radio + socket lbs_dbg stream 660 gps system + +on property:persist.vendor.em.dy.debug=1 + stop lbs_dbg + +#service BGW /vendor/bin/BGW +# user system +# group gps system radio +# class main + +# Wlan +#service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ +# -g@android:wpa_wlan0 +# interface android.hardware.wifi.supplicant@1.0::ISupplicant default +# interface android.hardware.wifi.supplicant@1.1::ISupplicant default +# interface android.hardware.wifi.supplicant@1.2::ISupplicant default +# interface android.hardware.wifi.supplicant@1.3::ISupplicant default +# socket wpa_wlan0 dgram 660 wifi wifi +# class main +# disabled +# oneshot + +# +# Connectivity related services (End) +# + diff --git a/rootdir/etc/init.connectivity.rc b/rootdir/etc/init.connectivity.rc new file mode 100644 index 0000000..08b3a51 --- /dev/null +++ b/rootdir/etc/init.connectivity.rc @@ -0,0 +1,4 @@ +# MTK connectivity .rc configure + +import /vendor/etc/init/hw/init_connectivity.rc +import /vendor/etc/init/hw/init.connectivity.common.rc diff --git a/rootdir/etc/init.mmi.backup.trustlet.rc b/rootdir/etc/init.mmi.backup.trustlet.rc new file mode 100644 index 0000000..49ce522 --- /dev/null +++ b/rootdir/etc/init.mmi.backup.trustlet.rc @@ -0,0 +1,14 @@ +on post-fs + chown system system /mnt/vendor/tzapp + chmod 0770 /mnt/vendor/tzapp + restorecon_recursive /mnt/vendor/tzapp + +service trustlet_backup /vendor/bin/init.mmi.backup.trustlet.sh + class main + user system + group system + oneshot + disabled + +on property:sys.boot_completed=1 + start trustlet_backup diff --git a/rootdir/etc/init.mmi.chipset.rc b/rootdir/etc/init.mmi.chipset.rc new file mode 100644 index 0000000..59967fe --- /dev/null +++ b/rootdir/etc/init.mmi.chipset.rc @@ -0,0 +1,25 @@ +import /vendor/etc/init/hw/init.mmi.backup.trustlet.rc + +#insmod usbnet.ko when on factory mode +on early-init && property:ro.boot.atm=enable && property:ro.bootmode=mot-factory + insmod /vendor/lib/modules/moto_f_usbnet.ko + +on early-init + insmod /vendor/lib/modules/mmi_info.ko + +on early-boot && property:ro.vendor.build.motfactory=1 + wait /sys/devices/platform/moto_chg_tcmd/force_chg_usb_suspend + chown system system /sys/devices/platform/moto_chg_tcmd/force_chg_usb_suspend + +on post-fs-data + # for batt_health server + mkdir /mnt/vendor/persist/batt_health 0770 vendor_pwric vendor_pwric +on property:sys.boot_completed=1 && property:ro.build.type=userdebug + start vendor.batt_health +on charger && property:ro.build.type=userdebug + start vendor.batt_health +service vendor.batt_health /vendor/bin/batt_health + class late_start + user vendor_pwric + group vendor_pwric cache net_admin log system + disabled diff --git a/rootdir/etc/init.mmi.overlay.rc b/rootdir/etc/init.mmi.overlay.rc new file mode 100644 index 0000000..1bc2d4b --- /dev/null +++ b/rootdir/etc/init.mmi.overlay.rc @@ -0,0 +1,210 @@ +on early-init + insmod /vendor/lib/modules/sensors_class.ko + insmod /vendor/lib/modules/sx937x_sar.ko + insmod /vendor/lib/modules/bq25980_mmi.ko + insmod /vendor/lib/modules/mmi_decrete_charger_cp_qc3p.ko + insmod /vendor/lib/modules/moto_mmap_fault.ko + exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules qpnp_adaptive_charge leds-gpio pn557 + exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -r -d /vendor/lib/modules zram + +on post-fs-data + # calibration + mkdir /data/vendor/sensor 0774 system system + # Sensor + chmod 0660 /dev/hf_manager + chown system system /dev/hf_manager + + # config fingerprint + mkdir /data/vendor/.fps 0770 system vendor_fingerp + mkdir /mnt/vendor/persist/fps 0770 system system + mkdir /data/vendor/egis 0770 system vendor_fingerp + mkdir /data/vendor/egis/cqa 0770 system vendor_fingerp + mkdir /mnt/vendor/persist/egis 0770 system vendor_fingerp + + # Required by touchRec for write the touch data + mkdir /data/vendor/touchrec 0770 input input + chown input input /data/vendor/touchrec/bootindex + chown input input /data/vendor/touchrec/lastbootuuid + chown input input /data/vendor/touchrec/touch_data.txt + chmod 0664 /data/vendor/touchrec/touch_data.txt + +service vendor.modem-rfs-sh /vendor/bin/init.mmi.modem-rfs.sh loop 600 + class late_start + user root + group log system radio + oneshot + +on late-init + #moto algo params + chmod 0660 /sys/bus/platform/drivers/mtk_nanohub/algo_params + chown system system /sys/bus/platform/drivers/mtk_nanohub/algo_params + + chown system system /sys/class/sensors/capsense_bottom_left/enable + chown system system /sys/class/sensors/capsense_bottom_left/poll_delay + chown system system /sys/class/sensors/capsense_bottom_right/enable + chown system system /sys/class/sensors/capsense_bottom_right/poll_delay + chown system system /sys/class/sensors/capsense_top_left/enable + chown system system /sys/class/sensors/capsense_top_left/poll_delay + chown system system /sys/class/sensors/capsense_top_mid/enable + chown system system /sys/class/sensors/capsense_top_mid/poll_delay + chown system system /sys/class/sensors/capsense_top_right/enable + chown system system /sys/class/sensors/capsense_top_right/poll_delay + exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules moto_mm moto_swap + +service capsense_reset /vendor/bin/capsense_reset + class core + user system + group system input + disabled + +on property:sys.boot_completed=1 + start capsense_reset + +# Turn on led to indicate device on in factory mode +on property:ro.bootmode=mot-factory + write /sys/class/leds/charging/brightness 255 + +on early-boot + # Permission for Health Storage HAL + chown system system /sys/devices/platform/soc/112b0000.ufshci/manual_gc + chown system system /sys/devices/platform/soc/112b0000.ufshci/ufshid/trigger + +service nxpnfcinfo /system/vendor/bin/nxpnfcinfo + class late_start + group nfc + user system + oneshot + +on property:ro.vendor.hw.nfc=ese_nq + insmod /vendor/lib/modules/nxp_i2c.ko + insmod /vendor/lib/modules/nxp_ese.ko + wait /dev/nq-nci + chown nfc nfc /dev/nq-nci + chmod 0666 /dev/nq-nci + wait /dev/p73 + chown secure_element secure_element /dev/p73 + chmod 0666 /dev/p73 + +on property:ro.vendor.hw.nfc=samsung + insmod /vendor/lib/modules/sec_nfc.ko + wait /dev/sec-nfc + chown nfc nfc /dev/sec-nfc + chmod 0770 /dev/sec-nfc + +on boot + write /sys/class/i2c-dev/i2c-9/device/9-0030/wireless_fw_update 1 + # Set wls perms for HAL + chown system system /sys/class/power_supply/wireless/device/pen_control + chown system system /sys/class/power_supply/wireless/device/tx_mode + chown system system /sys/class/power_supply/wireless/device/wls_input_current_limit + chown system system /sys/class/power_supply/wireless/device/folio_mode + chmod 0660 /sys/class/power_supply/wireless/device/pen_control + chmod 0660 /sys/class/power_supply/wireless/device/tx_mode + chmod 0660 /sys/class/power_supply/wireless/device/wls_input_current_limit + chmod 0660 /sys/class/power_supply/wireless/device/folio_mode + # change permission for capsensor + chown system system /sys/class/capsense/reset + chown system system /sys/class/capsense/int_state + chown radio system /sys/class/capsense/reg + chown radio system /sys/class/capsense/fw_download_status + chmod 0660 /sys/class/capsense/reset + chmod 0660 /sys/class/capsense/int_state + chmod 0660 /sys/class/capsense/reg + chmod 0660 /sys/class/capsense/fw_download_status + + # change dir permission + mkdir /data/vendor/camera_dump + chown root camera /data/vendor/camera_dump + chmod 0770 /data/vendor/camera_dump + + # Change ownership and permission for cp-standalone factory testing + chown system system /sys/class/power_supply/cp-standalone/voltage_now + chown system system /sys/class/power_supply/cp-standalone/device/force_chg_auto_enable + chmod 0644 /sys/class/power_supply/cp-standalone/voltage_now +# Set adaptive charging perms for HAL + chown system system /sys/module/qpnp_adaptive_charge/parameters/upper_limit + chown system system /sys/module/qpnp_adaptive_charge/parameters/lower_limit + # touch api + chown system system /sys/class/touchscreen/primary/interpolation + chmod 0660 /sys/class/touchscreen/primary/interpolation + chown system system /sys/class/touchscreen/primary/first_filter + chmod 0660 /sys/class/touchscreen/primary/first_filter + chown system system /sys/class/touchscreen/primary/edge + chmod 0660 /sys/class/touchscreen/primary/edge + chown system system /sys/class/touchscreen/primary/gesture + chmod 0660 /sys/class/touchscreen/primary/gesture + chmod 0664 /proc/cts_tool + + write /sys/block/sdc/queue/scheduler bfq + write /sys/block/sdc/queue/iosched/slice_idle 0 + + write /proc/sys/vm/dirty_background_bytes 26214400 + write /proc/sys/vm/dirty_bytes 104857600 +on fs + exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules mmi_relay nova_0flash_mmi_v2 focaltech_0flash_mmi_v2 ilitek_v3_mmi + +# camera eeprom calibration +on property:sys.boot_completed=1 + chmod 0644 /data/vendor/camera_dump/mot_gt24p128f_ov50d_eeprom.bin + chmod 0644 /data/vendor/camera_dump/mot_gt24p128f_s5kjns_eeprom.bin + chmod 0644 /data/vendor/camera_dump/serial_number_main.bin + chmod 0644 /data/vendor/camera_dump/mot_gt24p64ba2_hi1634q_eeprom.bin + chmod 0644 /data/vendor/camera_dump/mot_gt24p64ba2_s5k3p9sp04_eeprom.bin + chmod 0644 /data/vendor/camera_dump/serial_number_front.bin + chmod 0644 /data/vendor/camera_dump/mot_cancunf_s5k4h7_otp.bin + chmod 0644 /data/vendor/camera_dump/serial_number_wide.bin + chmod 0644 /data/vendor/camera_dump/mot_cancunf_sc202acs_otp.bin + +on moto-post-fs-data-fs-tune + write /sys/block/${dev.mnt.dev.system_ext}/queue/read_ahead_kb 2048 + write /sys/block/${dev.mnt.dev.vendor}/queue/read_ahead_kb 2048 + write /sys/block/${dev.mnt.dev.product}/queue/read_ahead_kb 2048 + write /sys/block/${dev.mnt.dev.data}/queue/read_ahead_kb 2048 + write /sys/block/${dev.mnt.dev.root}/queue/read_ahead_kb 2048 + write /sys/block/${dev.mnt.dev.vendor_dlkm}/queue/read_ahead_kb 2048 + +on moto-boot-completed-fs-tune + write /sys/block/dm-0/queue/read_ahead_kb 512 + write /sys/block/dm-1/queue/read_ahead_kb 512 + write /sys/block/dm-2/queue/read_ahead_kb 512 + write /sys/block/dm-3/queue/read_ahead_kb 512 + write /sys/block/dm-4/queue/read_ahead_kb 512 + write /sys/block/dm-5/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.system_ext}/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.vendor}/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.product}/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.data}/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.root}/queue/read_ahead_kb 512 + write /sys/block/${dev.mnt.dev.vendor_dlkm}/queue/read_ahead_kb 512 + +# === DEBUGGING FEATURE === +# Redirect LOG[E|W|I] logs to uart in case system server keeps rebooting without adb connection +# Pass logcat buffer names to androidboot.loge2uart by cmdl under fastboot. +# For example: fastboot oem config cmdl "androidboot.loge2uart=system,main" +# Of course, console must be enabled to make this work +service loge2uart /system/bin/logcat -b ${ro.boot.loge2uart} -v threadtime -f /dev/ttyS0 *:E + user root + group root + disabled + +service logw2uart /system/bin/logcat -b ${ro.boot.logw2uart} -v threadtime -f /dev/ttyS0 *:W + user root + group root + disabled + +service logi2uart /system/bin/logcat -b ${ro.boot.logi2uart} -v threadtime -f /dev/ttyS0 *:I + user root + group root + disabled + +on late-init && property:ro.boot.loge2uart=* + setprop persist.vendor.uartconsole.enable 1 + start loge2uart + +on late-init && property:ro.boot.logw2uart=* + setprop persist.vendor.uartconsole.enable 1 + start logw2uart + +on late-init && property:ro.boot.logi2uart=* + setprop persist.vendor.uartconsole.enable 1 + start logi2uart diff --git a/rootdir/etc/init.mmi.rc b/rootdir/etc/init.mmi.rc new file mode 100644 index 0000000..7fdbf21 --- /dev/null +++ b/rootdir/etc/init.mmi.rc @@ -0,0 +1,314 @@ + +# Test commands +import /vendor/etc/init/hw/init.mmi.tcmd.rc +import /vendor/etc/init/hw/apanic.rc +# Chipset-specific file +import /vendor/etc/init/hw/init.mmi.chipset.rc +# Target-specific file +import /vendor/etc/init/hw/init.mmi.overlay.rc +#USB rc +import /vendor/etc/init/hw/init.mmi.usb.configfs.rc +# Add debug specific - currently used for install attestation keys on userdebug builds +import /vendor/etc/init/hw/init.mmi.debug.rc + +on early-init + wait /dev/block/by-name/hw + exec_start vendor.oem-hw-sh + # Make sure ro.boot.product.hardware.sku is set before hwservicemanager startup. + setprop ro.boot.product.hardware.sku ${ro.vendor.product.hardware.sku.variant} + + # Map oem properties, this must follow + # execution of vendor.oem-hw-sh to set + # required properties. + setprop ro.vendor.hw.radio ${ro.boot.radio} + setprop ro.carrier ${ro.boot.carrier} + setprop ro.sf.lcd_density ${ro.boot.lcd_density} + setprop ro.vendor.fsg-id ${ro.boot.fsg-id} + setprop ro.vendor.hw.device ${ro.boot.device} + setprop ro.vendor.hw.hwrev ${ro.boot.hwrev} + setprop ro.vendor.hw.modelno ${ro.boot.modelno} + setprop ro.vendor.hw.revision ${ro.boot.revision} + setprop ro.vendor.hw.nav_keys ${ro.boot.nav_keys} + setprop ro.product.vendor.device ${ro.vendor.product.device} + setprop ro.product.vendor.name ${ro.vendor.product.name} + setprop ro.vendor.boot.cid ${ro.boot.cid} + setprop ro.vendor.boot.powerup_reason ${ro.boot.powerup_reason} + setprop ro.vendor.boot.bl_state ${ro.boot.bl_state} + setprop ro.vendor.boot.serialno ${ro.boot.serialno} + setprop ro.vendor.boot.nal_id ${ro.boot.nal_id} + setprop ro.vendor.zygote ${ro.zygote} + setprop ro.carrier unknown + +on property:sys.boot_completed=1 && property:ro.vendor.zram.product_swapon="" + write /sys/block/zram0/comp_algorithm lz4 + write /proc/sys/vm/page-cluster 0 + swapon_all /vendor/etc/fstab.${ro.hardware.soc.manufacturer} + write /proc/sys/vm/swappiness 100 + setprop sys.sysctl.swappiness 100 + +on post-fs + # for batt_health server + mkdir /mnt/vendor/persist/batt_health 0770 vendor_pwric vendor_pwric + restorecon_recursive /mnt/vendor/persist + # Set dm-verity property for dm-verified partitions + verity_update_state + +on post-fs-data + setprop ro.vendor.build.fingerprint ${ro.product.vendor.brand}/${ro.product.vendor.name}/${ro.product.vendor.device}:${ro.vendor.build.version.release}/${ro.vendor.build.id}/${ro.vendor.build.version.incremental}:${ro.vendor.build.type}/${ro.vendor.build.tags} + + # Setup folders for security + mkdir /mnt/vendor/persist/security 02770 drmrpc drmrpc + mkdir /data/vendor/dbvc 0750 vendor_tcmd shell + chown drmrpc vendor_tcmd /mnt/vendor/persist/security + + # Setup folder for native to transfer data to NativeDropBoxAgent + mkdir /data/vendor/dropbox-add 0730 log diag + + # Create panic dump dir. + mkdir /data/vendor/dontpanic 0750 root log + + mkdir /data/vendor/misc 0771 system system + + # Create directory for cutback + mkdir /data/vendor/misc/cutback 0770 radio wifi + + # Imager tuning data for camera subsystem + mkdir /data/vendor/misc/imager 0771 camera system + + # Imager tuning metadata for camera subsystem + mkdir /data/vendor/misc/imager/metadata 0771 camera camera + + # Imager tuning data for rescue Feature + mkdir /mnt/vendor/persist/camera/iqtuning 0771 camera camera + + + # Create bug2go folder + mkdir /data/vendor/bug2go 0770 log log + + # Setup folder for aplogd + mkdir /data/vendor/aplogd 0770 log log + + # Create directory used by power_supply_logger + mkdir /data/vendor/power_supply_logger 0750 vendor_pwric log + # Create directory power_supply_logger used by memtest and batt_health + mkdir /data/vendor_de/power_supply_logger 0770 root log + + mkdir /data/vendor/hardware_revisions 0755 system system + + copy /data/vendor_de/power_supply_logger/memtest.log /data/vendor/power_supply_logger/memtest.log + +service vendor.bl_logs_copy /vendor/bin/apanic_copy.sh -i + class late_start + group log + oneshot + disabled + +on charger + trigger early-fs + trigger fs + trigger post-fs + trigger late-fs + trigger post-fs-data + trigger tks-charger + class_stop main + class_stop late_start + chown system system /sys/class/leds/lcd-backlight/max_brightness + +on tks-charger && property:persist.sys.tksautoboot=1 + setprop sys.powerctl "reboot,tks-charger" + +on boot + # Change ownership and permission for leds backlight + chown system system /sys/class/leds/charging/brightness + chmod 0664 /sys/class/leds/charging/brightness + + # Change ownership and permission for charge + chown system system /sys/class/power_supply/battery/charging_enabled + chmod 0664 /sys/class/power_supply/battery/charging_enabled + + # Change ownership and permission for vibrator + chown system system /sys/class/leds/vibrator/state + chmod 0660 /sys/class/leds/vibrator/state + chown system system /sys/class/leds/vibrator/activate + chmod 0660 /sys/class/leds/vibrator/activate + chown system system /sys/class/leds/vibrator/duration + chmod 0660 /sys/class/leds/vibrator/duration + chown system system /sys/class/leds/vibrator/seq + chmod 0660 /sys/class/leds/vibrator/seq + + # change permission for widevine L1 + chmod 0664 /mnt/vendor/persist/wv.keys + +#change ownership and permission for capsense + chown radio system /sys/class/capsense/reg + chown radio system /sys/class/capsense/fw_download_status + chmod 0660 /sys/class/capsense/reg + chmod 0660 /sys/class/capsense/fw_download_status + + # change ownership and permission for lcd-backlight + chown system system /sys/class/leds/lcd-backlight/max_brightness + +on property:sys.boot_completed=* + setprop vendor.boot_completed ${sys.boot_completed} + setprop ro.vendor.boot.uid ${ro.boot.uid} + setprop ro.vendor.boot.secure_hardware ${ro.boot.secure_hardware} + +service vendor.mmi-block-perm /vendor/bin/init.mmi.block_perm.sh + class main + user root + oneshot + +service vendor.mmi-touch-sh /vendor/bin/init.mmi.touch.sh + class core + user root + oneshot + +service vendor.mmi-shutdown-sh /vendor/bin/init.mmi.shutdown.sh + class core + user root + oneshot + disabled + +service vendor.hal-fps-sh /vendor/bin/init.oem.fingerprint2.sh + class late_start + user root + group system + oneshot + +service vendor.oem-hw-sh /vendor/bin/init.oem.hw.sh + class core + user root + oneshot + disabled + +service vendor.touch-dead-sh /vendor/bin/init.oem.hw.sh -f + class main + user root + oneshot + disabled + +service vendor.touch-ready-sh /vendor/bin/init.oem.hw.sh -r + class main + user root + oneshot + disabled + +service vendor.oem-hw-config-sh /vendor/bin/init.oem.hw.sh -p + class main + user root + oneshot + disabled + +on property:vendor.hw.touch.status="dead" + start vendor.touch-dead-sh + +on property:vendor.hw.touch.status="ready" + start vendor.touch-ready-sh + +service vendor.mbm_spy /vendor/bin/mbm_spy + class late_start + user system + group system + oneshot + +service vendor.hw_revs /vendor/bin/hardware_revisions.sh + class late_start + user system + group system + oneshot + +service vendor.mmi-boot-sh /vendor/bin/init.mmi.boot.sh + class core + user root + oneshot + +# set rkp csr indicatory property +on property:ro.vendor.mot.hw.rkp_csr_uploaded=* && property:sys.boot_completed=1 + setprop ro.rkp.csr_uploaded ${ro.vendor.mot.hw.rkp_csr_uploaded} + +on property:ro.boot.force_aplogd_enable=1 + setprop ro.logd.kernel true + stop logd + start logd + +on post-fs && property:ro.boot.force_aplogd_enable=1 + setprop persist.vendor.log.aplogd.enable 1 + +on property:persist.vendor.log.aplogd.enable=1 + start vendor.aplogd + +on property:persist.vendor.log.aplogd.enable=0 + stop vendor.aplogd + +on property:ro.vendor.hw.dualsim=true + setprop persist.radio.multisim.config dsds + setprop persist.vendor.radio.msimmode dsds + setprop telephony.active_modems.max_count 2 + setprop ro.vendor.radio.max.multisim dsds + setprop ro.telephony.sim.count 2 + setprop persist.vendor.mims_support 2 + setprop persist.vendor.radio.smart.data.switch 1 + setprop ro.vendor.mtk_disable_cap_switch 0 + setprop ro.vendor.mtk_data_config 1 + +on property:ro.vendor.hw.dualsim=false + setprop persist.radio.multisim.config ss + setprop persist.vendor.radio.msimmode ss + setprop telephony.active_modems.max_count 1 + setprop ro.vendor.radio.max.multisim ss + setprop ro.telephony.sim.count 1 + setprop persist.vendor.mims_support 1 + setprop persist.vendor.radio.smart.data.switch 0 + setprop ro.vendor.mtk_disable_cap_switch 1 + setprop ro.vendor.mtk_data_config 0 + +service vendor.aplogd /vendor/bin/aplogd + class late_start + #user log + #group log system sdcard_rw sdcard_r media_rw mount + # The user and group definitions above are intentionally disabled and left + # only as documentation. It actually starts as root and immediately drops + # to log plus those groups after preserving CAP_SYS_ADMIN, which is required + # for kernel logging. + disabled + +# from P onwards aplogd cannot read vold.post_fs_data_done so a new property +# shall be used to allow aplogd checking if FBE has finished /data decryption +on property:vold.post_fs_data_done=* + setprop vendor.vold.post_fs_data_done ${vold.post_fs_data_done} + +on property:ro.vendor.build.motfactory=1 + write /sys/devices/platform/charger/factory_image_mode 1 + +on property:sys.sysctl.swappiness=* + write /proc/sys/vm/swappiness ${sys.sysctl.swappiness} + +# IKSWU-152028: Force shutter tone on Japan softbank carrier +on property:ro.carrier=softbank + setprop audio.camerasound.force true + +# IKSWT-90913: Force shutter tone on Japan ymobile carrier +on property:ro.carrier=ymobile + setprop audio.camerasound.force true + +# IKSWU-148561: Force shutter tone on Japan Docomo carrier +on property:ro.carrier=docomo + setprop audio.camerasound.force true + +# IKSWU-165346: Force shutter tone on Korea carriers +on property:ro.carrier=retkr + setprop audio.camerasound.force true + +on property:ro.sys.force_max_chrg_temp=* + write /sys/devices/platform/charger/force_max_chrg_temp ${ro.sys.force_max_chrg_temp} + +on property:ro.sys.force_demo_mode=* + write /sys/devices/platform/charger/force_demo_mode ${ro.sys.force_demo_mode} + +on shutdown + exec_start vendor.mmi-shutdown-sh + +# Sync the system MSI property of RKP state onto vendor +on property:sys.rkp.enable=* && property:sys.boot_completed=1 + setprop persist.vendor.moto.rkp.enable ${sys.rkp.enable} + start vendor.mbm_spy diff --git a/rootdir/etc/init.mmi.tcmd.rc b/rootdir/etc/init.mmi.tcmd.rc new file mode 100644 index 0000000..c516fa8 --- /dev/null +++ b/rootdir/etc/init.mmi.tcmd.rc @@ -0,0 +1,247 @@ +service vendor.tcmd /vendor/bin/tcmd + class core +# Total number of supplementary groups below is 14 now. Limit defined in service.h is 32. +# Please update the current number if you add more groups. + group vendor_tcmd vendor_pwric system radio input log sdcard_rw inet graphics audio mount media shell media_rw bluetooth camera + socket local_tcmd stream 0660 vendor_tcmd vendor_tcmd + socket batch_socket stream 0600 vendor_tcmd vendor_tcmd + oneshot + disabled + +service vendor.tcmdhelp /vendor/bin/tcmdhelp + class main + user root + group system oem_2901 root vendor_pwric + socket tcmdhelp stream 0600 vendor_tcmd vendor_tcmd + oneshot + disabled + +service tcmd_system /system_ext/bin/tcmd_system + class main + user root + group vendor_prod_persist + oneshot + disabled + + +# Power up to suspend +on property:vendor.tcmd.suspend=1 + stop zygote + stop surfaceflinger + stop sensors + +# Normal to suspend +on property:vendor.tcmd.suspend=2 + stop vendor.hwcomposer-2-1 + stop vendor.hwcomposer-2-2 + stop aee_aed + stop aee_aedv + stop surfaceflinger + stop sensors + stop cameraserver + stop zygote + write /proc/monitor_hang 0 + +on property:vendor.tcmd.suspend=3 + write /proc/monitor_hang 1 + start zygote + start cameraserver + start sensors + start surfaceflinger + start aee_aedv + start aee_aed + start vendor.hwcomposer-2-2 + start vendor.hwcomposer-2-1 + +on property:vendor.tcmd.start_tcmdhelp=1 + start vendor.tcmdhelp + +on property:vendor.tcmd.start_tcmd=0 + stop vendor.tcmd + +on property:vendor.tcmd.start_tcmd=1 + start vendor.tcmd + +on property:vendor.tcmd_system.action=* + setprop sys.tcmd_system.action ${vendor.tcmd_system.action} + start tcmd_system + +on property:vendor.tcmd.update_keyperm=1 + chown vendor_tcmd system /mnt/vendor/persist/wv.keys + chmod 0640 /mnt/vendor/persist/wv.keys + chown vendor_tcmd system /mnt/vendor/persist/attest_keybox.so + chmod 0640 /mnt/vendor/persist/attest_keybox.so + chown vendor_tcmd system /mnt/vendor/persist/attestation_ids.so + chmod 0640 /mnt/vendor/persist/attestation_ids.so + +on early-boot && property:ro.vendor.build.motfactory=1 + write /proc/sys/kernel/poweroff_cmd "/system/bin/reboot -p" + +on post-fs + + mkdir /mnt/vendor/persist/factory 0755 vendor_tcmd vendor_tcmd + + chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/factory/fti + chmod 0664 /mnt/vendor/persist/factory/fti + mkdir /mnt/vendor/persist/camera 0775 vendor_tcmd vendor_tcmd + + mkdir /mnt/vendor/persist/camera/dualcal 0775 camera vendor_tcmd + mkdir /mnt/vendor/persist/camera/focus 0775 camera vendor_tcmd + restorecon /mnt/vendor/persist/camera + restorecon /mnt/vendor/persist/camera/focus + restorecon /mnt/vendor/persist/camera/focus/offset_cal + restorecon /mnt/vendor/persist/camera/focus/xtalk_cal + mkdir /mnt/vendor/persist/camera/ledcal 0775 camera vendor_tcmd + mkdir /mnt/vendor/persist/camera/ois 0775 cameraserver vendor_tcmd + mkdir /mnt/vendor/persist/camera/iqtuning 0775 vendor_tcmd vendor_tcmd + + mkdir /mnt/vendor/persist/factory/audio 0755 vendor_tcmd system + mkdir /mnt/vendor/persist/factory/wlan 0755 vendor_tcmd vendor_tcmd + mkdir /mnt/vendor/persist/factory/regulatory 0755 vendor_tcmd system + mkdir /mnt/vendor/persist/public 0755 vendor_tcmd vendor_tcmd + + mkdir /mnt/vendor/persist/public/att_dm 0775 radio vendor_tcmd + mkdir /mnt/vendor/persist/public/hiddenmenu 0775 radio vendor_tcmd + mkdir /mnt/vendor/persist/public/hiddenmenu/data 0775 system vendor_tcmd + + mkdir /mnt/vendor/persist/wifi 0755 vendor_tcmd vendor_tcmd + mkdir /mnt/vendor/persist/bt 0755 vendor_tcmd bluetooth + + # This dir is used to store any OMA(both DM and CP) files in persist partition + # Any app with radio UID or vendor_tcmd GID can read/write/execute files in this dir. + mkdir /mnt/vendor/persist/public/oma 0775 radio vendor_tcmd + + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/dual_cal_data_depth.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/dual_cal_data_wide.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/module_id_aux.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/module_id_main.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/module_id_depth.bin + chown camera vendor_tcmd /mnt/vendor/persist/camera/dualcal/module_id_wide.bin + + chmod 0664 /mnt/vendor/persist/camera/dualcal/dual_cal_data.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/dual_cal_data_depth.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/dual_cal_data_wide.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/module_id_aux.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/module_id_main.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/module_id_depth.bin + chmod 0664 /mnt/vendor/persist/camera/dualcal/module_id_wide.bin + + chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/factory/byte + chmod 0660 /mnt/vendor/persist/factory/byte + chmod 0660 /mnt/vendor/persist/wifi/wlan_mac.bin + chown vendor_tcmd vendor_tcmd /mnt/vendor/persist/bt/bt_bdaddr + chmod 0664 /mnt/vendor/persist/bt/bt_bdaddr + + # Set life_calls and life_timer file permissions + chown radio vendor_tcmd /mnt/vendor/persist/public/hiddenmenu/life_calls + chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_calls + chown radio vendor_tcmd /mnt/vendor/persist/public/hiddenmenu/life_timer + chmod 0775 /mnt/vendor/persist/public/hiddenmenu/life_timer + + # change permission of utag for tcmd daemon + chown root system /proc/config + chown root system /proc/config/all + chown root system /proc/config/all/new + chown root system /proc/config/all/lock + chown root system /proc/config/all/.delete + chown root system /proc/config/barcode/ascii + chown root system /proc/config/battid/ascii + chown root system /proc/config/bootmode/ascii + chown root system /proc/config/bt_mac/ascii + chown root system /proc/config/carrier_sku/ascii + chown root system /proc/config/date/ascii + chown root system /proc/config/fti/ascii + chown root system /proc/config/imei/ascii + chown root system /proc/config/sku/ascii + chown root system /proc/config/reload + chown root system /proc/config/wifi_mac/ascii + chown root system /proc/hw + chown root system /proc/hw/all + chown root system /proc/hw/all/new + chown root system /proc/hw/all/lock + chown root system /proc/hw/all/.delete + chown root system /proc/hw/dualsim/ascii + chown root system /proc/hw/frontcolor/ascii + chown root system /proc/hw/reload + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/address + chmod 660 /sys/devices/platform/moto_chg_tcmd/address + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/data + chmod 660 /sys/devices/platform/moto_chg_tcmd/data + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/bat_voltage + chmod 660 /sys/devices/platform/moto_chg_tcmd/bat_voltage + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/bat_id + chmod 660 /sys/devices/platform/moto_chg_tcmd/bat_id + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/bat_ocv + chmod 660 /sys/devices/platform/moto_chg_tcmd/bat_ocv + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/bat_temp + chmod 660 /sys/devices/platform/moto_chg_tcmd/bat_temp + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/bat_cycle + chmod 660 /sys/devices/platform/moto_chg_tcmd/bat_cycle + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/usb_voltage + chmod 660 /sys/devices/platform/moto_chg_tcmd/usb_voltage + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/force_chg_auto_enable + chmod 660 /sys/devices/platform/moto_chg_tcmd/force_chg_auto_enable + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/force_chg_iusb + chmod 660 /sys/devices/platform/moto_chg_tcmd/force_chg_iusb + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/force_chg_usb_suspend + chmod 660 /sys/devices/platform/moto_chg_tcmd/force_chg_usb_suspend + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/force_chg_ibatt + chmod 660 /sys/devices/platform/moto_chg_tcmd/force_chg_ibatt + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/force_chg_fail_clear + chmod 660 /sys/devices/platform/moto_chg_tcmd/force_chg_fail_clear + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/factory_kill_disable + chmod 660 /sys/devices/platform/moto_chg_tcmd/factory_kill_disable + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/wireless_en + chmod 660 /sys/devices/platform/moto_chg_tcmd/wireless_en + chown vendor_tcmd vendor_tcmd /sys/devices/platform/moto_chg_tcmd/wireless_chip_id + chmod 660 /sys/devices/platform/moto_chg_tcmd/wireless_chip_id + +on post-fs-data + + # Setup folders for security + mkdir /mnt/vendor/persist/security 02770 drmrpc drmrpc + mkdir /data/vendor/dbvc 0750 vendor_tcmd shell + chown drmrpc vendor_tcmd /mnt/vendor/persist/security + + # Setup DAC for WFD HDCP sfs file + chown vendor_tcmd system /mnt/vendor/persist/data + chmod 0750 /mnt/vendor/persist/data + chown vendor_tcmd system /mnt/vendor/persist/data/dxhdcp2 + chmod 0750 /mnt/vendor/persist/data/dxhdcp2 + chown vendor_tcmd system /mnt/vendor/persist/data/dxhdcp2/dxhdcp2 + chmod 0750 /mnt/vendor/persist/data/dxhdcp2/dxhdcp2 + chown vendor_tcmd system /mnt/vendor/persist/data/dxhdcp2/dxhdcp2/dxhdcp2.sfs + chmod 0640 /mnt/vendor/persist/data/dxhdcp2/dxhdcp2/dxhdcp2.sfs + + # Setup folder for Pre-Activation Kill Switch app (PAKS) + mkdir /mnt/vendor/persist/paks 02770 vendor_tcmd vendor_tcmd + +on property:ro.bootmode=mot-factory + mkdir /mnt/vendor/mot_factory + mount tmpfs tmpfs /mnt/vendor/mot_factory + chown vendor_tcmd vendor_tcmd /mnt/vendor/mot_factory + chmod 0770 /mnt/vendor/mot_factory + +on post-fs-data && property:ro.bootmode=mot-factory + restorecon /mnt/vendor/mot_factory + +on property:sys.bootbroadcast_completed=* + setprop vendor.sys.bootbroadcast_completed ${sys.bootbroadcast_completed} + +on property:ro.vendor.build.motfactory=1 + # Change ownership and permission for current_cmd factory testing + chown system system /proc/mtk_battery_cmd/current_cmd + chmod 0664 /proc/mtk_battery_cmd/current_cmd + +on property:vendor.boot_completed=1 + setprop ro.vendor.boot.hwrev ${ro.boot.hwrev} + setprop ro.vendor.carrier ${ro.carrier} + setprop ro.vendor.build.version.sdk ${ro.build.version.sdk} + setprop ro.vendor.sys.adb_reset_protected ${ro.sys.adb_reset_protected} + setprop ro.vendor.telephony.default_network ${ro.telephony.default_network} + setprop ro.vendor.boot.radio ${ro.boot.radio} + setprop ro.vendor.build.description ${ro.build.description} + setprop vendor.init.svc.adbd ${init.svc.adbd} + setprop ro.vendor.boot.secure_hardware ${ro.boot.secure_hardware} + setprop ro.vendor.sys.adb_reset_protected ${ro.sys.adb_reset_protected} diff --git a/rootdir/etc/init.mmi.usb.configfs.rc b/rootdir/etc/init.mmi.usb.configfs.rc new file mode 100644 index 0000000..d708fe8 --- /dev/null +++ b/rootdir/etc/init.mmi.usb.configfs.rc @@ -0,0 +1,910 @@ +# Copyright (c) 2011-2016, 2018-2020 The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +on init + mount configfs none /config + mkdir /config/usb_gadget/g1 0775 + mkdir /config/usb_gadget/g2 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g2/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + mkdir /config/usb_gadget/g1/functions/usbnet.usb0 + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/audio_source.gs3 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + mkdir /config/usb_gadget/g1/functions/acm.gs0 + mkdir /config/usb_gadget/g1/functions/acm.gs1 + mkdir /config/usb_gadget/g1/functions/acm.gs2 + mkdir /config/usb_gadget/g1/functions/acm.gs3 + mkdir /config/usb_gadget/g1/functions/cser.dun.0 + mkdir /config/usb_gadget/g1/functions/cser.nmea.1 + mkdir /config/usb_gadget/g1/functions/cser.dun.2 + mkdir /config/usb_gadget/g1/functions/gsi.rmnet + mkdir /config/usb_gadget/g1/functions/gsi.rndis + mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis + mkdir /config/usb_gadget/g1/functions/rndis.rndis + mkdir /config/usb_gadget/g1/functions/ncm.0 + mkdir /config/usb_gadget/g1/functions/ccid.ccid + mkdir /config/usb_gadget/g1/functions/uac2.0 + mkdir /config/usb_gadget/g1/functions/uvc.0 + mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h + symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h + symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wWidth 640 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/wHeight 360 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxVideoFrameBufferSize 460800 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMinBitRate 55296000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/360p/dwMaxBitRate 110592000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwFrameInterval \ +"500000 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wWidth 640 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/wHeight 480 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxVideoFrameBufferSize 614400 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMinBitRate 73728000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/480p/dwMaxBitRate 98304000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/dwFrameInterval \ +"1000000 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/wWidth 1280 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/wHeight 720 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/dwMaxVideoFrameBufferSize 1843200 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/dwMinBitRate 147456000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u/720p/dwMaxBitRate 147456000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wWidth 640 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/wHeight 360 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxVideoFrameBufferSize 345600 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMinBitRate 41472000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/360p/dwMaxBitRate 82944000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wWidth 640 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/wHeight 480 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxVideoFrameBufferSize 460800 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMinBitRate 55296000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/480p/dwMaxBitRate 110592000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1382400 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate 165888000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate 331776000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/wWidth 1280 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/wHeight 960 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/dwMaxVideoFrameBufferSize 1843200 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/dwMinBitRate 221184000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/960p/dwMaxBitRate 442368000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval \ +"333333 +666666 +" + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth 1920 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight 1080 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize 3110400 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate 373248000 + write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate 746496000 + mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/header/h + symlink /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed/u /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/u + symlink /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m + symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h + symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h + symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h + write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 15 + write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072 + write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2 + write /config/usb_gadget/g1/functions/uvc.0/streaming_txfifo_hint 9 + write /config/usb_gadget/g1/functions/uvc.0/function_name "Moto Webcam +" + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g2/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/configs/b.1/MaxPower 900 + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mkdir /dev/usb-ffs 0775 shell system + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000,rmode=0770,fmode=0660 + chown system system /sys/class/android_usb/android0/secure + chmod 0660 /sys/class/android_usb/android0/secure + +on boot && property:vendor.usb.use_ffs_mtp=1 + mkdir /config/usb_gadget/g1/functions/ffs.mtp + mkdir /config/usb_gadget/g1/functions/ffs.ptp + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + mkdir /dev/usb-ffs/ptp 0770 mtp mtp + mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + +# This is a good place to write these, since system props would be loaded. +on firmware_mounts_complete + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + +on firmware_mounts_complete && property:ro.vendor.product.display.plain_text=* + write /config/usb_gadget/g1/strings/0x409/product ${ro.vendor.product.display.plain_text} + +on load_bpf_programs + setprop vendor.usb.config ${sys.usb.config} + setprop persist.vendor.mot.usb.config ${persist.sys.usb.config:-" "} + setprop persist.vendor.usb.config ${persist.sys.usb.config:-" "} + +on property:ro.boot.console=ttyGS0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/UDC "none" + mkdir /config/usb_gadget/g1/functions/acm.0 + # "f0" is used here so that we won't take anything from f1 ~ f9 + symlink /config/usb_gadget/g1/functions/acm.0 /config/usb_gadget/g1/configs/b.1/f0 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + +on property:sys.boot_completed=* + setprop vendor.boot_completed ${sys.boot_completed} + +on property:persist.vendor.usb.config=* + setprop persist.sys.usb.config ${persist.vendor.usb.config} + +on property:vendor.usb.config=* + setprop sys.usb.config ${vendor.usb.config} + +on property:vendor.usb.controller=* + setprop sys.usb.controller ${vendor.usb.controller} + +on property:persist.vendor.usb.mot-factory.config=* + setprop persist.sys.usb.mot-factory.config ${persist.vendor.usb.mot-factory.config} + setprop persist.sys.usb.mot-factory.func ${persist.vendor.usb.mot-factory.config} + +### Support USB Secure Mode +on property:sys.usb.secure_mode=* + setprop vendor.usb.secure_mode ${sys.usb.secure_mode} + +on property:vendor.usb.secure_mode=1 + setprop sys.usb.controller none + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + +on property:vendor.usb.secure_mode=0 + setprop sys.usb.controller ${vendor.usb.controller} + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + +service vendor.mmi-usb-sh /vendor/bin/init.mmi.usb.sh + class late_start + user root + group system + oneshot + +on userspace-reboot-resume + setprop persist.vendor.mot.usb.config ${persist.sys.usb.config} + setprop persist.vendor.usb.config ${persist.sys.usb.config} + +on charger + insmod /vendor/lib/modules/moto_f_mass_storage.ko + setprop vendor.usb.adb_early ${ro.boot.adb_early:-"0"} + setprop vendor.usb.charging.func.name moto_mass_storage + start vendor.mmi-usb-sh + + # Wait for the USB init shell script to finish, to prevent enumeration issues +on property:init.svc.vendor.mmi-usb-sh=stopped && property:ro.boot.mode=charger && property:vendor.usb.adb_early=0 + setprop sys.usb.configfs 1 + setprop sys.usb.config charging + +on property:init.svc.vendor.mmi-usb-sh=stopped && property:ro.boot.mode=charger && property:vendor.usb.adb_early=1 + setprop sys.usb.configfs 1 + setprop sys.usb.config charging,adb + +### Factory Compositions +on property:sys.usb.config=usbnet,adb && property:sys.usb.configfs=1 + start adbd + start vendor.tcmd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=usbnet,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Motorola Test Command" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e2d + write /config/usb_gadget/g1/os_desc/use 1 + symlink /config/usb_gadget/g1/functions/usbnet.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=usbnet && property:sys.usb.configfs=1 + start vendor.tcmd + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Motorola Test Command without ADB" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e2c + write /config/usb_gadget/g1/os_desc/use 0 + symlink /config/usb_gadget/g1/functions/usbnet.usb0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=atm_gs0gs3 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rmdir /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=atm_gs0gs3 && \ +property:sys.usb.configfs=1 && property:ro.bootmode=mot-factory + start vendor.tcmd + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 3 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e2d + symlink /config/usb_gadget/g1/functions/usbnet.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + +on property:sys.usb.config=adb && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 && property:ro.bootmode=mot-factory + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rmdir /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 && property:ro.bootmode=mot-factory + start vendor.tcmd + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e2d + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/usbnet.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### ATCI +on property:persist.vendor.radio.port_index=1 && property:sys.boot_completed=1 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_enable 1 + setprop vendor.usb.acm_idx 1 + setprop vendor.usb.acm_cnt 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + +on property:persist.vendor.radio.port_index=0 && property:vendor.usb.acm_enable=1 + setprop vendor.usb.acm_enable 0 + setprop vendor.usb.acm_idx "" + setprop vendor.usb.acm_cnt 0 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop persist.vendor.radio.port_index "" + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1 && \ +property:vendor.usb.acm_enable=1 && property:persist.vendor.radio.port_index=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "atci" + write /config/usb_gadget/g1/idVendor 0x0e8d + write /config/usb_gadget/g1/idProduct 0x2006 + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 && \ +property:vendor.usb.acm_enable=1 && property:persist.vendor.radio.port_index=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "atci" + write /config/usb_gadget/g1/idVendor 0x0e8d + write /config/usb_gadget/g1/idProduct 0x200a + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### Bell +on property:sys.usb.config=acm_gs0gs3 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/UDC "none" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=acm_gs0gs3 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 3 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + setprop vendor.usb.acm_idx "1,4" + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "acm_gs0gs3" + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/idVendor 0x0e8d + write /config/usb_gadget/g1/idProduct 0x2029 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### ELT Logging port +on property:persist.vendor.radio.port_index=4 && property:sys.boot_completed=1 + setprop vendor.usb.acm_port0 3 + setprop vendor.usb.acm_enable 1 + setprop vendor.usb.acm_idx 4 + setprop vendor.usb.acm_cnt 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1 && \ +property:vendor.usb.acm_enable=1 && property:persist.vendor.radio.port_index=4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ELT" + write /config/usb_gadget/g1/idVendor 0x0e8d + write /config/usb_gadget/g1/idProduct 0x2006 + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 && \ +property:vendor.usb.acm_enable=1 && property:persist.vendor.radio.port_index=4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ELT" + write /config/usb_gadget/g1/idVendor 0x0e8d + write /config/usb_gadget/g1/idProduct 0x200a + write /sys/class/udc/${sys.usb.controller}/device/saving 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### Charging Compositions +on property:vendor.usb.charging.func.name=moto_mass_storage + mkdir /config/usb_gadget/g1/functions/moto_mass_storage.0 + +on property:sys.usb.config=charging && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Motorola Charge Only" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2eb7 + write /config/usb_gadget/g1/os_desc/use 0 + symlink /config/usb_gadget/g1/functions/${vendor.usb.charging.func.name:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=charging,adb + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=charging,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Motorola Charge Only" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2eb7 + write /config/usb_gadget/g1/os_desc/use 1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.charging.func.name:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### Android Compositions +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2e82 + write /config/usb_gadget/g1/idVendor 0x22b8 + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2e76 + write /config/usb_gadget/g1/idVendor 0x22b8 + +on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + +on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + +on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + +on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + +on early-init && property:ro.vendor.usb.cdrom.func=moto_mass_storage + insmod /vendor/lib/modules/moto_f_mass_storage.ko + +on init && property:ro.vendor.usb.cdrom.func=moto_mass_storage + mkdir /config/usb_gadget/g1/functions/moto_mass_storage.0 + +on init && property:ro.carrier=vzw + mkdir /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1 + +on init && property:ro.carrier=vzwpre + mkdir /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1 + +on property:sys.usb.config=mtp,cdrom && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp, cdrom" + write /config/usb_gadget/g1/idProduct 0x2e61 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/file "/product/etc/cdrom" + +on property:sys.usb.config=mtp,cdrom,adb && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp, cdrom" + write /config/usb_gadget/g1/idProduct 0x2e61 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.0/file "/product/etc/cdrom" + +on property:sys.usb.config=mtp,cdrom && property:sys.usb.configfs=1 && property:ro.carrier=vzw + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "/product/etc/vzw_cdrom" + +on property:sys.usb.config=mtp,cdrom,adb && property:sys.usb.configfs=1 && property:ro.carrier=vzw + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "/product/etc/vzw_cdrom" + +on property:sys.usb.config=mtp,cdrom && property:sys.usb.configfs=1 && property:ro.carrier=vzwpre + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "/product/etc/vzw_cdrom" + +on property:sys.usb.config=mtp,cdrom,adb && property:sys.usb.configfs=1 && property:ro.carrier=vzwpre + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "" + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/cdrom 1 + write /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0/lun.1/file "/product/etc/vzw_cdrom" + +on property:sys.usb.config=mtp,cdrom && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,cdrom && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,cdrom,adb && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,cdrom,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${ro.vendor.usb.cdrom.func:-mass_storage}.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis && property:sys.usb.configfs=1 + setprop sys.usb.config rndis,${persist.vendor.usb.config.extra} + +on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e24 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis + + +on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 + setprop sys.usb.config rndis,${persist.vendor.usb.config.extra},adb + +on property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e25 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,webcam && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e24 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/configs/b.1/f2/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,webcam,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,webcam,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e25 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/configs/b.1/f2/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e44 + write /config/usb_gadget/g1/functions/ncm.0/os_desc/interface.ncm/compatible_id "WINNCM" + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e45 + write /config/usb_gadget/g1/functions/ncm.0/os_desc/interface.ncm/compatible_id "WINNCM" + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm,webcam && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e44 + write /config/usb_gadget/g1/functions/ncm.0/os_desc/interface.ncm/compatible_id "WINNCM" + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + wait /config/usb_gadget/uvc_delay_300ms 0.3 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ncm,webcam,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,webcam,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ncm_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e45 + write /config/usb_gadget/g1/functions/ncm.0/os_desc/interface.ncm/compatible_id "WINNCM" + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ncm.0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + wait /config/usb_gadget/uvc_delay_100ms 0.1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=readyfor && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "readyfor" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e46 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=readyfor,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=readyfor,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "readyfor_adb" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e47 + symlink /config/usb_gadget/g1/functions/${vendor.usb.rndis.func.name} /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/configs/b.1/f1/wceis 1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2e83 + write /config/usb_gadget/g1/idVendor 0x22b8 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2e84 + write /config/usb_gadget/g1/idVendor 0x22b8 + +on property:sys.usb.config=ptp && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + +on property:sys.usb.config=ptp,adb && property:vendor.usb.use_ffs_mtp=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + +on property:sys.usb.config=ptp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ffs.ptp/os_desc/interface.MTP/compatible_id "PTP" + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + +on property:sys.usb.config=ptp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ffs.ptp/os_desc/interface.MTP/compatible_id "PTP" + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + +on init + setprop sys.usb.controller none + chown root system /sys/module/uvcvideo/parameters/quirks + chmod 0660 /sys/module/uvcvideo/parameters/quirks + setprop sys.usb.configfs 1 + setprop ro.vendor.usb.moto_common_rc 1 + +on boot && property:ro.boot.adb_early=1 + start vendor.mmi-usb-sh + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2E81 + +on property:sys.usb.config=webcam && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Webcam" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e85 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + wait /config/usb_gadget/uvc_delay_300ms 0.3 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=webcam,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=webcam,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Webcam" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x22b8 + write /config/usb_gadget/g1/idProduct 0x2e85 + symlink /config/usb_gadget/g1/functions/uvc.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + wait /config/usb_gadget/uvc_delay_100ms 0.1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=adb,acm && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb,acm && property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/acm.0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x1d6b + write /config/usb_gadget/g1/idProduct 0x0104 + symlink /config/usb_gadget/g1/functions/acm.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=acm && property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/acm.0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x1d6b + write /config/usb_gadget/g1/idProduct 0x0104 + symlink /config/usb_gadget/g1/functions/acm.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:vendor.em.usb.set=* + write /proc/mtk_usb/usb-phy0/u2_phy/${vendor.em.usb.set} ${vendor.em.usb.value} diff --git a/rootdir/etc/init.modem.rc b/rootdir/etc/init.modem.rc new file mode 100644 index 0000000..cca7f48 --- /dev/null +++ b/rootdir/etc/init.modem.rc @@ -0,0 +1,42 @@ +# Copyright (C) 2012 The Android Open Source Project +# +# IMPORTANT: Do not create world writable files or directories. +# This is a common source of Android security bugs. +# + +on early-init + write /sys/class/net/ccmni0/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni1/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni2/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni3/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni4/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni5/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni6/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni7/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni9/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni10/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni11/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni12/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni13/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni14/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni15/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni16/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni17/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni18/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni19/queues/rx-0/rps_cpus "0D" + write /sys/class/net/ccmni20/queues/rx-0/rps_cpus "0D" + + write /proc/sys/net/core/netdev_max_backlog 50000 + write /proc/sys/net/ipv4/ipfrag_high_thresh 20971520 + + setprop ro.vendor.net.upload.mark.default blocking + +on post-fs-data + + write /proc/bootprof "post-fs-data: on modem start" + +# Encrypt phone function + setprop vold.post_fs_data_done 1 + + + diff --git a/rootdir/etc/init.mt6855.rc b/rootdir/etc/init.mt6855.rc new file mode 100644 index 0000000..5c5788c --- /dev/null +++ b/rootdir/etc/init.mt6855.rc @@ -0,0 +1,1088 @@ +# MTK platform .rc configure + +import ${ro.vendor.rc}init.connectivity.rc +# import ${ro.vendor.rc}init.mt6855.usb.rc +import /vendor/etc/init/hw/init.project.rc +import /system_ext/etc/init/hw/init.aee.rc +import /FWUpgradeInit.rc +import /vendor/etc/init/hw/init.aee.rc +import ${ro.vendor.rc}init.volte.rc +import ${ro.vendor.rc}init.mal.rc +import ${ro.vendor.rc}${ro.vendor.init.sensor.rc} +import ${ro.vendor.rc}init.cgroup.rc +import /vendor/etc/init/hw/init.mmi.rc + +# init.modem.rc must be the LAST rc file because vold.post_fs_data_done is set in it +import ${ro.vendor.rc}init.modem.rc +# *** DO NOT import the new rc file after this line *** + +on early-init + write /proc/bootprof "INIT:early-init" + + # initialize vendor.all.modules.ready to 1 here to prevent NOT GKI project blocked + setprop vendor.all.modules.ready 1 + +# Keep debugfs mounted in non-user builds +on early-init && property:ro.build.type=eng + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + setprop persist.dbg.keep_debugfs_mounted true + +on early-init && property:ro.build.type=userdebug + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + setprop persist.dbg.keep_debugfs_mounted true + +on init + write /proc/bootprof "INIT:init" + + # Support legacy paths + symlink /sdcard /mnt/sdcard + + # if primary storage is physical, set ro.vold.primary_physical to 1 + # setprop ro.vold.primary_physical 1 + + mkdir /mnt/cd-rom 0000 system system + +# change lk_env permission + chown root system /proc/lk_env + chmod 0660 /proc/lk_env + +# increase sysctl_rmem_max and sysctl_wmem_max values to 2M + write /proc/sys/net/core/wmem_max 8388608 + write /proc/sys/net/core/rmem_max 8388608 + +# update cpus for cpuset cgroup + write /dev/cpuset/foreground/cpus 0-7 + write /dev/cpuset/foreground/boost/cpus 0-7 + write /dev/cpuset/background/cpus 0-5 + write /dev/cpuset/system-background/cpus 0-5 + write /dev/cpuset/top-app/cpus 0-7 + +on late-init + write /proc/bootprof "INIT:late-init" +# enable rcu_expedited + write /sys/kernel/rcu_expedited 1 + +# mount different fs start + +on charger + + exec /system/bin/e2fsck -f -p /dev/block/by-name/cache + mount ext4 /dev/block/by-name/cache /cache rw wait + chmod 0660 /dev/spm + chown system system /dev/spm + start spm_script + chmod 0666 /dev/kmsg + chmod 0775 /mnt/vendor + mkdir /mnt/vendor/nvcfg + mount ext4 /dev/block/by-name/nvcfg /mnt/vendor/nvcfg rw wait + chown system system /mnt/vendor/nvcfg + chmod 0771 /mnt/vendor/nvcfg + restorecon_recursive /mnt/vendor/nvcfg + write /sys/devices/platform/battery_meter/FG_daemon_log_level 7 + write /sys/bus/platform/devices/battery/FG_daemon_log_level 7 + # Permissions for System Server and daemons. + chown system system /sys/power/autosleep + chown system system /sys/power/state + chown system system /sys/power/wakeup_count + chown radio wakelock /sys/power/wake_lock + chown radio wakelock /sys/power/wake_unlock + chmod 0660 /sys/power/state + chmod 0660 /sys/power/wake_lock + chmod 0660 /sys/power/wake_unlock + chmod 0660 /sys/power/wakeup_count + write /sys/power/pm_freeze_timeout 2000 + + start fuelgauged + start fuelgauged_nvram + + chown system system /sys/class/leds/lcd-backlight/brightness + chown system system /sys/class/leds/red/brightness + chown system system /sys/class/leds/green/brightness + + start vendor.light-default + + # Stop bootprof + write /proc/bootprof "0" + +on early-fs + write /proc/bootprof "INIT:early-fs" + +on fs + write /proc/bootprof "INIT:fs" + start vendor.boot-hal-1-2 + + # mount fstab + write /proc/bootprof "INIT:Mount_START" + write /sys/kernel/tracing/trace_marker "B|1|Mount" + mount_all --early + exec /system/bin/tune2fs -O has_journal -u 10010 -r 4096 /dev/block/by-name/userdata + write /sys/kernel/tracing/trace_marker "E" + write /proc/bootprof "INIT:Mount_END" + +on fs + + mount iso9660 loop@/vendor/etc/iAmCdRom.iso /mnt/cd-rom ro + +on late-fs + write /proc/bootprof "INIT:late-fs" + wait_for_prop hwservicemanager.ready "true" + + write /proc/bootprof "INIT:Mount_START --late" + write /sys/kernel/tracing/trace_marker "B|1|Mount late" + mount_all --late + write /sys/kernel/tracing/trace_marker "E" + write /proc/bootprof "INIT:Mount_END --late" + + +on post-fs + write /proc/bootprof "INIT:post-fs" + + # Support legacy paths + symlink /sdcard /storage/sdcard0 + + #change permissions for mediaserver + chown root media /proc/clkmgr/mipi_test + + #change permission for engineer mode + chown radio system /proc/clkmgr/pll_test + chown radio system /proc/clkmgr/pll_fsel + chmod 0664 /proc/clkmgr/pll_test + chmod 0664 /proc/clkmgr/pll_fsel + #change permission for engineer mode + chown radio system /proc/freqhopping/dramc + chown radio system /proc/freqhopping/dumpregs + chown radio system /proc/freqhopping/freqhopping_debug + chown radio system /proc/freqhopping/status + chown radio system /proc/freqhopping/userdef + + # Support A/B feature for emmc boot region + symlink /dev/block/sda /dev/block/mmcblk0boot0 + symlink /dev/block/sdb /dev/block/mmcblk0boot1 + symlink /dev/block/mmcblk0boot0 /dev/block/by-name/preloader_a + symlink /dev/block/mmcblk0boot1 /dev/block/by-name/preloader_b + + # Support A/B feature for combo emmc and ufs OTA update + symlink /dev/block/by-name/preloader_a /dev/block/by-name/preloader_emmc_a + symlink /dev/block/by-name/preloader_b /dev/block/by-name/preloader_emmc_b + symlink /dev/block/by-name/preloader_a /dev/block/by-name/preloader_ufs_a + symlink /dev/block/by-name/preloader_b /dev/block/by-name/preloader_ufs_b + + symlink /dev/block/mapper/pl_a /dev/block/by-name/preloader_raw_a + symlink /dev/block/mapper/pl_b /dev/block/by-name/preloader_raw_b + +# change owner + chown system system /proc/bootprof + chmod 0664 /proc/bootprof + chown root system /proc/mtprof/cputime + chown root system /proc/mtprof/reboot_pid + + chown system system /mnt/vendor/protect_f + chmod 0770 /mnt/vendor/protect_f + + chown system system /mnt/vendor/protect_s + chmod 0770 /mnt/vendor/protect_s + chown root log /proc/ccci_sib + + # allow ccci_mdinit access ccci_dump + chown root system /proc/ccci_dump + +on property:sys.boot_completed=1 && property:ro.vendor.zram.product_swapon="" + swapon_all /vendor/etc/fstab.enableswap + +on post-fs-data + write /proc/bootprof "INIT:post-fs-data" + wait_for_prop vendor.all.modules.ready 1 + write /proc/bootprof "modprobe: Load_Module_DONE" + + # Disable watermark boost + write /proc/sys/vm/watermark_boost_factor 0 + + # zram + write /sys/block/zram0/comp_algorithm lz4 + write /proc/sys/vm/page-cluster 0 + write /proc/sys/vm/swappiness 100 + write /sys/kernel/mm/swap/vma_ra_enabled false + + # boot time fs tune + write /sys/block/mmcblk0/queue/iostats 0 + write /sys/block/mmcblk0/queue/read_ahead_kb 2048 + write /sys/block/mmcblk0/queue/nr_requests 256 + write /sys/block/sdc/queue/iostats 0 + write /sys/block/sdc/queue/read_ahead_kb 2048 + write /sys/block/sdc/queue/nr_requests 256 + write /sys/block/dm-0/queue/read_ahead_kb 2048 + write /sys/block/dm-1/queue/read_ahead_kb 2048 + write /sys/block/dm-2/queue/read_ahead_kb 2048 + write /sys/block/dm-3/queue/read_ahead_kb 2048 + write /sys/block/dm-4/queue/read_ahead_kb 2048 + write /sys/block/dm-5/queue/read_ahead_kb 2048 + trigger moto-post-fs-data-fs-tune + + chown system system /mnt/vendor/nvcfg + chmod 0771 /mnt/vendor/nvcfg + restorecon_recursive /mnt/vendor/nvcfg + chown system system /mnt/vendor/nvcfg/fg + chown system system /mnt/vendor/nvcfg/fg/old_fg_data + chown system system /mnt/vendor/nvcfg/fg/car_tune_value + + # create basic filesystem structure + # We chown/chmod /mnt/vendor/nvdata again so because mount is run as root + defaults + chown root system /mnt/vendor/nvdata + chmod 0771 /mnt/vendor/nvdata + mkdir /mnt/vendor/nvdata/media 0771 media audio + + #Create cct mount point + mkdir /mnt/vendor/cct + chown root system /mnt/vendor/cct + chmod 0771 /mnt/vendor/cct + + #Create flash folder + mkdir /data/vendor/flash + chown root system /data/vendor/flash + chmod 0771 /data/vendor/flash + + #Create shading mount point + mkdir /data/vendor/shading + chown root system /data/vendor/shading + chmod 0771 /data/vendor/shading + + #Create shading_otp mount point + mkdir /data/vendor/shading_otp + chown root system /data/vendor/shading_otp + chmod 0771 /data/vendor/shading_otp + + #Create NDD mount point + mkdir /data/vendor/camera_dump + chown root system /data/vendor/camera_dump + chmod 0771 /data/vendor/camera_dump + + #Create Camera Dip Debug Folder + mkdir /data/vendor/dipdebug + chown root system /data/vendor/dipdebug + chmod 0771 /data/vendor/dipdebug + + #Create flicker mount point + mkdir /data/vendor/flicker + chown root system /data/vendor/flicker + chmod 0771 /data/vendor/flicker + + # Set SELinux security contexts on upgrade or policy update. + restorecon_recursive /mnt/vendor/nvdata + + #give system access to rfkill device node + chmod 0660 /dev/rfkill + + # create for muxd pts device node , to operate without root + mkdir /dev/radio 0770 radio radio + + chmod 0660 /dev/spm + chown system system /dev/spm + +# GPS + chmod 0775 /vendor/xbin/MPED + chmod 0666 /dev/gps_emi + +# ----------------------- +# Add by MTK + # SCP log + chmod 0660 /sys/class/misc/scp/scp_mobile_log + chown root system /sys/class/misc/scp/scp_mobile_log + chmod 0220 /sys/class/misc/scp/scp_log_flush + chown root system /sys/class/misc/scp/scp_log_flush + chmod 0440 /dev/scp + chown root system /dev/scp + chmod 0664 /sys/class/misc/scp/scp_ee_force_ke + chown root system /sys/class/misc/scp/scp_ee_force_ke + + # ADSP log + chmod 0660 /sys/class/misc/adsp_0/log_enable + chown root system /sys/class/misc/adsp_0/log_enable + chmod 0660 /sys/class/misc/adsp_1/log_enable + chown root system /sys/class/misc/adsp_1/log_enable + chmod 0660 /dev/adsp + chown root media /dev/adsp + chmod 0440 /dev/adsp_0 + chown system media /dev/adsp_0 + chmod 0440 /dev/adsp_1 + chown system media /dev/adsp_1 + + # SSPM log + chmod 0620 /sys/class/misc/sspm/sspm_mobile_log + chown root system /sys/class/misc/sspm/sspm_mobile_log + chmod 0440 /dev/sspm + chown root system /dev/sspm + + # VCP log + chmod 0660 /sys/class/misc/vcp/vcp_mobile_log + chown root system /sys/class/misc/vcp/vcp_mobile_log + chmod 0220 /sys/class/misc/vcp/vcp_log_flush + chown root system /sys/class/misc/vcp/vcp_log_flush + chmod 0440 /dev/vcp + chown root system /dev/vcp + chmod 0664 /sys/class/misc/vcp/vcp_ee_force_ke + chown root system /sys/class/misc/vcp/vcp_ee_force_ke + + # radvd + chmod 444 /etc/radvd/radvd.conf + + # Mali 3D GPU driver + #insmod /vendor/lib/modules/mali.ko + chmod 666 /dev/mali0 + #chown system graphics /dev/mali + + + + # Touch Panel + # chmod 0664 /dev/touch + chown root diag /sys/module/tpd_setting/parameters/tpd_calmat + chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time + chown root diag /sys/module/tpd_setting/parameters/tpd_mode + chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time0 + chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time1 + chown root diag /sys/module/tpd_setting/parameters/tpd_em_spl_num + chown root diag /sys/module/tpd_setting/parameters/tpd_em_pressure_threshold + chown root diag /sys/module/tpd_setting/parameters/tpd_em_auto_time_interval + chown root diag /sys/module/tpd_setting/parameters/tpd_em_sample_cnt + chown root diag /sys/module/tpd_setting/parameters/tpd_em_asamp + chown root diag /sys/module/tpd_debug/parameters/tpd_em_log + chown root diag /sys/module/tpd_debug/parameters/tpd_em_log_to_fs + + chmod 0666 /dev/pmem_multimedia + + # set ptmx group to non-root + chown root radio /dev/ptmx + + # RTC + chmod 660 /dev/alarm + chown root system /dev/alarm + + # M4U + #insmod /vendor/lib/modules/m4u.ko + #mknod /dev/M4U_device c 188 0 + chmod 0444 /dev/m4u + #chown system media /dev/M4U_device + chmod 0640 /proc/m4u + chown system media /proc/m4u + + #set mlock limit to infinate (for m4u operation) + setrlimit 8 -1 -1 + + # CMDQ + chmod 0640 /dev/mtk_mdp + chown system system /dev/mtk_mdp + + # MDP SYNC + chmod 0640 /dev/mdp_sync + chown system system /dev/mdp_sync + + # MML PQ + chmod 0640 /dev/mml_pq + chown system system /dev/mml_pq + + #OFFLOAD SERVICE + chmod 0640 /dev/offloadservice + chown media media /dev/offloadservice + + #OPEN DSP + chmod 0640 /dev/audio_ipi + chown media media /dev/audio_ipi + + #SmartPA + chmod 0640 /dev/audio_scp + chown media media /dev/audio_scp + chown audioserver audio /sys/bus/platform/devices/rt5509_param.0/prop_param + chown audioserver audio /sys/bus/platform/devices/rt5509_param.1/prop_param + + #Accdet + chown root radio /sys/devices/platform/Accdet_Driver/driver/accdet_call_state + + #Fingerprint + chmod 0666 /dev/goodix_fp + + #v4l2 codec + chmod 0660 /dev/vcu + chown media system /dev/vcu + chmod 0660 /dev/video0 + chown media system /dev/video0 + chmod 0660 /dev/video1 + chown media system /dev/video1 + mkdir /data/vendor/vcodec 0777 media system + mkdir /data/vendor/vcodec/log 0770 media system + mkdir /data/vendor/vcodec/in 0770 media system + mkdir /data/vendor/vcodec/out 0770 media system + + #MJC + #insmod /vendor/lib/modules/mjc_kernel_driver.ko + chmod 0660 /dev/MJC + chown media system /dev/MJC + + #kpd + chown radio radio /sys/devices/platform/mtk-kpd/driver/kpd_call_state + + #Charging Battery + chown radio radio /sys/devices/platform/battery/Charging_CallState + + # PMIC property + chown radio system /sys/devices/platform/mt-pmic/low_battery_protect_stop + chown radio system /sys/devices/platform/mt-pmic/low_battery_protect_ut + + #MDDB + mkdir /data/vendor_de/meta 0770 system system + mkdir /data/vendor_de/meta/mddb 0770 system system + + chown system /sys/devices/platform/msensor/driver/cpsopmode + chown system /sys/devices/platform/msensor/driver/cpsreptxy + chown system /sys/devices/platform/msensor/driver/cpsreptz + chown system /sys/devices/platform/gsensor/driver/cpsopmode + chown system /sys/devices/platform/gsensor/driver/cpsrange + + chown system /sys/class/input/input1/enable + chown system /sys/class/input/input1/delay + chown system /sys/class/input/input1/wake + chown system /sys/class/input/input1/offsets + chown system /sys/class/input/input2/enable + chown system /sys/class/input/input2/delay + chown system /sys/class/input/input2/wake + chown system /sys/class/input/input2/offsets + chown system /sys/class/input/input3/enable + chown system /sys/class/input/input3/delay + chown system /sys/class/input/input3/wake + chown system /sys/class/input/input3/offsets + chown system /sys/class/input/input4/enable + chown system /sys/class/input/input4/delay + chown system /sys/class/input/input4/wake + chown system /sys/class/input/input4/offsets + chown system /sys/class/input/input5/enable + chown system /sys/class/input/input5/delay + chown system /sys/class/input/input5/wake + chown system /sys/class/input/input5/offsets + chown system /sys/class/input/input6/enable + chown system /sys/class/input/input6/delay + chown system /sys/class/input/input6/wake + chown system /sys/class/input/input6/offsets + chown system /sys/class/input/input7/enable + chown system /sys/class/input/input7/delay + chown system /sys/class/input/input7/wake + chown system /sys/class/input/input7/offsets + chown system /sys/class/input/input8/enable + chown system /sys/class/input/input8/delay + chown system /sys/class/input/input8/wake + chown system /sys/class/input/input8/offsets + chown system /sys/class/input/input9/enable + chown system /sys/class/input/input9/delay + chown system /sys/class/input/input9/wake + chown system /sys/class/input/input9/offsets + chown system /sys/class/input/input10/enable + chown system /sys/class/input/input10/delay + chown system /sys/class/input/input10/wake + chown system /sys/class/input/input10/offsets + + #EM eint + chown root diag /sys/bus/platform/drivers/eint/current_eint + + # Display + chmod 0660 /dev/graphics/fb0 + chown system graphics /dev/graphics/fb0 + + chmod 0660 /dev/mtk_disp_mgr + chown system graphics /dev/mtk_disp_mgr + + chmod 0660 /dev/mtkfb_vsync + chown system graphics /dev/mtkfb_vsync + + chmod 0660 /dev/sw_sync + chown system graphics /dev/sw_sync + + # EM baseband file + chown root diag /vendor/bin/baseband_regdump + chmod 4750 /vendor/bin/baseband_regdump + + #pmu + chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank0 + chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank1 + chown root radio /sys/devices/platform/mt6311-user/mt6311_access + chown root radio /sys/devices/platform/mt-pmic/pmic_access + chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank0 + chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank1 + chmod 0664 /sys/devices/platform/mt6311-user/mt6311_access + chmod 0664 /sys/devices/platform/mt-pmic/pmic_access + + # EM CPU Speed Stress + chown root radio /proc/cpu_ss/cpu_ss_debug_mode + chown root radio /proc/cpu_ss/cpu_ss_mode + chown root radio /proc/cpu_ss/cpu_ss_period + chown root radio /proc/cpu_ss/cpu_ss_period_mode + chmod 0664 /proc/cpu_ss/cpu_ss_debug_mode + chmod 0664 /proc/cpu_ss/cpu_ss_mode + chmod 0664 /proc/cpu_ss/cpu_ss_period + chmod 0664 /proc/cpu_ss/cpu_ss_period_mode + + #EM eint + chown root diag /sys/bus/platform/drivers/eint/current_eint + + # Android SEC related device nodes + chmod 0660 /dev/sec + chown root system /dev/sec + + # FM Radio device node + chmod 0660 /dev/fm + chown media media /dev/fm + + # device apc settings + + # device info /proc interface + chmod 0440 /dev/devmap + chown root system /dev/devmap + + # bluetooth + chown bluetooth bluetooth /dev/hid-keyboard + chmod 0660 /dev/hid-keyboard + #Use uinput's default permission + chown system net_bt_admin /dev/uinput + + # UIBC + chown system media /dev/uibc + chmod 0660 /dev/uibc + + #TV-out + chmod 0664 /dev/TV-out + + #HDMI + chown media system /dev/hdmitx + chmod 0664 /dev/hdmitx + + + # JPEG + chmod 0666 /proc/mtk_jpeg + + # almk + chmod 0440 /dev/mtk_almk + + # DISP + chmod 0444 /dev/mtk_disp + + #ANC SERVICE + chmod 0640 /dev/ancservice + chown media media /dev/ancservice + + # gz device + chmod 0660 /dev/gz_kree + chown system system /dev/gz_kree + + #Camera + chmod 0660 /dev/camera-sysram + chmod 0660 /dev/camera-isp + chmod 0660 /dev/camera-mem + chmod 0660 /dev/camera-dip + chmod 0660 /dev/camera-tsf + chmod 0660 /dev/camera-dpe + chmod 0660 /dev/camera-mfb + chmod 0660 /dev/camera-rsc + chmod 0660 /dev/camera-owe + chmod 0660 /dev/camera-fdvt + chmod 0660 /dev/camera-pda + chmod 0660 /dev/camera-wpe + chmod 0660 /dev/camera-pipemgr + chmod 0660 /dev/kd_camera_hw + chmod 0660 /dev/seninf + chmod 0660 /dev/seninf_n3d + chmod 0660 /dev/flashlight + chmod 0660 /dev/kd_camera_hw_bus2 + chmod 0660 /dev/FM50AF + chmod 0660 /dev/CAM_CAL_DRV + chmod 0660 /dev/MAINAF + chmod 0660 /dev/MAIN2AF + chmod 0660 /dev/MAIN3AF + chmod 0660 /dev/SUBAF + chmod 0660 /dev/vpu + chmod 0660 /dev/apusys + chmod 0660 /dev/mtk_ccd + + chown system camera /dev/camera-sysram + chown system camera /dev/camera-isp + chown system camera /dev/camera-mem + chown system camera /dev/camera-dip + chown system camera /dev/camera-dpe + chown system camera /dev/camera-mfb + chown system camera /dev/camera-rsc + chown system camera /dev/camera-owe + chown system camera /dev/camera-tsf + chown system camera /dev/camera-fdvt + chown system camera /dev/camera-pda + chown system camera /dev/camera-wpe + chown system camera /dev/camera-pipemgr + chown system camera /dev/kd_camera_hw + chown system camera /dev/seninf + chown system camera /dev/seninf_n3d + chown system camera /dev/flashlight + chown system camera /dev/kd_camera_hw_bus2 + chown system camera /dev/FM50AF + chown system camera /dev/CAM_CAL_DRV + chown system camera /dev/MAINAF + chown system camera /dev/MAIN2AF + chown system camera /dev/MAIN3AF + chown system camera /dev/SUBAF + chown system camera /dev/vpu + chown system camera /dev/apusys + chown system camera /dev/mtk_ccd + chown system camera /sys/kernel/debug/mtk_cam_dbg/0/ctrl + chown system camera /sys/kernel/debug/mtk_cam_dbg/1/ctrl + chown system camera /sys/kernel/debug/mtk_cam_dbg/2/ctrl + + #CCU + chmod 0660 /dev/ccu + chown system camera /dev/ccu + + #VOW + chmod 0640 /dev/vow + chown media media /dev/vow + + #MATV + chmod 0660 /dev/MATV + chown system media /dev/MATV + + # otg_test + chown root radio /dev/mt_otg_test + chmod 0660 /dev/mt_otg_test + + # MDP + chmod 0660 /dev/mt-mdp + chown system media /dev/mt-mdp + + # SMI + chmod 0660 /dev/MTK_SMI + chown media media /dev/MTK_SMI + + # MMQoS + chmod 0660 /sys/devices/platform/soc/soc:interconnect/mmqos_hrt/camera_max_bw + chown media media /sys/devices/platform/soc/soc:interconnect/mmqos_hrt/camera_max_bw + + # RRC + chmod 0660 /dev/mtk_rrc + chown media system /dev/mtk_rrc + + # DFRC + chmod 0660 /dev/mtk_dfrc + chown system graphics /dev/mtk_dfrc + + + #change partition permission + + chmod 0640 /mtd@sec_ro + chown root system /mtd@sec_ro + + chmod 0640 /mtd@preloader + chown root system /mtd@preloader + + chmod 0660 /mtd@pro_info + chown root system /mtd@pro_info + + chmod 0640 /mtd@bootimg + chown root system /mtd@bootimg + + chmod 0640 /mtd@recovery + chown root system /mtd@recovery + + chmod 0660 /mtd@nvram + chown root system /mtd@nvram + + chmod 0660 /mtd@seccfg + chown root system /mtd@seccfg + + chmod 0660 /mtd@misc + chown root system /mtd@misc + + chmod 0664 /sys/bus/platform/drivers/emi_ctrl/concurrency_scenario + chown media media /sys/bus/platform/drivers/emi_ctrl/concurrency_scenario + + #mtk_sched + chmod 0660 /dev/mtk_sched + chown system media /dev/mtk_sched + + #BT SCO CVSD, for MT6572 and MT6582 CVSD codec on AP + chmod 0660 /dev/ebc + chown media media /dev/ebc + + #usip + chmod 0660 /dev/usip + chown media media /dev/usip + + chmod 0666 /dev/uio0 + + #otp + chmod 0660 /proc/driver/otp + chown root system /proc/driver/otp + + # secure memory + chown system system /proc/secmem0 + + chmod 0666 /dev/exm0 + + + #Thermal + mkdir /data/vendor/.tp/ 0775 system system + mkdir /data/vendor/thermal/ 0775 system system + + #MCUPM log + chmod 0620 /sys/class/misc/mcupm/mcupm_mobile_log + chown root system /sys/class/misc/mcupm/mcupm_mobile_log + chmod 0440 /dev/mcupm + chown root system /dev/mcupm + + #EM of MT6360 + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_pmu.5-0034/data + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_pmic.5-001a/data + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_ldo.5-0064/data + chmod 0664 sys/kernel/debug/rt-regmap/mt6360-4e/data + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_pmu.5-0034/reg_addr + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_pmic.5-001a/reg_addr + chmod 0664 sys/kernel/debug/rt-regmap/mt6360_ldo.5-0064/reg_addr + chmod 0664 sys/kernel/debug/rt-regmap/mt6360-4e/reg_addr + + #widevine driver node + chmod 0660 /dev/drm_wv + chown media system /dev/drm_wv + +# End of adding by MTK drivers +# ----------------------- +on zygote-start + write /proc/bootprof "INIT:zygote-start" + +on early-boot + write /proc/bootprof "INIT:early-boot" + verity_update_state + +on boot + write /proc/bootprof "INIT:boot" + + write /proc/sys/vm/dirty_writeback_centisecs 300 + chmod 0660 /sys/power/autosleep + + chmod 0664 /sys/class/leds/lcd-backlight/brightness + chown system system /sys/class/leds/lcd-backlight/brightness + + chown system system /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base + chmod 0660 /sys/devices/system/cpu/cpufreq/hotplug/cpu_num_base + chown system system /sys/devices/system/cpu/cpufreq/policy0/scaling_governor + chmod 0660 /sys/devices/system/cpu/cpufreq/policy0/scaling_governor + chown system system /sys/devices/system/cpu/cpufreq/policy4/scaling_governor + chmod 0660 /sys/devices/system/cpu/cpufreq/policy4/scaling_governor + chown root system /sys/kernel/debug/binder/transaction_log_enable + chown root system /sys/kernel/debug/binder/perf_evalue + chown system system /sys/devices/system/cpu/rq-stats/htasks_thresh + chmod 0660 /sys/devices/system/cpu/rq-stats/htasks_thresh + chown system system /sys/devices/system/cpu/rq-stats/avg_htasks_thresh + chmod 0660 /sys/devices/system/cpu/rq-stats/avg_htasks_thresh + + chown system /sys/module/mlog/parameters/do_mlog + chown system /sys/module/mlog/parameters/timer_intval + + chown root radio /sys/class/leds/lcd-backlight/duty + chown root radio /sys/class/leds/lcd-backlight/div + chown system system /sys/class/leds/lcd-backlight/trigger + chown system system /sys/class/leds/button-backlight/trigger + chown system system /sys/class/leds/keyboard-backlight/trigger + chown system system /sys/class/leds/jogball-backlight/trigger + chown system system /sys/class/leds/red/trigger + chown system system /sys/class/leds/green/trigger + chown system system /sys/class/leds/blue/trigger + + # gauge symbolic + symlink /sys/devices/platform/11b20000.i2c/i2c-5/5-0034/11b20000.i2c:mt6375@34:mtk_gauge /dev/gauge + + # Permission for hibernation + chown radio system /sys/power/tuxonice + chown radio system /sys/power/tuxonice/do_hibernate + chmod 0770 /sys/power/tuxonice + chmod 0220 /sys/power/tuxonice/do_hibernate + + +# Smartbook Handler Framework + chown system system /sys/power/sb_state + chmod 0660 /sys/power/sb_state + +# HMP CPU hotplug strategy + chown system system /proc/hps/num_base_perf_serv + chmod 0660 /proc/hps/num_base_perf_serv + chown system system /proc/hps/num_limit_power_serv + chmod 0660 /proc/hps/num_limit_power_serv + chown system system /proc/hps/num_limit_ultra_power_saving + chmod 0660 /proc/hps/num_limit_ultra_power_saving + chown system system /proc/hps/down_threshold + chmod 0660 /proc/hps/down_threshold + chown system system /proc/hps/up_threshold + chmod 0660 /proc/hps/up_threshold + chown system system /proc/hps/rush_boost_enabled + chmod 0660 /proc/hps/rush_boost_enabled + chown system system /proc/hps/heavy_task_enabled + chmod 0660 /proc/hps/heavy_task_enabled + chown system system /proc/hps/power_mode + chmod 0660 /proc/hps/power_mode + chown system system /proc/hps/up_times + chmod 0660 /proc/hps/up_times + chown system system /proc/hps/down_times + chmod 0660 /proc/hps/down_times + +# PPM + chown system system /proc/ppm/mode + chmod 0660 /proc/ppm/mode + chown system system /proc/ppm/policy/perfserv_min_perf_idx + chmod 0440 /proc/ppm/policy/perfserv_min_perf_idx + chown system system /proc/ppm/policy/perfserv_max_perf_idx + chmod 0440 /proc/ppm/policy/perfserv_max_perf_idx + chown system system /proc/ppm/policy/perfserv_perf_idx + chmod 0660 /proc/ppm/policy/perfserv_perf_idx + chown system system /proc/ppm/policy/userlimit_min_cpu_freq + chmod 0660 /proc/ppm/policy/userlimit_min_cpu_freq + chown system system /proc/ppm/policy/userlimit_max_cpu_freq + chmod 0660 /proc/ppm/policy/userlimit_max_cpu_freq + chown system system /proc/ppm/policy/userlimit_min_cpu_core + chmod 0660 /proc/ppm/policy/userlimit_min_cpu_core + chown system system /proc/ppm/policy/userlimit_max_cpu_core + chmod 0660 /proc/ppm/policy/userlimit_max_cpu_core + chown system system /proc/ppm/policy/userlimit_cpu_core + chmod 0660 /proc/ppm/policy/userlimit_cpu_core + chown system system /proc/ppm/policy/userlimit_cpu_freq + chmod 0660 /proc/ppm/policy/userlimit_cpu_freq + chown system system /proc/ppm/dump_cluster_0_dvfs_table + chmod 0440 /proc/ppm/dump_cluster_0_dvfs_table + chown system system /proc/ppm/dump_cluster_1_dvfs_table + chmod 0440 /proc/ppm/dump_cluster_1_dvfs_table + chown system system /proc/ppm/dump_cluster_2_dvfs_table + chmod 0440 /proc/ppm/dump_cluster_2_dvfs_table + chown system system /proc/ppm/root_cluster + chmod 0660 /proc/ppm/root_cluster + chown system system /proc/ppm/policy/hica_variant + chmod 0660 /proc/ppm/policy/hica_variant + chown system system /proc/ppm/policy/hica_settings/L_ONLY_to_4L_LL/loading_hold_time + chmod 0660 /proc/ppm/policy/hica_settings/L_ONLY_to_4L_LL/loading_hold_time + +# cpu_loading + chown system system /proc/cpu_loading/onoff + chmod 0664 /proc/cpu_loading/onoff + chown system system /proc/cpu_loading/overThrhld + chmod 0664 /proc/cpu_loading/overThrhld + chown system system /proc/cpu_loading/poltime_nsecs + chmod 0664 /proc/cpu_loading/poltime_nsecs + chown system system /proc/cpu_loading/poltime_secs + chmod 0664 /proc/cpu_loading/poltime_secs + chown system system /proc/cpu_loading/uevent_enable + chmod 0664 /proc/cpu_loading/uevent_enable + +# CPU freq + chown system system /proc/cpufreq/cpufreq_limited_by_hevc + chmod 0660 /proc/cpufreq/cpufreq_limited_by_hevc + chown system system /proc/cpufreq/cpufreq_limited_max_freq_by_user + chmod 0660 /proc/cpufreq/cpufreq_limited_max_freq_by_user + chown system system /proc/cpufreq/cpufreq_power_mode + chmod 0660 /proc/cpufreq/cpufreq_power_mode + chown system system /proc/cpufreq/enable_hw_gov + chmod 0660 /proc/cpufreq/enable_hw_gov + +# BW monitor + chown system system /proc/fliperfs/cg_enable + chmod 0664 /proc/fliperfs/cg_enable + chown system system /proc/fliperfs/cg_threshold + chmod 0664 /proc/fliperfs/cg_threshold + chown system system /proc/fliperfs/cg_threshold_ddr3 + chmod 0664 /proc/fliperfs/cg_threshold_ddr3 + chown system system /proc/fliperfs/perf + chmod 0664 /proc/fliperfs/perf + +# perfmgr + chown system system /proc/perfmgr/smart/hps_is_heavy + chmod 0660 /proc/perfmgr/smart/hps_is_heavy + chown system system /proc/perfmgr/smart/hps_check_duration + chmod 0660 /proc/perfmgr/smart/hps_check_duration + chown system system /proc/perfmgr/smart/hps_check_last_duration + chmod 0660 /proc/perfmgr/smart/hps_check_last_duration + chown system system /proc/perfmgr/smart/hps_uevent_enable + chmod 0660 /proc/perfmgr/smart/hps_uevent_enable + chown system system /sys/power/dcm_state + chmod 0660 /sys/power/dcm_state + +##Netlog tool + #change permissions about terminal + chown root radio /proc/net/vlan/config + chmod 0640 /proc/net/vlan/config + chown root radio /proc/net/ip6_tables_matches + chown root radio /proc/net/ip6_tables_names + chown root radio /proc/net/ip6_tables_targets + chown root radio /proc/net/arp_tables_targets + chown root radio /proc/net/arp_tables_matches + chown root radio /proc/net/arp_tables_names + chown root radio /proc/net/ip_tables_targets + chown root radio /proc/net/ip_tables_matches + chown root radio /proc/net/ip_tables_names + chown root radio /proc/net/ip_conntrack_expect + chown root radio /proc/net/ip_conntrack + chown root radio /proc/net/nf_conntrack + chown root radio /proc/net/nf_conntrack_expect + chown root radio /proc/net/netfilter/nfnetlink_log + chown root radio /proc/net/netfilter/nfnetlink_queue + +# WMT proc + chown shell system /proc/driver/wmt_dbg + chown shell system /proc/driver/wmt_aee + +# define device for EMCSMDLOGGER + chown system radio /dev/ttyGS3 + chmod 0660 /dev/ttyGS3 + +#Define device for ATCID + chmod 660 /dev/ttyGS0 + chown system radio /dev/ttyGS0 + chmod 660 /dev/ttyGS1 + chown system radio /dev/ttyGS1 +#Power Manager + write /sys/power/pm_freeze_timeout 2000 + +on property:vold.decrypt=trigger_reset_main + write /proc/bootprof "INIT:vold.decrypt=trigger_reset_main" + setprop sys.boot_completed 0 + setprop dev.bootcomplete 0 + +on property:vold.decrypt=trigger_post_fs_data + write /proc/bootprof "INIT:vold.decrypt=trigger_post_fs_data" + +on property:vold.decrypt=trigger_restart_min_framework + write /proc/bootprof "INIT:vold.decrypt=trigger_restart_min_framework" + start msensord + start permission_check + +on property:vold.decrypt=trigger_restart_framework + write /proc/bootprof "INIT:vold.decrypt=trigger_restart_framework" + start msensord + start permission_check + +on property:vold.decrypt=trigger_shutdown_framework + write /proc/bootprof "INIT:vold.decrypt=trigger_shutdown_framework" + setprop sys.boot_completed 0 + setprop dev.bootcomplete 0 + +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B -z \ + -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class late_start + disabled + oneshot + keycodes 114 115 116 + +# end boot time fs tune +on property:sys.boot_completed=1 + write /sys/block/mmcblk0/queue/iostats 1 + write /sys/block/mmcblk0/queue/read_ahead_kb 512 + write /sys/block/mmcblk0/queue/nr_requests 128 + write /sys/block/sdc/queue/iostats 1 + write /sys/block/sdc/queue/read_ahead_kb 512 + write /sys/block/sdc/queue/nr_requests 128 + write /sys/block/dm-0/queue/read_ahead_kb 128 + write /sys/block/dm-1/queue/read_ahead_kb 128 + write /sys/block/dm-2/queue/read_ahead_kb 128 + write /sys/block/dm-3/queue/read_ahead_kb 128 + write /sys/block/dm-4/queue/read_ahead_kb 128 + write /sys/block/dm-5/queue/read_ahead_kb 128 + trigger moto-boot-completed-fs-tune + +on property:sys.boot_completed=1 + write /proc/perfmgr/boost_ctrl/cpu_ctrl/boot_freq "-1 -1 -1 -1 -1 -1" + write /sys/devices/platform/boot_dramboost/dramboost/dramboost 0 + + # stop bootprof + write /proc/bootprof 0 + +#service dpfd /vendor/bin/dpfd +# user root +# group system media + +# +# External Modme control related services +# + +# +# Modem related services (Begin) +# +##Add by T.Zh for ppp daemon +#service pppd /system/bin/pppd file /data/misc/ppp/ppp_options +# user root +# disabled +# oneshot +# +## +# +# Modem related services (End) +# + +#add for power-off alarm +#service poad /vendor/bin/poad +# class main +# user system +# group system +# oneshot + +#service BGW /vendor/xbin/BGW +# user system +# group gps system radio +# class main + +# Battery info +on property:persist.vendor.mediatek.fg.disable=1 + write /dev/gauge/FG_daemon_disable 1 + +on property:persist.vendor.mediatek.fg.force25c=1 + write /dev/gauge/Battery_Temperature 25 + +on property:persist.vendor.mediatek.fg.force25c=0 + write /dev/gauge/Battery_Temperature 65535 + +on property:persist.vendor.mediatek.fg.log.enable=1 + write /dev/gauge/FG_daemon_log_level 7 + write /proc/sys/kernel/printk 8 + +# add meta_tst for ATM +service meta_tst /vendor/bin/meta_tst + class core + user root + group radio gps system wifi audio bluetooth media + capabilities NET_RAW NET_ADMIN + socket meta-atci stream 660 radio system + disabled + oneshot + +service factory_no_image /vendor/bin/factory + user root + group radio system wifi media gps audio bluetooth wakelock nfc + capabilities BLOCK_SUSPEND NET_RAW NET_ADMIN SYS_ADMIN SYS_BOOT + socket factory-atci stream 660 radio system + disabled + oneshot + +# start meta_tst for ATM +on property:sys.boot_completed=1 && property:ro.boot.atm=enable + start meta_tst + start loghidlvendorservice + start loghidlsysservice + +# reset mdmode when modem crash happens in ATM +on property:vendor.mtk.md1.status=reset + setprop persist.vendor.atm.mdmode normal + +# MTK fast charging support +on property:persist.vendor.mediatek.fast_charging.support=* + write /sys/devices/platform/charger/fast_chg_indicator ${persist.vendor.mediatek.fast_charging.support} + +# FPSGO FBT Game +on boot + insmod /vendor/lib/modules/fpsgo.ko + +# VSIM service (vendor OSI) +service osi /system/bin/osi + class main + user root + disabled + oneshot + #seclabel u:r:osi:s0 + + diff --git a/rootdir/etc/init.mt6855.usb.rc b/rootdir/etc/init.mt6855.usb.rc new file mode 100644 index 0000000..19fef80 --- /dev/null +++ b/rootdir/etc/init.mt6855.usb.rc @@ -0,0 +1,938 @@ +on early-init + write /sys/module/musb_hdrc/parameters/kernel_init_done 1 + +on post-fs + setprop vendor.usb.vid "0x0E8D" + mkdir /dev/usb-ffs 0775 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor ${vendor.usb.vid} + write /config/usb_gadget/g1/bcdDevice 0x0223 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/audio_source.gs3 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/ffs.mtp + write /config/usb_gadget/g1/functions/ffs.mtp/os_desc/interface.MTP/compatible_id "MTP" + mkdir /config/usb_gadget/g1/functions/ffs.ptp + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + mkdir /config/usb_gadget/g1/functions/acm.gs0 + mkdir /config/usb_gadget/g1/functions/acm.gs1 + mkdir /config/usb_gadget/g1/functions/acm.gs2 + mkdir /config/usb_gadget/g1/functions/acm.gs3 + mkdir /config/usb_gadget/g1/functions/mass_storage.usb0 + mkdir /config/usb_gadget/g1/functions/hid.gs0 + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1 + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mkdir /dev/usb-ffs/ptp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + +on post-fs-data + mkdir /config/usb_gadget/g1/functions/via_modem.gs0 + mkdir /config/usb_gadget/g1/functions/via_ets.gs0 + mkdir /config/usb_gadget/g1/functions/via_atc.gs0 + +on boot + setprop sys.usb.configfs 1 + setprop sys.usb.controller "musb-hdrc" + setprop vendor.usb.controller "musb-hdrc" + setprop sys.usb.ffs.aio_compat 0 + setprop vendor.usb.acm_cnt 0 + setprop vendor.usb.acm_port0 "" + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_enable 0 + write /sys/class/android_usb/android0/f_mtp/cpu_mask 0x80 + write /sys/module/usb_f_mtp/parameters/mtp_rx_cont 1 + chmod 0664 /sys/class/android_usb/android0/iSerial + chown root system /sys/class/android_usb/android0/iSerial + + chown radio system /sys/class/usb_rawbulk/data/enable + chmod 0660 /sys/class/usb_rawbulk/data/enable + chown radio system /sys/class/usb_rawbulk/ets/enable + chmod 0660 /sys/class/usb_rawbulk/ets/enable + chown radio system /sys/class/usb_rawbulk/atc/enable + chmod 0660 /sys/class/usb_rawbulk/atc/enable + chown radio system /sys/class/usb_rawbulk/pcv/enable + chmod 0660 /sys/class/usb_rawbulk/pcv/enable + chown radio system /sys/class/usb_rawbulk/gps/enable + chmod 0660 /sys/class/usb_rawbulk/gps/enable + chown system radio /dev/ttyGS0 + chmod 0660 /dev/ttyGS0 + chown system radio /dev/ttyGS1 + chmod 0660 /dev/ttyGS1 + chown system radio /dev/ttyGS2 + chmod 0660 /dev/ttyGS2 + chown system radio /dev/ttyGS3 + chmod 0660 /dev/ttyGS3 + + # for usb otg sdcard hot plug detection + write /sys/module/block/parameters/events_dfl_poll_msecs 1000 + +on charger + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x0E8D + write /config/usb_gadget/g1/bcdDevice 0x0223 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/hid.gs0 + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + setprop sys.usb.configfs 1 + setprop vendor.usb.controller "musb-hdrc" + setprop vendor.usb.acm_cnt 0 + setprop vendor.usb.acm_port0 "" + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_enable 0 + setprop sys.usb.config hid + +### more command at init.usb.configfs.rc ### +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor ${vendor.usb.vid} + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rmdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /sys/devices/platform/soc/mt_usb/saving 0 + +### HID for KPOC ### +on property:sys.usb.config=hid && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "HID" + write /config/usb_gadget/g1/idProduct 0x20FF + write /config/usb_gadget/g1/functions/hid.gs0/protocol 0 + write /config/usb_gadget/g1/functions/hid.gs0/subclass 0 + #write /config/usb_gadget/g1/functions/hid.gs0/report_length 4 + #write /config/usb_gadget/g1/functions/hid.gs0/report_desc \\x05\\x01\\x09\\x00\\xa1\\x01\\xc0 + symlink /config/usb_gadget/g1/functions/hid.gs0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : adb ### +### start adbd at init.usb.configfs.rc ### +on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x201C +on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2006 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2029 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : mtp ### +on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2008 +on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2012 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=mtp && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x202A + +on property:sys.usb.config=mtp && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 && property:vendor.usb.ffs.mtp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/os_desc/use 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 && property:vendor.usb.ffs.mtp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/os_desc/use 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### start adbd at init.usb.configfs.rc ### +on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x201D +on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200A + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=mtp,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2026 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 && property:vendor.usb.ffs.mtp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/os_desc/use 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 && property:vendor.usb.ffs.mtp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/os_desc/use 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : ptp ### +on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200B +on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2013 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=ptp && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x202B + +on property:sys.usb.config=ptp && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 && property:vendor.usb.ffs.ptp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=ptp && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 && property:vendor.usb.ffs.ptp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### start adbd at init.usb.configfs.rc ### +on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200C +on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200D + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=ptp,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2027 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 && property:vendor.usb.ffs.ptp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 && property:vendor.usb.ffs.ptp.ready=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/ffs.ptp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : rndis ### +on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2004 +on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2011 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=rndis && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x202C + +on property:sys.usb.config=rndis && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mtk_rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/mtk_rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2005 +on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2010 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=rndis,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2028 + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mtk_rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 + mkdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/mtk_rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : midi ### +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2046 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idProduct 0x2048 + +### main function : accessory ### +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + +### main function : audio_source ### +on property:sys.usb.config=audio_source && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d02 + +on property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d03 + +### main function : accessory,audio_source ### +on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d04 + +on property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d05 + +on property:sys.usb.config=via_bypass && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2031 +on property:sys.usb.config=via_bypass && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2033 + setprop vendor.usb.acm_port1 "" + +##via_modem,via_ets,via_atc,acm +on property:sys.usb.config=via_bypass && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "via_bypass" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +##via_modem,via_ets,via_atc,adb +on property:sys.usb.config=via_bypass && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "via_bypass" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2032 +on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2034 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=via_bypass,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2050 + +on property:sys.usb.config=via_bypass,adb && property:sys.usb.configfs=1 + start adbd + +##via_modem,via_ets,via_atc,adb,acm +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \ +property:vendor.usb.acm_enable=1 && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f5 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +##via_modem,acm,adb +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \ +property:vendor.usb.acm_enable=1 && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb_acm2" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +##via_modem,via_ets,via_atc,adb +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=via_bypass,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/via_modem.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/via_ets.gs0 /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/via_atc.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : mass_storage ### +on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2002 +on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200F + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=mass_storage && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x202D + +on property:sys.usb.config=mass_storage && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2003 +on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2006 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=mass_storage,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2029 + +on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### main function : bicr ### +on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2002 +on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x200F + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=bicr && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x202D + +on property:sys.usb.config=bicr && property:vendor.usb.acm_enable=1 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0" + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=bicr && property:vendor.usb.acm_enable=0 && \ +property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0" + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=0 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2003 +on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=1 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2006 + setprop vendor.usb.acm_port1 "" +on property:sys.usb.config=bicr,adb && property:vendor.usb.acm_cnt=2 && \ +property:sys.usb.configfs=1 + setprop vendor.usb.pid 0x2029 + +on property:sys.usb.config=bicr,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=bicr,adb && \ +property:vendor.usb.acm_enable=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb_acm" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0" + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port0} /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs${vendor.usb.acm_port1} /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=bicr,adb && \ +property:vendor.usb.acm_enable=0 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ums_adb" + write /config/usb_gadget/g1/idProduct ${vendor.usb.pid} + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/cdrom 1 + write /config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file "/dev/block/loop0" + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +### ACM APPEND SERIES ### +on property:persist.vendor.radio.port_index="0" && property:sys.boot_completed=1 + setprop vendor.usb.acm_idx "" + setprop vendor.usb.acm_cnt 0 + setprop vendor.usb.acm_enable 0 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + +on property:persist.vendor.radio.port_index="1" && property:sys.boot_completed=1 + setprop sys.usb.config acm_gs0 +on property:sys.usb.config=mass_storage,adb,acm + setprop sys.usb.config acm_gs0 +on property:sys.usb.config=acm_gs0 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_cnt 1 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "1" + +on property:persist.vendor.radio.port_index="2" && property:sys.boot_completed=1 + setprop sys.usb.config acm_gs1 +on property:sys.usb.config=acm_gs1 + setprop vendor.usb.acm_port0 1 + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_cnt 1 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "2" + +on property:persist.vendor.radio.port_index="3" && property:sys.boot_completed=1 + setprop sys.usb.config acm_gs2 +on property:sys.usb.config=acm_third + setprop sys.usb.config acm_gs2 +on property:sys.usb.config=acm_gs2 + setprop vendor.usb.acm_port0 2 + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_cnt 1 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "3" + +on property:persist.vendor.radio.port_index="4" && property:sys.boot_completed=1 + setprop sys.usb.config acm_gs3 +on property:sys.usb.config=gs3 + setprop sys.usb.config acm_gs3 +on property:sys.usb.config=mtp,gs3 + setprop sys.usb.config acm_gs3 +on property:sys.usb.config=acm_gs3 + setprop vendor.usb.acm_port0 3 + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_cnt 1 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "4" + +on property:sys.usb.config=mtp,gs0gs1 + setprop sys.usb.config acm_gs0gs1 +on property:sys.usb.config=gs0gs1 + setprop sys.usb.config acm_gs0gs1 +on property:sys.usb.config=rndis,gs0gs1 + setprop sys.usb.config acm_gs0gs1 +on property:sys.usb.config=rndis,adb,gs0gs1 + setprop sys.usb.config acm_gs0gs1 +on property:sys.usb.config=acm_gs0gs1 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 1 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "1,2" + +on property:sys.usb.config=gs3,dual_acm + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=mtp,gs3,dual_acm + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=mtp,gs0gs3 + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=gs0gs3 + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=rndis,gs0gs3 + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=rndis,adb,gs0gs3 + setprop sys.usb.config acm_gs0gs3 +on property:sys.usb.config=acm_gs0gs3 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 3 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "1,4" + +on property:sys.usb.config=gs1gs3 + setprop sys.usb.config acm_gs1gs3 +on property:sys.usb.config=mtp,gs1gs3 + setprop sys.usb.config acm_gs1gs3 +on property:sys.usb.config=via_bypass,gs1gs3 + setprop sys.usb.config acm_gs1gs3 +on property:sys.usb.config=rndis,gs1gs3 + setprop sys.usb.config acm_gs1gs3 +on property:sys.usb.config=acm_gs1gs3 + setprop vendor.usb.acm_port0 1 + setprop vendor.usb.acm_port1 3 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.acm_idx "2,4" + +# For ATM (Android Test Mode) +on property:vendor.usb.clear=1 && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rmdir /config/usb_gadget/g1/functions/mtk_rndis.gs4 + write /sys/devices/platform/soc/mt_usb/saving 0 + setprop vendor.usb.clear 2 + +# has permission issue when read from ${sys.usb.ffs.ready} +on property:sys.usb.ffs.ready=0 + setprop vendor.usb.ffs.ready 0 +on property:sys.usb.ffs.ready=1 + setprop vendor.usb.ffs.ready 1 + +on property:sys.usb.config=atm_gs0 && property:sys.usb.configfs=1 + stop adbd + setprop vendor.usb.ffs.ready 0 + setprop vendor.usb.clear 1 + +on property:vendor.usb.ffs.ready=0 && property:sys.usb.config=atm_gs0 && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + start adbd + +on property:vendor.usb.ffs.ready=1 && property:sys.usb.config=atm_gs0 && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 "" + setprop vendor.usb.acm_cnt 1 + setprop vendor.usb.acm_enable 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "atm_gs0" + write /config/usb_gadget/g1/idProduct 0x200A + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + #setprop sys.usb.state ${sys.usb.config} + setprop vendor.usb.pid 0x200A + #setprop vendor.usb.clear 0 + setprop vendor.usb.acm_idx "1" + +on property:sys.usb.config=atm_gs0gs3 && property:sys.usb.configfs=1 + stop adbd + setprop vendor.usb.ffs.ready 0 + setprop vendor.usb.clear 1 + +on property:vendor.usb.ffs.ready=0 && property:sys.usb.config=atm_gs0gs3 && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + start adbd + +on property:vendor.usb.ffs.ready=1 && property:sys.usb.config=atm_gs0gs3 && \ +property:vendor.usb.clear=2 && property:sys.usb.configfs=1 + setprop vendor.usb.acm_port0 0 + setprop vendor.usb.acm_port1 3 + setprop vendor.usb.acm_cnt 2 + setprop vendor.usb.acm_enable 1 + write /sys/devices/platform/soc/mt_usb/saving 1 + write /config/usb_gadget/g1/idProduct 0x2026 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + #setprop sys.usb.state ${sys.usb.config} + setprop vendor.usb.pid 0x2026 + #setprop vendor.usb.clear 0 + setprop vendor.usb.acm_idx "1,4" + +### CHARGING ### +on property:sys.usb.config=cdp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp" + write /config/usb_gadget/g1/idProduct 0x2008 + write /config/usb_gadget/g1/os_desc/use 1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${vendor.usb.controller} + setprop sys.usb.state ${sys.usb.config} + setprop vendor.usb.pid 0x2008 + +on property:sys.usb.config=charging_yes + setprop vendor.usb.charging yes + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + +on property:sys.usb.config=charging_no + setprop sys.usb.config none + setprop sys.usb.config ${sys.usb.state} + setprop vendor.usb.charging no + +on property:vendor.usb.charging=yes + write /sys/class/udc/musb-hdrc/device/cmode 0 +on property:vendor.usb.charging=no + write /sys/class/udc/musb-hdrc/device/cmode 1 + +on property:vendor.usb.bicr=yes + write /sys/class/android_usb/android0/f_mass_storage/bicr 1 + write /sys/class/android_usb/android0/f_mass_storage/lun/file "/dev/block/loop0" +on property:vendor.usb.bicr=no + write /sys/class/android_usb/android0/f_mass_storage/bicr 0 + write /sys/class/android_usb/android0/f_mass_storage/lun/file "off" + +on property:vendor.usb.port.mode=usb + write /sys/devices/platform/soc/mt_usb/portmode 0 +on property:vendor.usb.port.mode=uart + write /sys/devices/platform/soc/mt_usb/portmode 1 +on property:vendor.em.usb.set=term_sel + write /proc/mtk_usb/usb-phy0/u2_phy/term_sel ${vendor.em.usb.value} +on property:vendor.em.usb.set=vrt_sel + write /proc/mtk_usb/usb-phy0/u2_phy/vrt_sel ${vendor.em.usb.value} +on property:vendor.em.usb.set=phy_rev6 + write /proc/mtk_usb/usb-phy0/u2_phy/phy_rev6 ${vendor.em.usb.value} +on property:vendor.em.usb.set=discth + write /proc/mtk_usb/usb-phy0/u2_phy/discth ${vendor.em.usb.value} + +on property:vendor.em.usb.bypass.enable=0 + write /sys/class/usb_rawbulk/gps/enable 1 +on property:vendor.em.usb.bypass.enable=1 + write /sys/class/usb_rawbulk/pcv/enable 1 +on property:vendor.em.usb.bypass.enable=2 + write /sys/class/usb_rawbulk/atc/enable 1 +on property:vendor.em.usb.bypass.enable=3 + write /sys/class/usb_rawbulk/ets/enable 1 +on property:vendor.em.usb.bypass.enable=4 + write /sys/class/usb_rawbulk/data/enable 1 +on property:vendor.em.usb.bypass.disable=0 + write /sys/class/usb_rawbulk/gps/enable 0 +on property:vendor.em.usb.bypass.disable=1 + write /sys/class/usb_rawbulk/pcv/enable 0 +on property:vendor.em.usb.bypass.disable=2 + write /sys/class/usb_rawbulk/atc/enable 0 +on property:vendor.em.usb.bypass.disable=3 + write /sys/class/usb_rawbulk/ets/enable 0 +on property:vendor.em.usb.bypass.disable=4 + write /sys/class/usb_rawbulk/data/enable 0 + +### vendor process start ### +on property:vendor.usb.config=* + setprop sys.usb.config ${vendor.usb.config} +### vendor process end ### + +### test command start ### +on property:vendor.usb.test=* + setprop sys.usb.config none + setprop sys.usb.config ${vendor.usb.test} +### test command end ### + +on property:vendor.usb.printk=* + write /proc/sys/kernel/printk ${vendor.usb.printk} + +on property:persist.vendor.usb.printk=* + setprop vendor.usb.printk ${persist.vendor.usb.printk} + +on property:vendor.usb.speed.mode=u3 + write /sys/class/udc/${vendor.usb.controller}/device/max_speed super-speed + write /sys/class/udc/${vendor.usb.controller}/device/mode 0 + write /sys/class/udc/${vendor.usb.controller}/device/mode 1 + +on property:vendor.usb.speed.mode=u2 + write /sys/class/udc/${vendor.usb.controller}/device/max_speed high-speed + write /sys/class/udc/${vendor.usb.controller}/device/mode 0 + write /sys/class/udc/${vendor.usb.controller}/device/mode 1 + +on property:persist.vendor.usb.speed.mode=u3 + write /sys/class/udc/${vendor.usb.controller}/device/max_speed super-speed + write /sys/class/udc/${vendor.usb.controller}/device/mode 0 + write /sys/class/udc/${vendor.usb.controller}/device/mode 1 + +on property:persist.vendor.usb.speed.mode=u2 + write /sys/class/udc/${vendor.usb.controller}/device/max_speed high-speed + write /sys/class/udc/${vendor.usb.controller}/device/mode 0 + write /sys/class/udc/${vendor.usb.controller}/device/mode 1 + +on property:vendor.usb.sib_enable=1 + write /proc/mtk_usb/usb-phy0/u3_phy/sib 1 + +on property:vendor.usb.sib_enable=0 + write /proc/mtk_usb/usb-phy0/u3_phy/sib 0 + +on property:vendor.usb.testmode=0 + write /proc/mtk_usb/xhci0/testmode "0" +on property:vendor.usb.testmode=1 + write /proc/mtk_usb/xhci0/testmode "test SE0 NAK" +on property:vendor.usb.testmode=2 + write /proc/mtk_usb/xhci0/testmode "test J" +on property:vendor.usb.testmode=3 + write /proc/mtk_usb/xhci0/testmode "test K" +on property:vendor.usb.testmode=4 + write /proc/mtk_usb/xhci0/testmode "test packet" + +on property:vendor.usb.device.wakeup=* + write ${vendor.usb.device.wakeup} "enabled" + +### PLATFORM VARIANT, cat $rc_file | grep write | sort | grep -vE "android0|usb20_phy" | awk '{print $2}' | uniq ### diff --git a/rootdir/etc/init.mtkgki.rc b/rootdir/etc/init.mtkgki.rc new file mode 100644 index 0000000..3bda127 --- /dev/null +++ b/rootdir/etc/init.mtkgki.rc @@ -0,0 +1,11 @@ +service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg + class main + user root + group root system + disabled + oneshot + +on early-init + setprop vendor.all.modules.ready 0 + write /proc/bootprof "modprobe: Load_Module_START" + start insmod_sh diff --git a/rootdir/etc/init.project.rc b/rootdir/etc/init.project.rc new file mode 100644 index 0000000..065748d --- /dev/null +++ b/rootdir/etc/init.project.rc @@ -0,0 +1,61 @@ +import /vendor/etc/init/hw/init.mtkgki.rc + +# MTK project .rc configure + +on init + mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw + mkdir /storage/usbotg 0700 root root + +on post-fs-data + +#Camera + chmod 0660 /dev/MAINAF + chown system camera /dev/MAINAF + + chmod 0660 /dev/MAINAF2 + chown system camera /dev/MAINAF2 + + chmod 0660 /dev/SUBAF + chown system camera /dev/SUBAF + + chmod 0660 /dev/GAF001AF + chown system camera /dev/GAF001AF + + chmod 0660 /dev/DW9714AF + chown system camera /dev/DW9714AF + + chmod 0660 /dev/LC898212AF + chown system camera /dev/LC898212AF + + chmod 0660 /dev/BU64745GWZAF + chown system camera /dev/BU64745GWZAF + +#SMB + chown system system /proc/smb/ScreenComm + chmod 0660 /proc/smb/ScreenComm + + chmod 0660 /dev/spm + chown system system /dev/spm + + +on init + # Refer to http://source.android.com/devices/tech/storage/index.html + # It said, "Starting in Android 4.4, multiple external storage devices are surfaced to developers through + # Context.getExternalFilesDirs(), Context.getExternalCacheDirs(), and Context.getObbDirs(). + # External storage devices surfaced through these APIs must be a semi-permanent part of the device (such as an SD card slot in a battery compartment). + # Developers expect data stored in these locations to be available over long periods of time." + # Therefore, if the target doesn't support sd hot-plugging (Ex: the SD card slot in a battery compartment), we need to export SECONDARY_STORAGE in 'boot' section + # + # export SECONDARY_STORAGE /storage/sdcard1 + +service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg + class late_start + disabled + +# start mmstat +on property:sys.boot_completed=1 + mkdir /sys/kernel/tracing/instances/mmstat 711 + write /sys/kernel/tracing/instances/mmstat/tracing_on 0 + write /sys/kernel/tracing/instances/mmstat/buffer_size_kb 16 + write /sys/kernel/tracing/instances/mmstat/events/mmstat/enable 1 + write /sys/kernel/tracing/instances/mmstat/tracing_on 1 diff --git a/rootdir/etc/init.sensor_2_0.rc b/rootdir/etc/init.sensor_2_0.rc new file mode 100644 index 0000000..0c50656 --- /dev/null +++ b/rootdir/etc/init.sensor_2_0.rc @@ -0,0 +1,7 @@ +# MTK platform .rc configure +on post-fs-data + # calibration + mkdir /data/vendor/sensor 0774 system system + # Sensor + chmod 0660 /dev/hf_manager + chown system system /dev/hf_manager diff --git a/rootdir/etc/init_connectivity.rc b/rootdir/etc/init_connectivity.rc new file mode 100644 index 0000000..5786763 --- /dev/null +++ b/rootdir/etc/init_connectivity.rc @@ -0,0 +1,46 @@ +# MTK connectivity .rc configure + +on post-fs-data + mkdir /data/vendor/stp_dump 0755 system system + mkdir /data/vendor/connsyslog 0755 system system + +on boot + +# WMT +service wmt_loader /vendor/bin/wmt_loader + class early_hal + user system + group system + oneshot + +service wmt_launcher /vendor/bin/wmt_launcher -p /vendor/firmware/ -o 1 + class early_hal + user system + group system + +on property:ro.build.type=eng + write /sys/kernel/debug/tracing/tracing_on 1 + +on property:persist.vendor.connsys.coredump.mode=1 + start stp_dump + +on property:persist.vendor.connsys.coredump.mode=2 + start stp_dump + +on property:persist.vendor.connsys.coredump.mode=0 + stop stp_dump + +on property:vendor.connsys.driver.ready=yes && property:persist.vendor.connsys.coredump.mode=* + write /proc/driver/wmt_user_proc "0x1 ${persist.vendor.connsys.coredump.mode}" + +on property:vendor.connsys.driver.ready=yes && property:debug.vendor.connsys.suspend.alarm=* + write /proc/driver/wmt_user_proc "0x2 ${debug.vendor.connsys.suspend.alarm}" + +on property:persist.vendor.em.dy.debug=1 + setprop persist.vendor.connsys.coredump.mode 0 + +service stp_dump /vendor/bin/stp_dump3 + user system + group system sdcard_rw misc + class core + disabled diff --git a/rootdir/etc/meta_init.connectivity.common.rc b/rootdir/etc/meta_init.connectivity.common.rc new file mode 100644 index 0000000..2bd4ab1 --- /dev/null +++ b/rootdir/etc/meta_init.connectivity.common.rc @@ -0,0 +1,80 @@ +#INTERNAL_START +on post-fs-data +# +# Connectivity related modules and character device nodes (Begin) +# + +#/dev/ttyMT2 for Connectivity BT/FM/GPS usage + chmod 0660 /dev/ttyMT2 + chown system system /dev/ttyMT2 + +# GPS + mkdir /data/vendor/gps 0770 gps system + mkdir /data/vendor/log 0770 gps system + mkdir /data/vendor/log/gps 0770 gps system + +# GPS EMI + chmod 666 /dev/gps_emi + +# WiFi + mkdir /data/misc/wifi 0770 wifi wifi + mkdir /data/misc/wifi/sockets 0770 wifi wifi + mkdir /data/misc/wpa_supplicant 0770 wifi wifi + +# +# Connectivity related device nodes & configuration (end) +# + + +on boot + +# +# Connectivity related services (Begin) +# + +# GPS +service mnld /vendor/bin/mnld 1Hz=y meta log_ctrl + class main + user gps + group gps inet misc sdcard_rw sdcard_r media_rw system radio wakelock + socket mnld stream 660 gps system + +#service BGW /vendor/bin/BGW +# user system +# group gps system radio +# class main + +# +# Connectivity related services (End) +# + +# +# Connectivity related kernel objects (Begin) +# + +# load connfem driver +on boot + insmod /vendor/lib/modules/connfem.ko + +# load bt_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/bt_drv_${ro.vendor.bt.platform}.ko + +# load wifi chrdev driver and wlan driver after wmt_loader finish +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/${ro.vendor.wlan.chrdev}.ko + insmod /vendor/lib/modules/wlan_drv_${ro.vendor.wlan.gen}.ko + +# load fmradio_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/fmradio_drv_${ro.vendor.fm.platform}.ko + +# load gps_drv +on property:vendor.connsys.driver.ready=yes + insmod /vendor/lib/modules/${ro.vendor.gps.chrdev}.ko + +# +# Connectivity related kernel objects (End) +# + +#INTERNAL_END diff --git a/rootdir/etc/meta_init.connectivity.rc b/rootdir/etc/meta_init.connectivity.rc new file mode 100644 index 0000000..b5d7c0a --- /dev/null +++ b/rootdir/etc/meta_init.connectivity.rc @@ -0,0 +1,37 @@ +import /vendor/etc/init/hw/meta_init.connectivity.common.rc + +#INTERNAL_START + +on boot + +# +# Connectivity related services (Begin) +# + +# WMT +service wmt_loader /vendor/bin/wmt_loader + user system + group system + oneshot + +service wmt_launcher /vendor/bin/wmt_launcher -p /vendor/firmware/ + user system + group system + +# +# Connectivity related services (End) +# + +# +# Connectivity related kernel objects (Begin) +# + +# load wmt_drv +on boot + insmod /vendor/lib/modules/wmt_drv.ko + +# +# Connectivity related kernel objects (End) +# + +#INTERNAL_END diff --git a/rootdir/etc/meta_init.modem.rc b/rootdir/etc/meta_init.modem.rc new file mode 100644 index 0000000..7d69c5a --- /dev/null +++ b/rootdir/etc/meta_init.modem.rc @@ -0,0 +1,39 @@ +# 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 post-fs-data + + write /proc/bootprof "post-fs-data: on meta modem start" + + # Modem related device nodes + mkdir /mnt/vendor/nvdata/md 0770 root system + mkdir /mnt/vendor/nvdata/md3 0770 root system + mkdir /data/md3 0770 root system + +# Build-in Modified - S +# insmod /vendor/lib/modules/ccci_plat.ko +# insmod /vendor/lib/modules/ccci.ko +# Build-in Modified - E + chown radio radio /sys/kernel/ccci/boot + +#SeLinux + mkdir /data/ccci_cfg 0770 system radio + restorecon /data/ccci_cfg + restorecon_recursive /mnt/vendor/protect_f + restorecon_recursive /mnt/vendor/protect_s + + # Encrypt phone function + setprop vold.post_fs_data_done 1 + +service ccci_mdinit /vendor/bin/ccci_mdinit 0 + user system + group radio system + oneshot + +service ccci_rpcd /vendor/bin/ccci_rpcd 0 + user radio + group radio system + oneshot diff --git a/rootdir/etc/meta_init.project.rc b/rootdir/etc/meta_init.project.rc new file mode 100644 index 0000000..46e4a9d --- /dev/null +++ b/rootdir/etc/meta_init.project.rc @@ -0,0 +1,15 @@ +import /vendor/etc/init/hw/init.mtkgki.rc + +#INTERNAL_START +on post-fs + + chmod 0660 /dev/spm + chown system system /dev/spm + + +service spm_script /vendor/bin/spm_loader + user system + group system + oneshot +#INTERNAL_END + diff --git a/rootdir/etc/meta_init.rc b/rootdir/etc/meta_init.rc new file mode 100644 index 0000000..ced6dd8 --- /dev/null +++ b/rootdir/etc/meta_init.rc @@ -0,0 +1,378 @@ +# 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. +# + +# I am S vendor meta_init.rc + +import /vendor/etc/init/hw/init.aee.rc +import /vendor/etc/init/trustonic.rc +import ${ro.vendor.rc}meta_init.connectivity.rc +import /vendor/etc/init/hw/meta_init.project.rc +import /vendor/etc/init/microtrust.rc +import /vendor/etc/init/android.hardware.boot@1.2-service.rc +import /vendor/etc/init/android.hardware.boot@1.2-service-lazy.rc +import /vendor/etc/init/android.hardware.health@2.1-service.rc + +#import ${ro.vendor.rc}multi_init.rc +#phase out multi_init.rc, move related vendor rc to here. +#start +import /vendor/etc/init/aee_aedv.rc +import /vendor/etc/init/aee_aedv64.rc +import /vendor/etc/init/storageproxyd.rc +import /vendor/etc/init/android.hardware.keymaster@3.0-service.rc +import /vendor/etc/init/android.hardware.keymaster@3.0-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.beanpod.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.beanpod.lite.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.trustkernel.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.mtee.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.beanpod.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.beanpod.lite.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.trustkernel.rc +import /vendor/etc/init/android.hardware.security.keymint-service.rc +#import /vendor/etc/init/vendor.mediatek.hardware.keyinstall@1.0-service.rc +import /vendor/etc/init/vendor.mediatek.hardware.keymanage@1.0-service.rc +import /vendor/etc/init/android.hardware.audio.service.mediatek.rc +import /vendor/etc/init/vendor.mediatek.hardware.keymaster_attestation@1.1-service.rc +import /vendor/etc/init/android.hardware.nfc@1.2-service-st.rc +import /vendor/etc/init/tee.rc +import /vendor/etc/init/vendor.mediatek.hardware.nvram@1.1-sevice.rc +import /vendor/etc/init/vendor.mediatek.hardware.nvram@1.1-sevice-lazy.rc +import /vendor/etc/init/android.hardware.light@2.0-service-mediatek.rc +import /vendor/etc/init/android.hardware.light@2.0-service-mediatek-lazy.rc +import /vendor/etc/init/lights-mtk-default.rc +import /vendor/etc/init/lights-mtk-lazy.rc +import /vendor/etc/init/merged_hal_service.rc +import /vendor/etc/init/spm_script.rc +import /vendor/etc/init/nvram_daemon.rc +import /vendor/etc/init/microtrust.bp_kmsetkey_ca.rc +import /vendor/etc/init/vendor.microtrust.hardware.thh@2.0-service.rc +import /vendor/etc/init/microtrust.init_thh.rc +#end + +#Make sure meta_init.modem.rc is the last rc file. +import ${ro.vendor.rc}meta_init.modem.rc + + +on early-init + write /proc/bootprof "INIT:early-init" + # Set init and its forked children's oom_adj. + write /proc/1/oom_score_adj -1000 + +#INTERNAL_START + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug +#INTERNAL_END + + # initialize vendor.all.modules.ready to 1 here to prevent NOT GKI project blocked + setprop vendor.all.modules.ready 1 + +on init + write /proc/bootprof "INIT:init" + write /proc/bootprof "INIT: on init mt6855 start" + + # Backward compatibility. + symlink /system/bin /bin + symlink /system/etc /etc + + # Backward compatibility. + symlink /sys/kernel/debug /d + + # Link /vendor to /system/vendor for devices without a vendor partition. + symlink /system/vendor /vendor + +# Temp Backward compatibility + symlink /dev/block/by-name/boot /dev/bootimg + symlink /dev/block/by-name/recovery /dev/recovery + symlink /dev/block/by-name/secro /dev/sec_ro + symlink /dev/block/by-name/kb /dev/kb + symlink /dev/block/by-name/dkb /dev/dkb + symlink /dev/block/by-name/seccfg /dev/seccfg + symlink /dev/block/by-name/proinfo /dev/pro_info + symlink /dev/block/by-name/nvram /dev/nvram + symlink /dev/block/by-name/para /dev/misc + symlink /dev/block/by-name/logo /dev/logo + + # Support legacy paths + symlink /sdcard /mnt/sdcard + + +#INTERNAL_START + symlink /sdcard /mnt/sdcard + + mkdir /mnt/cd-rom 0000 system system +#INTERNAL_END + + start hidl_memory + + +# Load properties from /system/ + /factory after fs mount. +on load_system_props_action + load_system_props + + + # avoid no log in meta mode due to logd-reinit + # stop keyinstall-1-0 + # start keyinstall-1-0 + + +on fs + ## USB configfs + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x0E8D + write /config/usb_gadget/g1/bcdDevice 0xFFFF + write /config/usb_gadget/g1/bcdUSB 0x0200 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/manufacturer "Android" + write /config/usb_gadget/g1/strings/0x409/product "Android" + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + mkdir /config/usb_gadget/g1/functions/mass_storage.usb0 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/acm.gs0 + mkdir /config/usb_gadget/g1/functions/acm.gs1 + mkdir /config/usb_gadget/g1/functions/acm.gs2 + mkdir /config/usb_gadget/g1/functions/acm.gs3 + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + setprop vendor.usb.feature 0 + +#INTERNAL_START + write /proc/bootprof "INIT:Mount_START" + + start vendor.boot-hal-1-2 + mount_all --early + write /proc/bootprof "INIT:Mount_END" +#INTERNAL_END + +on post-fs + # start keyinstall-1-0 + start vendor.light-default + start merged_hal_service + start health-hal-2-1 + + # Support legacy paths + symlink /sdcard /storage/sdcard0 + + +#INTERNAL_START + chown system system /mnt/vendor/protect_f + chmod 0770 /mnt/vendor/protect_f + + chown system system /mnt/vendor/protect_s + chmod 0770 /mnt/vendor/protect_s + + chown system system /mnt/vendor/nvcfg + chmod 0771 /mnt/vendor/nvcfg + restorecon_recursive /mnt/vendor/nvcfg + + chown root system /mnt/vendor/nvdata + chmod 0771 /mnt/vendor/nvdata + mkdir /mnt/vendor/nvdata/media 0771 media audio + restorecon_recursive /mnt/vendor/nvdata + +#INTERNAL_END + +on late-fs + start keystore2 + start vendor.keymaster-3-0 + start vendor.keymaster-3-0-trustonic + start vendor.keymaster-4-0 + start vendor.keymaster-4-0-trustonic + start vendor.keymaster-4-0-beanpod + start vendor.keymaster-4-1 + start vendor.keymaster-4-1-trustonic + start vendor.keymaster-4-1-beanpod + start vendor.keymint-default + start vendor.keymint-trustonic + start vendor.keymint-beanpod + start keymaster_attestation-1-1 + exec_start wait_for_keymaster + mount_all --late + +on post-fs-data + write /proc/bootprof "INIT:post-fs-data" + wait_for_prop vendor.all.modules.ready 1 + write /proc/bootprof "modprobe: Load_Module_DONE" + + #Thermal + mkdir /data/.tp/ 0775 system system + +#INTERNAL_START + # WiFi + mkdir /data/misc/wifi 0770 system wifi + mkdir /data/misc/wifi/sockets 0770 system wifi + mkdir /data/misc/dhcp 0770 dhcp dhcp + chown dhcp dhcp /data/misc/dhcp + #give system access to rfkill device node + chmod 0660 /dev/rfkill + + # RTC + mkdir /data/misc/rtc 0770 system system + + # Android SEC related device nodes + chmod 0660 /dev/sec + chown root system /dev/sec + + #change partition permission + exec /vendor/etc/partition_permission.sh + + chmod 0666 /dev/exm0 +#INTERNAL_END + +on boot + # For backlight + chmod 0664 /sys/class/leds/lcd-backlight/brightness + chown system system /sys/class/leds/lcd-backlight/brightness + +#INTERNAL_START + class_start default +#INTERNAL_END + +#USB configfs + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + chown system radio /dev/ttyGS3 + chmod 0660 /dev/ttyGS3 + setprop sys.usb.configfs 1 + setprop sys.usb.ffs.aio_compat 0 + + +# One shot invocation to encrypt unencrypted volumes +# mtk modification: +# To speed up the booting in meta/factory mode, we don't encrypt the device. +# And then handle it as 'unencrypted' state. +on encrypt + mount ext4 /dev/block/by-name/userdata /data noatime nosuid nodev noauto_da_alloc discard wait + setprop vendor.crypto.fake_encrypt 1 + setprop vold.post_fs_data_done 0 + trigger post-fs-data +on property:vendor.crypto.fake_encrypt=1 && property:vold.post_fs_data_done=1 + trigger load_persist_props_action + # setprop ro.crypto.state unencrypted + setprop vendor.soter.teei.crypto.state unencrypted + exec_start update_verifier + class_start main + class_start late_start + start mount_all_storages + + +#Log too much setting +on property:ro.vendor.mtklog_internal=1 + setprop vendor.logmuch.value 10000 + + +#INTERNAL_START + +service thermal_manager /vendor/bin/thermal_manager + user root + group system + oneshot + +service loghidlvendorservice /vendor/bin/loghidlvendorservice + class main + user shell + group system shell radio + +service meta_tst /vendor/bin/meta_tst + user root + group radio system wifi audio bluetooth media gps + socket meta-atci stream 660 radio system + +service factory_no_image /vendor/bin/factory + user root + group radio system wifi media gps audio bluetooth wakelock nfc + capabilities BLOCK_SUSPEND NET_RAW NET_ADMIN SYS_ADMIN SYS_BOOT + socket factory-atci stream 660 radio system + +service atcid-daemon-u /vendor/bin/atcid + interface vendor.mediatek.hardware.atci@1.0::IAtcid default + class hal + class core + socket adb_atci_socket stream 660 radio system + user root + group radio system + oneshot + +service fuelgauged /vendor/bin/fuelgauged + class main + user system + group system + +on property:vendor.mtk.factory.start=1 + stop factory_no_image + start factory_no_image + +#META+ADB +on property:ro.boot.usbconfig=0 && property:sys.usb.configfs=1 + write /proc/bootprof "INIT:start adbd" + start adbd + +on property:sys.usb.ffs.ready=1 && property:ro.boot.usbconfig=0 && property:sys.usb.configfs=1 && \ +property:vendor.usb.feature=0 + write /proc/bootprof "INIT:on property:ro.boot.usbconfig=0" + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_acm" + write /config/usb_gadget/g1/idProduct 0x200E + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC "musb-hdrc" + +#META, move this to kernel driver: CONFIG_USB_CONFIGFS_MTK_FASTMETA +on property:ro.boot.usbconfig=1 && property:sys.usb.configfs=1 && property:vendor.usb.feature=0 + write /proc/bootprof "INIT:on property:ro.boot.usbconfig 1" + #write /config/usb_gadget/g1/UDC "none" + #write /config/usb_gadget/g1/strings/0x409/serialnumber "" + #write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "acm" + #write /config/usb_gadget/g1/idProduct 0x2007 + #write /config/usb_gadget/g1/bDeviceClass 02 + #symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f1 + #write /config/usb_gadget/g1/UDC "musb-hdrc" + +#META+ELT, move this to kernel driver: CONFIG_USB_CONFIGFS_MTK_FASTMETA +on property:ro.boot.usbconfig=2 && property:sys.usb.configfs=1 + write /proc/bootprof "INIT:on property:ro.boot.usbconfig 2" + setprop vendor.usb.acm_idx 1,4 + #write /config/usb_gadget/g1/UDC "none" + #write /config/usb_gadget/g1/strings/0x409/serialnumber $ro.serialno + #write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "meta_elt" + #write /config/usb_gadget/g1/idProduct 0x202d + #symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + #symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f2 + #symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f3 + #write /config/usb_gadget/g1/UDC "musb-hdrc" + +#META+ELT+ADB +on property:ro.boot.usbconfig=3 && property:sys.usb.configfs=1 + write /proc/bootprof "INIT:start adbd" + start adbd + +on property:sys.usb.ffs.ready=1 && property:ro.boot.usbconfig=3 && property:sys.usb.configfs=1 + write /proc/bootprof "INIT:on property:ro.boot.usbconfig 3" + write /config/usb_gadget/g1/UDC "none" + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "meta_elt_adb" + write /config/usb_gadget/g1/idProduct 0x2040 + write /sys/devices/platform/soc/mt_usb/saving 1 + symlink /config/usb_gadget/g1/functions/mass_storage.usb0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/functions/acm.gs0 /config/usb_gadget/g1/configs/b.1/f3 + symlink /config/usb_gadget/g1/functions/acm.gs3 /config/usb_gadget/g1/configs/b.1/f4 + write /config/usb_gadget/g1/UDC "musb-hdrc" + setprop vendor.usb.acm_idx 1,4 + +# MTK fast charging support +on property:persist.vendor.mediatek.fast_charging.support=* + write /sys/devices/platform/charger/fast_chg_indicator ${persist.vendor.mediatek.fast_charging.support} + +#INTERNAL_END diff --git a/rootdir/etc/meta_init.vendor.rc b/rootdir/etc/meta_init.vendor.rc new file mode 100644 index 0000000..c0b14eb --- /dev/null +++ b/rootdir/etc/meta_init.vendor.rc @@ -0,0 +1,11 @@ +# 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. +# + +import /vendor/etc/init/android.hardware.keymaster@4.1-service.mtee.rc +import /vendor/etc/init/android.hardware.security.keymint-service.trustonic.rc +import /vendor/etc/init/android.hardware.security.keymint-service.beanpod.rc + +import /vendor/etc/init/hw/meta_init.rc \ No newline at end of file diff --git a/rootdir/etc/multi_init.rc b/rootdir/etc/multi_init.rc new file mode 100644 index 0000000..89a84fa --- /dev/null +++ b/rootdir/etc/multi_init.rc @@ -0,0 +1,50 @@ +# import AOSP service related rc in meta mode and factory mode. +# +import /system_ext/etc/init/aee_aed.rc +import /system_ext/etc/init/aee_aed64.rc +import /vendor/etc/init/aee_aedv.rc +import /vendor/etc/init/aee_aedv64.rc +import /system/etc/init/logd.rc +import /system/etc/init/logd_e.rc +import /system/etc/init/logcatd.rc +import /system/etc/init/storagemanagerd.rc +import /system/etc/init/mobile_log_d.rc +import /system/etc/init/android.system.suspend@1.0-service.rc +import /system/etc/init/wait_for_keymaster.rc +import /system/etc/init/keystore2.rc +import /vendor/etc/init/storageproxyd.rc +import /vendor/etc/init/android.hardware.keymaster@3.0-service.rc +import /vendor/etc/init/android.hardware.keymaster@3.0-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.beanpod.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.beanpod.lite.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.trustkernel.rc +import /vendor/etc/init/android.hardware.keymaster@4.0-service.mtee.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.trustonic.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.beanpod.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.beanpod.lite.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.trustkernel.rc +import /vendor/etc/init/android.hardware.keymaster@4.1-service.mtee.rc +import /vendor/etc/init/android.hardware.security.keymint-service.rc +import /vendor/etc/init/android.hardware.security.keymint-service.trustonic.rc +import /vendor/etc/init/android.hardware.security.keymint-service.beanpod.rc +#import /vendor/etc/init/vendor.mediatek.hardware.keyinstall@1.0-service.rc +import /vendor/etc/init/vendor.mediatek.hardware.keymanage@1.0-service.rc +import /vendor/etc/init/android.hardware.audio.service.mediatek.rc +import /vendor/etc/init/vendor.mediatek.hardware.keymaster_attestation@1.1-service.rc +import /vendor/etc/init/android.hardware.nfc@1.2-service-st.rc +import /vendor/etc/init/tee.rc +import /vendor/etc/init/vendor.mediatek.hardware.nvram@1.1-sevice.rc +import /vendor/etc/init/vendor.mediatek.hardware.nvram@1.1-sevice-lazy.rc +import /vendor/etc/init/android.hardware.light@2.0-service-mediatek.rc +import /vendor/etc/init/android.hardware.light@2.0-service-mediatek-lazy.rc +import /vendor/etc/init/lights-mtk-default.rc +import /vendor/etc/init/lights-mtk-lazy.rc +import /vendor/etc/init/merged_hal_service.rc +import /vendor/etc/init/spm_script.rc +import /vendor/etc/init/nvram_daemon.rc +import /vendor/etc/init/microtrust.bp_kmsetkey_ca.rc +import /vendor/etc/init/vendor.microtrust.hardware.thh@2.0-service.rc +import /vendor/etc/init/microtrust.init_thh.rc diff --git a/setup-makefiles.sh b/setup-makefiles.sh new file mode 100644 index 0000000..c593b22 --- /dev/null +++ b/setup-makefiles.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright (C) 2016 The CyanogenMod Project +# Copyright (C) 2017-2020 The LineageOS Project +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -e + +DEVICE=cancunf +VENDOR=motorola + +# Load extract_utils and do some sanity checks +MY_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi + +ANDROID_ROOT="${MY_DIR}/../../.." + +HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" +if [ ! -f "${HELPER}" ]; then + echo "Unable to find helper script at ${HELPER}" + exit 1 +fi +source "${HELPER}" + +# Initialize the helper +setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" + +# Warning headers and guards +write_headers + +write_makefiles "${MY_DIR}/proprietary-files.txt" true + +# Finish +write_footers diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..34952bd --- /dev/null +++ b/system.prop @@ -0,0 +1,137 @@ +Build.BRAND=MTK +bluetooth.profile.a2dp.source.enabled=true +bluetooth.profile.asha.central.enabled=true +bluetooth.profile.avrcp.target.enabled=true +bluetooth.profile.bas.client.enabled=true +bluetooth.profile.gatt.enabled=true +bluetooth.profile.hfp.ag.enabled=true +bluetooth.profile.hid.host.enabled=true +bluetooth.profile.map.server.enabled=true +bluetooth.profile.opp.enabled=true +bluetooth.profile.pan.nap.enabled=true +bluetooth.profile.pan.panu.enabled=true +bluetooth.profile.pbap.server.enabled=true +bluetooth.profile.sap.server.enabled=true +dalvik.vm.appimageformat=lz4 +dalvik.vm.dex2oat-Xms=64m +dalvik.vm.dex2oat-Xmx=512m +dalvik.vm.dex2oat-max-image-block-size=524288 +dalvik.vm.dex2oat-minidebuginfo=true +dalvik.vm.dex2oat-resolve-startup-strings=true +dalvik.vm.dexopt.secondary=true +dalvik.vm.dexopt.thermal-cutoff=2 +dalvik.vm.enable_pr_dexopt=true +dalvik.vm.image-dex2oat-Xms=64m +dalvik.vm.image-dex2oat-Xmx=64m +dalvik.vm.madvise.artfile.size=4294967295 +dalvik.vm.madvise.odexfile.size=104857600 +dalvik.vm.madvise.vdexfile.size=104857600 +dalvik.vm.minidebuginfo=true +dalvik.vm.ps-min-first-save-ms=150000 +dalvik.vm.usap_pool_enabled=false +dalvik.vm.usap_pool_refill_delay_ms=3000 +dalvik.vm.usap_pool_size_max=3 +dalvik.vm.usap_pool_size_min=1 +dalvik.vm.usap_refill_threshold=1 +dalvik.vm.useartservice=true +dalvik.vm.usejit=true +debug.atrace.tags.enableflags=0 +debug.sf.early.app.duration=20000000 +debug.sf.early.sf.duration=27600000 +debug.sf.earlyGl.app.duration=20000000 +debug.sf.earlyGl.sf.duration=27600000 +debug.sf.enable_gl_backpressure=0 +debug.sf.enable_transaction_tracing=false +debug.sf.hwc.min.duration=23000000 +debug.sf.late.app.duration=20000000 +debug.sf.late.sf.duration=27600000 +debug.sf.predict_hwc_composition_strategy=0 +debug.sf.treat_170m_as_sRGB=1 +debug.sf.use_phase_offsets_as_durations=1 +debug.stagefright.c2inputsurface=-1 +media.stagefright.thumbnail.prefer_hw_codecs=true +mediatek.wlan.ctia=0 +net.bt.name=Android +persist.log.tag.BufferQueueDump=I +persist.log.tag.BufferQueueProducer=I +persist.log.tag.GraphicBuffer=I +persist.log.tag.SurfaceControl=I +persist.sys.fuse.passthrough.enable=true +persist.traced.enable=1 +persist.vendor.mdlog.flush_log_ratio=0 +persist.vendor.mtk.vilte.enable=1 +persist.vendor.pco5.radio.ctrl=0 +persist.vendor.pms_removable=1 +persist.vendor.vilte_support=1 +persist.vendor.vzw_device_type=0 +persist.vendor.wfc.sys_wfc_support=1 +pm.dexopt.ab-ota=speed-profile +pm.dexopt.bg-dexopt=speed-profile +pm.dexopt.boot-after-mainline-update=verify +pm.dexopt.boot-after-ota=verify +pm.dexopt.cmdline=verify +pm.dexopt.first-boot=verify +pm.dexopt.inactive=verify +pm.dexopt.install=speed-profile +pm.dexopt.install-bulk=speed-profile +pm.dexopt.install-bulk-downgraded=verify +pm.dexopt.install-bulk-secondary=verify +pm.dexopt.install-bulk-secondary-downgraded=verify +pm.dexopt.install-fast=skip +pm.dexopt.post-boot=verify +pm.dexopt.shared=speed +qemu.hw.mainkeys=0 +ro.actionable_compatible_property.enabled=true +ro.allow.mock.location=0 +ro.audio.flinger_standbytime_ms=1000 +ro.audio.ihaladaptervendorextension_enabled=true +ro.audio.silent=0 +ro.audio.usb.period_us=16000 +ro.base_build=noah +ro.build.version.ci=2 +ro.build.version.trunk=15 +ro.camera.sound.forced=0 +ro.dalvik.vm.native.bridge=0 +ro.iorapd.enable=false +ro.kernel.zio=38,108,105,16 +ro.llndk.api_level=202404 +ro.logd.auditd.events=true +ro.logd.auditd.main=true +ro.mediatek.version.branch=alps-mp-v0.mssi1.tc2sp1 +ro.mediatek.version.build.branch= +ro.mediatek.version.release=alps-mp-v0.mp1.tc2sp1-V1.53 +ro.mediatek.wlan.p2p=1 +ro.mediatek.wlan.wsc=1 +ro.mot.product_wave=2023.3 +ro.mtk_perf_fast_start_win=1 +ro.mtk_perf_response_time=1 +ro.mtk_perf_simple_start_win=1 +ro.opengles.version=196610 +ro.postinstall.fstab.prefix=/system +ro.product.is_production=true +ro.product.property_source_order=odm,vendor,product,system +ro.property_service.async_persist_writes=true +ro.surface_flinger.game_default_frame_rate_override=60 +ro.sys.usb.bicr=no +ro.sys.usb.charging.only=yes +ro.sys.usb.mtp.whql.enable=0 +ro.sys.usb.storage.type=mtp +ro.vendor.mtk_telephony_add_on_policy=1 +ro.vendor.qti.va_aosp.support=1 +ro.vendor.system.mtk_dmc_support=1 +ro.vendor.system.mtk_mdmi_support=1 +ro.wifi.channels= +ro.zygote.preload.enable=0 +security.perf_harden=1 +sys.ipo.disable=1 +sys.ipo.pwrdncap=2 +vendor.af.dynamic.sleeptime.enable=true +vendor.af.pausewait.enable=false +vendor.af.threshold.src_and_effect_count=5 +vendor.debug.sf.display_dejitter=0 +vendor.mtk_thumbnail_optimization=true +vendor.rild.libargs=-d /dev/ttyC0 +vendor.rild.libpath=mtk-ril.so +wifi.direct.interface=p2p0 +wifi.interface=wlan0 +wifi.tethering.interface=ap0 diff --git a/system_ext.prop b/system_ext.prop new file mode 100644 index 0000000..3a69a9e --- /dev/null +++ b/system_ext.prop @@ -0,0 +1,29 @@ +audio.deep_buffer.media=true +audio.offload.disable=false +audio.offload.gapless.enabled=false +audio.offload.min.duration.secs=60 +audio.offload.video=false +dalvik.vm.systemuicompilerfilter=speed +media.recorder.show_manufacturer_and_model=true +media.settings.xml=/vendor/etc/media_profiles_vendor.xml +persist.mot_bt.max_thread_pool=8 +persist.sys.bootupvolume=5 +persist.vendor.audio.dualmic.config=endfire +persist.vendor.audio.fluence.speaker=false +persist.vendor.audio.fluence.voicecall=true +persist.vendor.audio.fluence.voicecomm=true +persist.vendor.audio.fluence.voicerec=false +persist.vendor.audio_fx.current=mmi +persist.vendor.camera.expose.aux=1 +persist.vendor.em.dy.debug=1 +ro.boot.wificountrycode=00 +ro.camera.cfa.packagelist=com.motorola.coresettingsext,com.motorola.camera3,com.motorola.actions +ro.cp_system_other_odex=1 +ro.mot.platform.build_id=MV-165 +ro.mot.security.enable=true +ro.virtual_ab.merge_delay_seconds=300 +vendor.audio.parser.ip.buffer.size=262144 +vendor.audio.snd_card.open.retries=50 +vendor.camera.aux.packagelist=com.motorola.camera3,com.motorola.camera5,com.motorola.motocit +vendor.camera.aux.packagelist2=com.motorola.ccc,com.android.settings,com.motorola.motointelligence +vendor.mm.en.sec.smoothstreaming=false diff --git a/vendor.prop b/vendor.prop new file mode 100644 index 0000000..7dc78ed --- /dev/null +++ b/vendor.prop @@ -0,0 +1,535 @@ +aaudio.mmap_exclusive_policy=0 +aaudio.mmap_policy=0 +camera.disable_zsl_mode=1 +dalvik.vm.heapgrowthlimit=256m +dalvik.vm.heapmaxfree=8m +dalvik.vm.heapminfree=512k +dalvik.vm.heapsize=512m +dalvik.vm.heaptargetutilization=0.75 +dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt +debug.mediatek.appgamepq_compress=1 +debug.mediatek.disp_decompress=1 +debug.mtk_tflite.target_nnapi=29 +debug.renderengine.backend=skiagl +debug.sf.disable_backpressure=1 +debug.sf.early.app.duration=20000000 +debug.sf.early.sf.duration=27600000 +debug.sf.earlyGl.app.duration=20000000 +debug.sf.earlyGl.sf.duration=27600000 +debug.sf.enable_hwc_vds=0 +debug.sf.force_populate_color_modes=true +debug.sf.frame_rate_multiple_threshold=120 +debug.sf.high_fps_early_gl_phase_offset_ns=-12666667 +debug.sf.high_fps_early_phase_offset_ns=-12666667 +debug.sf.high_fps_late_app_phase_offset_ns=-8000000 +debug.sf.high_fps_late_sf_phase_offset_ns=-12666667 +debug.sf.hwc.min.duration=23000000 +debug.sf.latch_unsignaled=1 +debug.sf.late.app.duration=20000000 +debug.sf.late.sf.duration=27600000 +debug.sf.region_sampling_period_ns=1000000000 +debug.sf.scroll_boost_refreshrate=120 +debug.sf.touch_boost_refreshrate=90 +debug.sf.use_phase_offsets_as_durations=0 +drm.service.enabled=true +external_storage.casefold.enabled=1 +external_storage.projid.enabled=1 +external_storage.sdcardfs.enabled=0 +graphics.gpu.profiler.support=true +init.userspace_reboot.is_supported=true +keyguard.no_require_sim=true +media.c2.dmabuf.padding=3072 +ota.mot_ota_tuning.valid=-1 +persist.adb.nonblocking_ffs=0 +persist.bluetooth.a2dp_offload.cap=sbc-aac +persist.bluetooth.a2dp_offload.disabled=true +persist.log.tag.APM-KpiMonitor=I +persist.log.tag.APM-ServiceJ=I +persist.log.tag.APM-SessionJ=I +persist.log.tag.APM-SessionN=I +persist.log.tag.APM-Subscriber=I +persist.log.tag.AT=I +persist.log.tag.AdnRecord=I +persist.log.tag.AdnRecordCache=I +persist.log.tag.AdnRecordLoader=I +persist.log.tag.AirplaneHandler=I +persist.log.tag.C2K_RIL-DATA=I +persist.log.tag.CapaSwitch=I +persist.log.tag.CarrierExpressServiceImpl=I +persist.log.tag.CarrierExpressServiceImplExt=I +persist.log.tag.CountryDetector=I +persist.log.tag.DMC-ApmService=I +persist.log.tag.DMC-Core=I +persist.log.tag.DMC-DmcService=I +persist.log.tag.DMC-EventsSubscriber=I +persist.log.tag.DMC-ReqQManager=I +persist.log.tag.DMC-SessionManager=I +persist.log.tag.DMC-TranslatorLoader=I +persist.log.tag.DMC-TranslatorUtils=I +persist.log.tag.DSSelector=I +persist.log.tag.DSSelectorOP01=I +persist.log.tag.DSSelectorOP02=I +persist.log.tag.DSSelectorOP09=I +persist.log.tag.DSSelectorOP18=I +persist.log.tag.DSSelectorOm=I +persist.log.tag.DSSelectorUtil=I +persist.log.tag.DataDispatcher=I +persist.log.tag.DcFcMgr=I +persist.log.tag.ExternalSimMgr=I +persist.log.tag.GsmCallTkrHlpr=I +persist.log.tag.GsmCdmaConn=I +persist.log.tag.GsmCdmaPhone=I +persist.log.tag.IMSRILRequest=I +persist.log.tag.IMS_RILA=I +persist.log.tag.IccCardProxy=I +persist.log.tag.IccPhoneBookIM=I +persist.log.tag.IccProvider=I +persist.log.tag.ImsApp=I +persist.log.tag.ImsBaseCommands=I +persist.log.tag.ImsCall=I +persist.log.tag.ImsCallProfile=I +persist.log.tag.ImsCallSession=I +persist.log.tag.ImsEcbm=I +persist.log.tag.ImsEcbmProxy=I +persist.log.tag.ImsManager=I +persist.log.tag.ImsPhone=I +persist.log.tag.ImsPhoneBase=I +persist.log.tag.ImsPhoneCall=I +persist.log.tag.ImsService=I +persist.log.tag.ImsVTProvider=I +persist.log.tag.IsimFileHandler=I +persist.log.tag.IsimRecords=I +persist.log.tag.LCM-Subscriber=I +persist.log.tag.MDM-Subscriber=I +persist.log.tag.MDMI-CommandProcessor=I +persist.log.tag.MDMI-CoreSession=I +persist.log.tag.MDMI-MdmiRedirector=I +persist.log.tag.MDMI-MdmiRedirectorCtrl=I +persist.log.tag.MDMI-NetworkSocketConnection=I +persist.log.tag.MDMI-Permission=I +persist.log.tag.MDMI-Provider=I +persist.log.tag.MDMI-SocketConnection=I +persist.log.tag.MDMI-SocketListener=I +persist.log.tag.MDMI-TranslatorManager=I +persist.log.tag.MTKSST=D +persist.log.tag.MtkAdnRecord=I +persist.log.tag.MtkCsimFH=I +persist.log.tag.MtkDc=I +persist.log.tag.MtkDcc=I +persist.log.tag.MtkDct=I +persist.log.tag.MtkEmbmsAdaptor=I +persist.log.tag.MtkFactory=I +persist.log.tag.MtkGsmCdmaConn=I +persist.log.tag.MtkIccCardProxy=I +persist.log.tag.MtkIccPHBIM=I +persist.log.tag.MtkIccProvider=I +persist.log.tag.MtkImsManager=I +persist.log.tag.MtkImsService=I +persist.log.tag.MtkIsimFH=I +persist.log.tag.MtkPhoneNotifr=I +persist.log.tag.MtkPhoneNumberUtils=I +persist.log.tag.MtkPhoneSwitcher=D +persist.log.tag.MtkRecordLoader=I +persist.log.tag.MtkRetryManager=I +persist.log.tag.MtkRuimFH=I +persist.log.tag.MtkSIMFH=I +persist.log.tag.MtkSIMRecords=I +persist.log.tag.MtkSmsCbHeader=I +persist.log.tag.MtkSmsManager=I +persist.log.tag.MtkSmsMessage=I +persist.log.tag.MtkSpnOverride=I +persist.log.tag.MtkSubCtrl=I +persist.log.tag.MtkUiccCard=I +persist.log.tag.MtkUiccCardApp=I +persist.log.tag.MtkUiccCtrl=I +persist.log.tag.MtkUsimFH=I +persist.log.tag.MwiRIL=I +persist.log.tag.NetAgentService=I +persist.log.tag.NetAgent_IO=I +persist.log.tag.NetLnkEventHdlr=I +persist.log.tag.NetworkPolicy=I +persist.log.tag.NetworkStats=I +persist.log.tag.OperatorUtils=I +persist.log.tag.PKM-Lib=I +persist.log.tag.PKM-MDM=I +persist.log.tag.PKM-Monitor=I +persist.log.tag.PKM-SA=I +persist.log.tag.PKM-Service=I +persist.log.tag.PQ_DS=I +persist.log.tag.Phone=I +persist.log.tag.PhoneConfigurationSettings=I +persist.log.tag.PhoneFactory=I +persist.log.tag.PowerHalAddressUitls=I +persist.log.tag.PowerHalMgrImpl=I +persist.log.tag.PowerHalMgrServiceImpl=I +persist.log.tag.PowerHalWifiMonitor=I +persist.log.tag.ProxyController=I +persist.log.tag.RFX=I +persist.log.tag.RIL=I +persist.log.tag.RIL-Fusion=I +persist.log.tag.RIL-Netlink=I +persist.log.tag.RIL-Parcel=I +persist.log.tag.RIL-SocListen=I +persist.log.tag.RIL-Socket=I +persist.log.tag.RILC=I +persist.log.tag.RILC-OP=I +persist.log.tag.RILD=I +persist.log.tag.RILMD2-SS=I +persist.log.tag.RILMUXD=I +persist.log.tag.RIL_UIM_SOCKET=I +persist.log.tag.RTC_DAC=I +persist.log.tag.RadioManager=I +persist.log.tag.RfxAction=I +persist.log.tag.RfxChannelMgr=I +persist.log.tag.RfxCloneMgr=I +persist.log.tag.RfxContFactory=I +persist.log.tag.RfxController=I +persist.log.tag.RfxDebugInfo=I +persist.log.tag.RfxDisThread=I +persist.log.tag.RfxFragEnc=I +persist.log.tag.RfxHandlerMgr=I +persist.log.tag.RfxIdToMsgId=I +persist.log.tag.RfxIdToStr=I +persist.log.tag.RfxMainThread=I +persist.log.tag.RfxMclDisThread=I +persist.log.tag.RfxMclMessenger=I +persist.log.tag.RfxMclStatusMgr=I +persist.log.tag.RfxMessage=I +persist.log.tag.RfxObject=I +persist.log.tag.RfxOpUtils=I +persist.log.tag.RfxRilAdapter=I +persist.log.tag.RfxRilUtils=I +persist.log.tag.RfxRoot=I +persist.log.tag.RfxStatusMgr=I +persist.log.tag.RfxTimer=I +persist.log.tag.RilClient=I +persist.log.tag.RilOemClient=I +persist.log.tag.RilOpProxy=I +persist.log.tag.RmcCapa=I +persist.log.tag.RmcCdmaSimRequest=I +persist.log.tag.RmcCdmaSimUrc=I +persist.log.tag.RmcCommSimOpReq=I +persist.log.tag.RmcCommSimReq=I +persist.log.tag.RmcCommSimUrc=I +persist.log.tag.RmcDcCommon=I +persist.log.tag.RmcDcPdnManager=I +persist.log.tag.RmcDcReqHandler=I +persist.log.tag.RmcDcUtility=I +persist.log.tag.RmcEccNumberUrcHandler=D +persist.log.tag.RmcEmbmsReq=I +persist.log.tag.RmcEmbmsUrc=I +persist.log.tag.RmcGsmSimRequest=I +persist.log.tag.RmcGsmSimUrc=I +persist.log.tag.RmcImsCtlReqHdl=I +persist.log.tag.RmcImsCtlUrcHdl=I +persist.log.tag.RmcNwHdlr=D +persist.log.tag.RmcNwRTReqHdlr=D +persist.log.tag.RmcNwReqHdlr=D +persist.log.tag.RmcOemHandler=I +persist.log.tag.RmcOpRadioReq=I +persist.log.tag.RmcPhbReq=I +persist.log.tag.RmcPhbUrc=I +persist.log.tag.RmcRadioReq=I +persist.log.tag.RmcRatSwHdlr=D +persist.log.tag.RmcWp=I +persist.log.tag.RtcCapa=I +persist.log.tag.RtcCommSimCtrl=I +persist.log.tag.RtcDC=I +persist.log.tag.RtcEccNumberController=D +persist.log.tag.RtcEmbmsAt=I +persist.log.tag.RtcEmbmsUtil=I +persist.log.tag.RtcIms=I +persist.log.tag.RtcImsConference=I +persist.log.tag.RtcImsConfigController=I +persist.log.tag.RtcImsDialog=I +persist.log.tag.RtcModeCont=I +persist.log.tag.RtcNwCtrl=I +persist.log.tag.RtcPhb=I +persist.log.tag.RtcRadioCont=I +persist.log.tag.RtcRatSwCtrl=D +persist.log.tag.RtcWp=I +persist.log.tag.SIMRecords=I +persist.log.tag.SimSwitchOP01=I +persist.log.tag.SimSwitchOP02=I +persist.log.tag.SimSwitchOP18=I +persist.log.tag.SlotQueueEntry=I +persist.log.tag.SpnOverride=I +persist.log.tag.UiccCard=I +persist.log.tag.UiccController=I +persist.log.tag.UxUtility=I +persist.log.tag.VT=I +persist.log.tag.VsimAdaptor=I +persist.log.tag.WORLDMODE=I +persist.log.tag.WfoApp=I +persist.log.tag.WpfaCcciDataHeaderEncoder=I +persist.log.tag.WpfaCcciReader=I +persist.log.tag.WpfaCcciSender=I +persist.log.tag.WpfaControlMsgHandler=I +persist.log.tag.WpfaDriver=I +persist.log.tag.WpfaDriverAccept=I +persist.log.tag.WpfaDriverAdapter=I +persist.log.tag.WpfaDriverDeReg=I +persist.log.tag.WpfaDriverMessage=I +persist.log.tag.WpfaDriverRegFilter=I +persist.log.tag.WpfaDriverULIpPkt=I +persist.log.tag.WpfaDriverUtilis=I +persist.log.tag.WpfaDriverVersion=I +persist.log.tag.WpfaFilterRuleReqHandler=I +persist.log.tag.WpfaParsing=I +persist.log.tag.WpfaRingBuffer=I +persist.log.tag.WpfaRuleContainer=I +persist.log.tag.WpfaRuleRegister=I +persist.log.tag.WpfaShmAccessController=I +persist.log.tag.WpfaShmReadMsgHandler=I +persist.log.tag.WpfaShmSynchronizer=I +persist.log.tag.WpfaShmWriteMsgHandler=I +persist.log.tag.libPowerHal=I +persist.log.tag.mtkpower@impl=I +persist.log.tag.mtkpower_client=I +persist.log.tag.wpfa_iptable_android=I +persist.radio.multisim.config=dsds +persist.rcs.supported=1 +persist.sys.ams_ext_enabled=true +persist.sys.dalvik.vm.lib.2=libart.so +persist.sys.sf.native_mode=1 +persist.vendor.audio_fx.current=dolby +persist.vendor.camera.p1.streamBufCnt.imgo=10 +persist.vendor.camera.p1.streamBufCnt.lcso=10 +persist.vendor.camera.p1.streamBufCnt.rrzo=10 +persist.vendor.camera.physical.num=3 +persist.vendor.camera3.pipeline.bufnum.base.imgo=4 +persist.vendor.camera3.pipeline.bufnum.base.lcso=4 +persist.vendor.camera3.pipeline.bufnum.base.rrzo=4 +persist.vendor.camera3.pipeline.bufnum.base.rsso=5 +persist.vendor.camera3.pipeline.bufnum.min.high_ram.fdyuv=6 +persist.vendor.camera3.pipeline.bufnum.min.high_ram.imgo=7 +persist.vendor.camera3.pipeline.bufnum.min.high_ram.lcso=7 +persist.vendor.camera3.pipeline.bufnum.min.high_ram.rrzo=7 +persist.vendor.camera3.pipeline.bufnum.min.high_ram.rsso=7 +persist.vendor.camera3.pipeline.bufnum.min.low_ram.fdyuv=6 +persist.vendor.camera3.pipeline.bufnum.min.low_ram.imgo=6 +persist.vendor.camera3.pipeline.bufnum.min.low_ram.lcso=6 +persist.vendor.camera3.pipeline.bufnum.min.low_ram.rrzo=6 +persist.vendor.camera3.pipeline.bufnum.min.low_ram.rsso=6 +persist.vendor.connsys.chipid=-1 +persist.vendor.connsys.dynamic.dump=0 +persist.vendor.connsys.fm_chipid=mt6631_6635 +persist.vendor.connsys.patch.version=-1 +persist.vendor.factory.GB2312=yes +persist.vendor.ims_support=1 +persist.vendor.log.tel_log_ctrl=1 +persist.vendor.lte.pco_supported=true +persist.vendor.md_c2k_cap_dep_check=0 +persist.vendor.mims_support=1 +persist.vendor.mtk.volte.enable=1 +persist.vendor.mtk_ct_volte_support=3 +persist.vendor.mtk_dynamic_ims_switch=1 +persist.vendor.mtk_rcs_single_reg_support=0 +persist.vendor.mtk_sim_switch_policy=2 +persist.vendor.mtk_wfc_support=1 +persist.vendor.nfc.config_secfile_name=libnfc-sec-nci.conf +persist.vendor.nfc.polling_timeout=1440 +persist.vendor.nfc.reset_after_sim_plug_in=true +persist.vendor.radio.fd.counter=150 +persist.vendor.radio.fd.off.counter=50 +persist.vendor.radio.fd.off.r8.counter=50 +persist.vendor.radio.fd.r8.counter=150 +persist.vendor.radio.msimmode=dsds +persist.vendor.radio.mtk_dsbp_support=3 +persist.vendor.radio.mtk_ps2_rat=N/L/W/G +persist.vendor.radio.mtk_ps3_rat=G +persist.vendor.radio.smart.data.switch=1 +persist.vendor.vilte_support=1 +persist.vendor.viwifi_support=1 +persist.vendor.volte_support=1 +persist.vendor.vt.RTPInfo=1 +persist.vendor.vt.supported=1 +ro.bluetooth.a2dp_offload.supported=false +ro.config.vc_call_vol_steps=8 +ro.control_privapp_permissions=enforce +ro.cp_system_other_odex=1 +ro.crypto.volume.filenames_mode=aes-256-cts +ro.frp.pst=/dev/block/by-name/frp +ro.hardware.egl=meow +ro.hardware.gatekeeper=trustonic +ro.hardware.gralloc=common +ro.hardware.hwcomposer=mtk_common +ro.hardware.kmsetkey=trustonic +ro.hardware.soc.manufacturer=mtk +ro.hardware.vulkan=mtk +ro.incremental.enable=yes +ro.mot.build.guid=78d7cd97afeeafc +ro.mtk_key_manager_support=1 +ro.netflix.bsp_rev=MTK6855-35905-1 +ro.oem_unlock_supported=1 +ro.opengles.version=196610 +ro.surface_flinger.force_hwc_copy_for_virtual_displays=true +ro.surface_flinger.has_HDR_display=true +ro.surface_flinger.has_wide_color_display=true +ro.surface_flinger.max_frame_buffer_acquired_buffers=4 +ro.surface_flinger.primary_display_orientation=ORIENTATION_0 +ro.surface_flinger.protected_contents=true +ro.surface_flinger.set_idle_timer_ms=500 +ro.surface_flinger.set_touch_timer_ms=1000 +ro.surface_flinger.use_color_management=true +ro.surface_flinger.use_smart_90_for_video=true +ro.surface_flinger.vsync_event_phase_offset_ns=8400000 +ro.surface_flinger.vsync_sf_event_phase_offset_ns=-10933333 +ro.telephony.iwlan_operation_mode=AP-assisted +ro.vendor.ap_info_monitor=0 +ro.vendor.audio.crystal_talk.supported=true +ro.vendor.audio.moto_sst_supported=true +ro.vendor.bt.platform=connac1x +ro.vendor.camera.directfdyuv.support=1 +ro.vendor.camera.isp.support.colorspace=0 +ro.vendor.camera3.zsl.default=220 +ro.vendor.composer_version=2.1 +ro.vendor.connsys.dedicated.log=1 +ro.vendor.connsys.dedicated.log.port=bt,wifi,gps,mcu +ro.vendor.dolby.dax.version=DAX3_3.11.0.10_r2 +ro.vendor.fm.platform=mt6631_6635 +ro.vendor.fusion.algorithm.in.sensorhub=yes +ro.vendor.gps.chrdev=gps_drv_stp +ro.vendor.hw.ecompass=true +ro.vendor.hw.fps=true +ro.vendor.init.sensor.rc=init.sensor_2_0.rc +ro.vendor.jpeg_decode_sw_opt=1 +ro.vendor.mag.calibration.in.sensorhub=yes +ro.vendor.md_auto_setup_ims=1 +ro.vendor.md_prop_ver=1 +ro.vendor.mediatek.platform=MT6855 +ro.vendor.mediatek.version.branch=alps-mp-s0.mp1.tc2sp2 +ro.vendor.mediatek.version.release=alps-mp-s0.mp1.tc2sp2-V3 +ro.vendor.mgk_name=mgk_64_entry_level_k510 +ro.vendor.mgvi_name=mgvi_64_ww_armv82 +ro.vendor.mml.mtk_mml_support=0 +ro.vendor.mot.base_buildid=V1TD35H.83-20-5/c7172e-ba49e +ro.vendor.mtk.bt_sap_enable=true +ro.vendor.mtk.c2.vdec.fmt.support.level=2 +ro.vendor.mtk.sensor.support=yes +ro.vendor.mtk_agps_app=1 +ro.vendor.mtk_audio_alac_support=1 +ro.vendor.mtk_audio_ape_support=1 +ro.vendor.mtk_audio_tuning_tool_ver=V1 +ro.vendor.mtk_blulight_def_support=1 +ro.vendor.mtk_c2k_lte_mode=0 +ro.vendor.mtk_cam_security_support=0 +ro.vendor.mtk_camera_app_version=3 +ro.vendor.mtk_config_max_dram_size= +ro.vendor.mtk_cuva_hdr_support=1 +ro.vendor.mtk_dmc_support=1 +ro.vendor.mtk_eccci_c2k=1 +ro.vendor.mtk_emmc_support=1 +ro.vendor.mtk_external_sim_only_slots=0 +ro.vendor.mtk_f2fs_enable=1 +ro.vendor.mtk_fast_charging_support=1 +ro.vendor.mtk_fd_support=1 +ro.vendor.mtk_femto_cell_support=1 +ro.vendor.mtk_gps_support=1 +ro.vendor.mtk_hdr_video_support=1 +ro.vendor.mtk_hifiaudio_support=1 +ro.vendor.mtk_log_hide_gps=1 +ro.vendor.mtk_lte_support=1 +ro.vendor.mtk_md_world_mode_support=1 +ro.vendor.mtk_mdmi_support=1 +ro.vendor.mtk_mvpu_security_support=0 +ro.vendor.mtk_nn.option=A,B,C,D,E,F,G,Z +ro.vendor.mtk_nn_baseline_support=1 +ro.vendor.mtk_nn_quant_preferred=1 +ro.vendor.mtk_ovl_bringup=0 +ro.vendor.mtk_pq_color_mode=1 +ro.vendor.mtk_pq_support=2 +ro.vendor.mtk_prefer_64bit_proc=0 +ro.vendor.mtk_protocol1_rat_config=N/Lf/Lt/W/G +ro.vendor.mtk_ps1_rat=N/Lf/Lt/W/G +ro.vendor.mtk_ril_mode=c6m_1rild +ro.vendor.mtk_rild_read_imsi=1 +ro.vendor.mtk_sec_video_path_support=1 +ro.vendor.mtk_sim_card_onoff=3 +ro.vendor.mtk_single_bin_modem_support=1 +ro.vendor.mtk_slow_motion_support=1 +ro.vendor.mtk_tee_gp_support=1 +ro.vendor.mtk_thermal_2_0=1 +ro.vendor.mtk_trustonic_tee_support=1 +ro.vendor.mtk_uicc_clf=1 +ro.vendor.mtk_video_hevc_enc_support=1 +ro.vendor.mtk_wappush_support=1 +ro.vendor.mtk_widevine_drm_l1_support=1 +ro.vendor.mtk_world_phone_policy=0 +ro.vendor.num_md_protocol=2 +ro.vendor.pq.mtk_aal_support=0 +ro.vendor.pq.mtk_ai_scence_pq_support=0 +ro.vendor.pq.mtk_ai_sdr_to_hdr_support=0 +ro.vendor.pq.mtk_backlight_smooth_support=0 +ro.vendor.pq.mtk_blulight_def_support=0 +ro.vendor.pq.mtk_caltm_support=1 +ro.vendor.pq.mtk_clearzoom_support=1 +ro.vendor.pq.mtk_dc_support=0 +ro.vendor.pq.mtk_disp_c3d_support=0 +ro.vendor.pq.mtk_disp_ccorr_support=1 +ro.vendor.pq.mtk_disp_color_support=1 +ro.vendor.pq.mtk_disp_game_pq_support=0 +ro.vendor.pq.mtk_disp_gamma_support=0 +ro.vendor.pq.mtk_disp_tdshp_support=1 +ro.vendor.pq.mtk_dre30_support=0 +ro.vendor.pq.mtk_ds_support=0 +ro.vendor.pq.mtk_hdr10_plus_recording_support=0 +ro.vendor.pq.mtk_hfg_support=1 +ro.vendor.pq.mtk_mdp_ccorr_support=0 +ro.vendor.pq.mtk_pq_interface_support=0 +ro.vendor.pq.mtk_pq_video_whitelist_support=0 +ro.vendor.pq.mtk_scltm_support=0 +ro.vendor.pq.mtk_ultra_dimming_support=0 +ro.vendor.pq.mtk_ultra_resolution_support=0 +ro.vendor.pq.mtk_video_transition=0 +ro.vendor.pref_scale_enable_cfg=1 +ro.vendor.rc=/vendor/etc/init/hw/ +ro.vendor.ril.set_sbp_place=2 +ro.vendor.sensors.mot_ltv=true +ro.vendor.sensors.prox_for_call=true +ro.vendor.sim_me_lock_mode=3 +ro.vendor.smvr.p2batch.hd=4 +ro.vendor.vt_hevc_support=1 +ro.vendor.wfd.dummy.enable=0 +ro.vendor.wfd.iframesize.level=0 +ro.vendor.wifi.sap.concurrent.iface=ap1 +ro.vendor.wifi.sap.interface=ap0 +ro.vendor.wlan.chrdev=wmt_chrdev_wifi +ro.vendor.wlan.gen=gen4m_6855 +ro.vendor.wlan.standalone.log=y +ro.virtual_ab.compression.enabled=true +ro.virtual_ab.userspace.snapshots.enabled=true +telephony.active_modems.max_count=2 +vendor.audio.powerhal.power.dl=true +vendor.audio.powerhal.power.ul=true +vendor.bluetooth.ldac.abr=true +vendor.camera.mdp.cz.enable=1 +vendor.camera.mdp.dre.enable=1 +vendor.camera.mot.jpegmaxscaleratio=2.5 +vendor.connsys.driver.ready=no +vendor.debug.sf.cpupolicy.base_min_bl=330 +vendor.debug.sf.cpupolicy.hw_comp_suspend=1 +vendor.debug.sf.cpupolicy.hw_hfr_suspend=1 +vendor.debug.sf.cpupolicy.lowbound_uclamp_min=172 +vendor.debug.sf.cpupolicy.max_correct_offset=150 +vendor.debug.sf.cpupolicy.min_120=172 +vendor.debug.sf.cpupolicy.min_30_mml=172 +vendor.debug.sf.cpupolicy.min_60=137 +vendor.debug.sf.cpupolicy.min_60_mml=172 +vendor.debug.sf.cpupolicy.min_90=172 +vendor.debug.sf.cpupolicy.min_boost=172 +vendor.debug.sf.cpupolicy.power_down_120=300000 +vendor.debug.sf.cpupolicy.power_up_120=-300000 +vendor.debug.sf.cpupolicy.re_hfr=0 +vendor.debug.sf.cpupolicy.rt_bl_min=312 +vendor.debug.sf.cpupolicy.sf_cpu_thres=305 +vendor.debug.sf.cpupolicy.upbound_uclamp_max_ll=280 +vendor.debug.sf.cpupolicy.upbound_uclamp_min=400 +vendor.debug.sf.cpupolicy.upbound_uclamp_ret_sys=218 +vendor.debug.sf.cpupolicy.xgf_min=25 +vendor.hw.sf.IdleLazyResetThresholdT=500 +vendor.hw.sf.hwc.min.duration=0 +vendor.media.heif.highThreshold=20 +vendor.mtk.camera.app.fd.video=1 +vendor.mtk.vdec.waitkeyframeforplay=9 +vendor.usb.use_ffs_mtp=1 diff --git a/vendor_dlkm.prop b/vendor_dlkm.prop new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/vendor_dlkm.prop @@ -0,0 +1 @@ +