initial commit
This commit is contained in:
commit
2dcf8c5e93
|
@ -0,0 +1 @@
|
|||
prebuilts/
|
|
@ -0,0 +1,8 @@
|
|||
//
|
||||
// Copyright (C) 2023 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
soong_namespace {
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_DEVICE),xcoverpro)
|
||||
include $(call all-subdir-makefiles,$(LOCAL_PATH))
|
||||
endif
|
|
@ -0,0 +1,13 @@
|
|||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/lineage_xcoverpro.mk
|
||||
|
||||
COMMON_LUNCH_CHOICES := \
|
||||
lineage_xcoverpro-user \
|
||||
lineage_xcoverpro-userdebug \
|
||||
lineage_xcoverpro-eng
|
|
@ -0,0 +1,94 @@
|
|||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
DEVICE_PATH := device/samsung/xcoverpro
|
||||
|
||||
# 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 := generic
|
||||
|
||||
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-a15
|
||||
|
||||
# APEX
|
||||
DEXPREOPT_GENERATE_APEX_IMAGE := true
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := exynos9611
|
||||
TARGET_NO_BOOTLOADER := true
|
||||
|
||||
# Display
|
||||
TARGET_SCREEN_DENSITY := 420
|
||||
|
||||
# Kernel
|
||||
BOARD_BOOTIMG_HEADER_VERSION := 2
|
||||
BOARD_KERNEL_BASE := 0x10000000
|
||||
BOARD_KERNEL_CMDLINE := androidboot.selinux=permissive androidboot.selinux=permissive loop.max_part=7
|
||||
BOARD_KERNEL_PAGESIZE := 2048
|
||||
BOARD_RAMDISK_OFFSET := 0x01000000
|
||||
BOARD_KERNEL_TAGS_OFFSET := 0x00000100
|
||||
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
|
||||
BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET)
|
||||
BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
|
||||
BOARD_KERNEL_IMAGE_NAME := Image
|
||||
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
|
||||
BOARD_KERNEL_SEPARATED_DTBO := true
|
||||
TARGET_KERNEL_CONFIG := exynos9610-xcoverproxx_defconfig
|
||||
TARGET_KERNEL_SOURCE := kernel/samsung/xcoverpro
|
||||
|
||||
# Partitions
|
||||
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
|
||||
BOARD_BOOTIMAGE_PARTITION_SIZE := 61865984
|
||||
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
|
||||
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 71106560
|
||||
BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value
|
||||
BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions
|
||||
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST :=
|
||||
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value
|
||||
|
||||
# Platform
|
||||
TARGET_BOARD_PLATFORM := universal9611
|
||||
|
||||
# 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.ramplus
|
||||
BOARD_INCLUDE_RECOVERY_DTBO := true
|
||||
TARGET_USERIMAGES_USE_EXT4 := true
|
||||
TARGET_USERIMAGES_USE_F2FS := true
|
||||
|
||||
# Verified Boot
|
||||
BOARD_AVB_ENABLE := true
|
||||
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
|
||||
BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
|
||||
BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
|
||||
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
|
||||
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
|
||||
|
||||
# VINTF
|
||||
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml
|
||||
|
||||
# Workarounds
|
||||
BUILD_BROKEN_DUP_RULES := true
|
||||
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
|
||||
|
||||
# Inherit the proprietary files
|
||||
include vendor/samsung/xcoverpro/BoardConfigVendor.mk
|
|
@ -0,0 +1,9 @@
|
|||
# Android device tree for samsung SM-G715FN (xcoverpro)
|
||||
|
||||
```
|
||||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
```
|
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Enable updating of APEXes
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
|
||||
|
||||
# Include GSI keys
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/developer_gsi_keys.mk)
|
||||
|
||||
# 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-impl.recovery \
|
||||
android.hardware.health@2.1-service
|
||||
|
||||
# Overlays
|
||||
PRODUCT_ENFORCE_RRO_TARGETS := *
|
||||
|
||||
# Partitions
|
||||
PRODUCT_BUILD_SUPER_PARTITION := false
|
||||
PRODUCT_USE_DYNAMIC_PARTITIONS := true
|
||||
|
||||
# Product characteristics
|
||||
PRODUCT_CHARACTERISTICS := phone
|
||||
|
||||
# Rootdir
|
||||
PRODUCT_PACKAGES += \
|
||||
mx_log_collection.sh \
|
||||
enable_test_mode.sh \
|
||||
mx_logger.sh \
|
||||
gps.sh \
|
||||
install-recovery.sh \
|
||||
mx_logger_dump.sh \
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
fstab.ramplus \
|
||||
init.recovery.samsung.rc \
|
||||
init.recovery.exynos9611.rc \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/rootdir/etc/fstab.ramplus:$(TARGET_COPY_OUT_RAMDISK)/fstab.ramplus
|
||||
|
||||
# Shipping API level
|
||||
PRODUCT_SHIPPING_API_LEVEL := 29
|
||||
|
||||
# Soong namespaces
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
|
||||
# Inherit the proprietary files
|
||||
$(call inherit-product, vendor/samsung/xcoverpro/xcoverpro-vendor.mk)
|
|
@ -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=xcoverpro
|
||||
VENDOR=samsung
|
||||
|
||||
# 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"
|
|
@ -0,0 +1,28 @@
|
|||
#
|
||||
# Copyright (C) 2023 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 xcoverpro device
|
||||
$(call inherit-product, device/samsung/xcoverpro/device.mk)
|
||||
|
||||
PRODUCT_DEVICE := xcoverpro
|
||||
PRODUCT_NAME := lineage_xcoverpro
|
||||
PRODUCT_BRAND := samsung
|
||||
PRODUCT_MODEL := SM-G715FN
|
||||
PRODUCT_MANUFACTURER := samsung
|
||||
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-samsung-ss
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
PRIVATE_BUILD_DESC="xcoverproxx-user 13 TP1A.220624.014 G715FNXXUBFWC4 release-keys"
|
||||
|
||||
BUILD_FINGERPRINT := samsung/xcoverproxx/xcoverpro:13/TP1A.220624.014/G715FNXXUBFWC4:user/release-keys
|
|
@ -0,0 +1,214 @@
|
|||
<manifest version="5.0" type="device" target-level="4">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@5.0::IDevicesFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@5.0::IEffectsFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.biometrics.face</name>
|
||||
<fqname>IFace/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IBluetoothHci/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.configstore</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.1::ISurfaceFlingerConfigs/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IGatekeeper/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.1::IGnss/default</fqname>
|
||||
<fqname>@2.1::IGnss/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::IAllocator/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.1::IComposer/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<fqname>@2.1::IMapper/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@4.0::IKeymasterDevice/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IOmx/default</fqname>
|
||||
<fqname>@1.0::IOmxStore/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IMemtrack/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.nfc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::INfc/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.power</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IPower/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.2::ISap/slot1</fqname>
|
||||
<fqname>@1.2::ISap/slot2</fqname>
|
||||
<fqname>@1.4::IRadio/slot1</fqname>
|
||||
<fqname>@1.4::IRadio/slot2</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio.config</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.1::IRadioConfig/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio.deprecated</name>
|
||||
<transport>hwbinder</transport>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<fqname>@1.0::IDevice/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.thermal</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IThermal/default</fqname>
|
||||
<fqname>@2.0::IThermal/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::IVibrator/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.dsi.ant</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IAnt/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.nxp.nxpnfc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.1::INxpNfc/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::ISehDevicesFactory/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehBluetooth/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehGnss/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.miscpower</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehMiscPower/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.2::ISehRadio/slot1</fqname>
|
||||
<fqname>@2.2::ISehRadio/slot2</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.radio.bridge</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehBridge/slot1</fqname>
|
||||
<fqname>@2.0::ISehBridge/slot2</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.radio.channel</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehChannel/epdgd</fqname>
|
||||
<fqname>@2.0::ISehChannel/epdgd2</fqname>
|
||||
<fqname>@2.0::ISehChannel/imsd</fqname>
|
||||
<fqname>@2.0::ISehChannel/imsd2</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.security.drk</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehDrk/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.security.sem</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::ISehSem/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.security.skpm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::ISehSkpm/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.sysinput</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.3::ISehSysInputDev/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.tlc.payment</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::ISehTlcPayment/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.tlc.ucm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.0::ISehUcm/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung.hardware.vibrator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@2.2::ISehVibrator/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung_slsi.hardware.ExynosHWCServiceTW</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IExynosHWCServiceTW/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung_slsi.hardware.epic</name>
|
||||
<transport>hwbinder</transport>
|
||||
<fqname>@1.0::IEpicRequest/default</fqname>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.samsung_slsi.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
</hal>
|
||||
</manifest>
|
|
@ -0,0 +1,2 @@
|
|||
persist.sys.usb.config=mtp
|
||||
ro.vendor.qti.va_odm.support=1
|
|
@ -0,0 +1 @@
|
|||
persist.sys.usb.config=mtp
|
|
@ -0,0 +1,37 @@
|
|||
bluetooth.device.class_of_device=90,2,12
|
||||
bluetooth.profile.a2dp.source.enabled=true
|
||||
bluetooth.profile.asha.central.enabled=true
|
||||
bluetooth.profile.avrcp.target.enabled=true
|
||||
bluetooth.profile.bap.broadcast.assist.enabled=false
|
||||
bluetooth.profile.bap.broadcast.source.enabled=false
|
||||
bluetooth.profile.bap.unicast.client.enabled=false
|
||||
bluetooth.profile.bas.client.enabled=false
|
||||
bluetooth.profile.ccp.server.enabled=false
|
||||
bluetooth.profile.csip.set_coordinator.enabled=false
|
||||
bluetooth.profile.gatt.enabled=true
|
||||
bluetooth.profile.hap.client.enabled=false
|
||||
bluetooth.profile.hfp.ag.enabled=true
|
||||
bluetooth.profile.hid.device.enabled=true
|
||||
bluetooth.profile.hid.host.enabled=true
|
||||
bluetooth.profile.map.server.enabled=true
|
||||
bluetooth.profile.mcp.server.enabled=false
|
||||
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
|
||||
bluetooth.profile.vcp.controller.enabled=false
|
||||
persist.bluetooth.bqr.event_mask=0
|
||||
persist.bluetooth.bqr.min_interval_ms=0
|
||||
persist.sys.usb.config=mtp
|
||||
restore.feature.use_samsung_smart_switch_flow=1
|
||||
ro.com.google.clientidbase=android-samsung-ss
|
||||
ro.com.google.gmsversion=13_202211
|
||||
ro.opa.eligible_device=true
|
||||
ro.setupwizard.mode=OPTIONAL
|
||||
ro.setupwizard.rotation_locked=false
|
||||
ro.setupwizard.wifi_on_exit=false
|
||||
setupwizard.feature.enable_stencil_partner_customization=1
|
||||
setupwizard.feature.support_oem_large_screen_landscape_temporary_by_sys_prop=true
|
||||
setupwizard.phenotype_sync_timeout_ms=90000
|
||||
setupwizard.theme=glif_v3_light
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
//
|
||||
// Copyright (C) 2023 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
// Init scripts
|
||||
sh_binary {
|
||||
name: "mx_log_collection.sh",
|
||||
src: "bin/mx_log_collection.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "enable_test_mode.sh",
|
||||
src: "bin/enable_test_mode.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "mx_logger.sh",
|
||||
src: "bin/mx_logger.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "gps.sh",
|
||||
src: "bin/gps.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "install-recovery.sh",
|
||||
src: "bin/install-recovery.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
sh_binary {
|
||||
name: "mx_logger_dump.sh",
|
||||
src: "bin/mx_logger_dump.sh",
|
||||
vendor: true,
|
||||
}
|
||||
|
||||
// Init configuration files
|
||||
// fstab
|
||||
prebuilt_etc {
|
||||
name: "fstab.ramplus",
|
||||
src: "etc/fstab.ramplus",
|
||||
vendor: true,
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# Copyright (C) 2023 The LineageOS Project
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# Recovery init configuration files
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.recovery.samsung.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.recovery.samsung.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init.recovery.exynos9611.rc
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := ETC
|
||||
LOCAL_SRC_FILES := etc/init.recovery.exynos9611.rc
|
||||
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
include $(BUILD_PREBUILT)
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
#/system/bin/sh
|
||||
# Switch between WLAN test and production mode
|
||||
#
|
||||
# Usage:
|
||||
# enable_test_mode.sh <WLAN_test_mode>
|
||||
#
|
||||
# Parameters:
|
||||
# WLAN_test_mode
|
||||
# 0: WLANLite FW change to production mode
|
||||
# 1: production mode change to WLANLite test mode
|
||||
# 2: WLANLite+BT FW change to production mode
|
||||
# 3: production mode change to WLANLite+BT FW test mode
|
||||
# 4: Unified FW change to production mode
|
||||
# 5: production mode change to Unified FW test mode
|
||||
#
|
||||
# Exit on any error
|
||||
set -e
|
||||
|
||||
function screen_on {
|
||||
local display=$(dumpsys power | grep 'mHoldingDisplaySuspendBlocker' | grep -oE '(true|false)')
|
||||
|
||||
if [ "$display" = "false" ]; then
|
||||
input keyevent KEYCODE_POWER
|
||||
fi
|
||||
}
|
||||
|
||||
function screen_off {
|
||||
sleep 5
|
||||
input keyevent KEYCODE_SLEEP
|
||||
}
|
||||
|
||||
function enable_bt {
|
||||
local state=$(settings get global bluetooth_on)
|
||||
if [[ $state == "0" ]]; then
|
||||
# Turn screen on if screen off
|
||||
screen_on
|
||||
# Start BT
|
||||
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
|
||||
sleep 1
|
||||
input keyevent KEYCODE_DPAD_RIGHT
|
||||
input keyevent KEYCODE_DPAD_RIGHT
|
||||
input keyevent KEYCODE_ENTER
|
||||
# Turn screen off if screen on
|
||||
screen_off&
|
||||
fi
|
||||
}
|
||||
|
||||
function disable_bt {
|
||||
local state=$(settings get global bluetooth_on)
|
||||
if [[ $state == "1" ]]; then
|
||||
# Turn screen on if screen off
|
||||
screen_on
|
||||
# Stop BT
|
||||
am start -a android.bluetooth.adapter.action.REQUEST_DISABLE
|
||||
sleep 1
|
||||
input keyevent KEYCODE_DPAD_RIGHT
|
||||
input keyevent KEYCODE_DPAD_RIGHT
|
||||
input keyevent KEYCODE_ENTER
|
||||
# Turn screen off if screen on
|
||||
screen_off&
|
||||
fi
|
||||
}
|
||||
|
||||
echo "run enable_test_mode.sh $1"
|
||||
# Wlan test mode[0:1] Original version of the script for WLANLite only FW
|
||||
if [ "$1" -eq 0 ] ; then
|
||||
echo "Stopping WLAN, enabling production mode"
|
||||
# Stop any existing WLAN mode (belt and braces)
|
||||
svc wifi disable
|
||||
ifconfig wlan0 down
|
||||
ifconfig p2p0 down
|
||||
echo -n "mx140" > /sys/module/scsc_mx/parameters/firmware_variant
|
||||
echo 0 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
echo 1 > /sys/module/scsc_mx/parameters/enable_auto_sense
|
||||
echo N > /sys/module/scsc_bt/parameters/disable_service
|
||||
if [ -e /proc/driver/mx140_clk0/restart ] ; then
|
||||
echo Y > /proc/driver/mx140_clk0/restart
|
||||
fi
|
||||
# WLAN should subsequently be turned on manually via framework
|
||||
elif [ "$1" -eq 1 ] ; then
|
||||
echo "Start WLAN in test mode"
|
||||
# Stop any existing WLAN mode (belt and braces)
|
||||
svc wifi disable
|
||||
ifconfig wlan0 down
|
||||
ifconfig p2p0 down
|
||||
echo 1 > /sys/module/scsc_mx/parameters/disable_recovery_handling
|
||||
echo 0 > /sys/module/scsc_mx/parameters/enable_auto_sense
|
||||
echo 1 > /sys/module/scsc_mx/parameters/use_new_fw_structure
|
||||
echo -n "mx140_t" > /sys/module/scsc_mx/parameters/firmware_variant
|
||||
echo 1 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
echo Y > /sys/module/scsc_bt/parameters/disable_service
|
||||
echo 0xDEADDEAD > /sys/module/scsc_bt/parameters/force_crash
|
||||
echo 512 > /sys/module/scsc_mx/parameters/firmware_startup_flags
|
||||
sleep 5
|
||||
if [ -e /proc/driver/mx140_clk0/restart ] ; then
|
||||
echo Y > /proc/driver/mx140_clk0/restart
|
||||
fi
|
||||
# Start WLAN without Android framework, in test mode.
|
||||
ifconfig wlan0 up
|
||||
# Wlan test mode[2:3] Version of the script for WLANLite+BT FW
|
||||
elif [ "$1" -eq 2 ] ; then
|
||||
echo "Stopping BT+WLAN, enabling production mode"
|
||||
# stop any existing WLAN mode
|
||||
#svc wifi disable
|
||||
echo 1 > /sys/module/scsc_wlan/parameters/factory_wifi_disable
|
||||
# stop bluetooth service to allow firmware to swap
|
||||
disable_bt
|
||||
echo -n "mx140" > /sys/module/scsc_mx/parameters/firmware_variant
|
||||
# swap firmware to WLAN core + BT
|
||||
echo 0 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
echo 1 > /sys/module/scsc_mx/parameters/enable_auto_sense
|
||||
echo N > /sys/module/scsc_bt/parameters/disable_service
|
||||
if [ -e /proc/driver/mx140_clk0/restart ] ; then
|
||||
echo Y > /proc/driver/mx140_clk0/restart
|
||||
fi
|
||||
# WLAN should subsequently be turned on manually via framework
|
||||
sleep 2
|
||||
enable_bt
|
||||
elif [ "$1" -eq 3 ] ; then
|
||||
echo "Start BT+WLAN in test mode"
|
||||
# stop any existing WLAN mode
|
||||
#svc wifi disable
|
||||
echo 1 > /sys/module/scsc_wlan/parameters/factory_wifi_disable
|
||||
# stop bluetooth service to allow firmware to swap
|
||||
disable_bt
|
||||
echo -n "mx140_t" > /sys/module/scsc_mx/parameters/firmware_variant
|
||||
# swap firmware to WLANLite + BT
|
||||
echo 1 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
echo 0 > /sys/module/scsc_mx/parameters/enable_auto_sense
|
||||
# Don't stop BT service from being able to run when WlanLite + BT is running
|
||||
echo N > /sys/module/scsc_bt/parameters/disable_service
|
||||
# Wlan test mode[4:5] Version of the script for Unified FW
|
||||
elif [ "$1" -eq 4 ] ; then
|
||||
# Disable Test Mode for Unified FW
|
||||
echo 0 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
# WLAN should subsequently be turned on manually via framework
|
||||
sleep 2
|
||||
echo "Stopping Unified FW and enabling production mode"
|
||||
elif [ "$1" -eq 5 ] ; then
|
||||
# Set Test Mode for Unified FW
|
||||
echo 1 > /sys/module/scsc_wlan/parameters/EnableTestMode
|
||||
echo "Start Unified FW in test mode"
|
||||
else
|
||||
echo "Invalid value $1 for input parameter 1"
|
||||
echo "input parameters must be provided. Parameter 1: 0 - production mode, 1 - test mode, 2 - BT+WLAN production mode, 3 - BT+WLAN test mode, 4 - Unified FW production mode, 5 - Unified FW test mode"
|
||||
fi
|
||||
echo "end enable_test_mode.sh"
|
|
@ -0,0 +1,17 @@
|
|||
#! /vendor/bin/sh
|
||||
|
||||
SILENT_LOGGING_9900=/data/vendor/gps/silentGnssLogging
|
||||
SILENT_LOGGING_ISSUETRACKER=/data/vendor/gps/silentGnssLoggingIssueTracker
|
||||
|
||||
CONFIGFILE=/vendor/etc/gnss/gps.cfg
|
||||
DAEMONFILE=/vendor/bin/hw/gpsd
|
||||
|
||||
if [ -d "$SILENT_LOGGING_ISSUETRACKER" ] ; then
|
||||
CONFIGFILE=/vendor/etc/gnss/gps.debug.cfg
|
||||
fi
|
||||
|
||||
if [ -d "$SILENT_LOGGING_9900" ] ; then
|
||||
CONFIGFILE=/vendor/etc/gnss/gps.debug.cfg
|
||||
fi
|
||||
|
||||
exec $DAEMONFILE -c $CONFIGFILE
|
|
@ -0,0 +1,12 @@
|
|||
#!/vendor/bin/sh
|
||||
if ! applypatch --check EMMC:/dev/block/by-name/recovery$(getprop ro.boot.slot_suffix):71106560:3384ae70d517e2f2f7e18f27387a8c052fee7f15; then
|
||||
applypatch \
|
||||
--patch /vendor/recovery-from-boot.p \
|
||||
--source EMMC:/dev/block/by-name/boot$(getprop ro.boot.slot_suffix):61865984:ffedce0f5d4f80f0a6d9c31aed907db60aaf5f53 \
|
||||
--target EMMC:/dev/block/by-name/recovery$(getprop ro.boot.slot_suffix):71106560:3384ae70d517e2f2f7e18f27387a8c052fee7f15 && \
|
||||
(log -t install_recovery "Installing new recovery image: succeeded" && setprop vendor.ota.recovery.status 200) || \
|
||||
(log -t install_recovery "Installing new recovery image: failed" && setprop vendor.ota.recovery.status 454)
|
||||
else
|
||||
log -t install_recovery "Recovery image already installed" && setprop vendor.ota.recovery.status 200
|
||||
fi
|
||||
|
|
@ -0,0 +1,261 @@
|
|||
#!/vendor/bin/sh
|
||||
# $1 = trigger cause (from kernel->wlbtd)
|
||||
# $2 = 16-bit hex reason code
|
||||
|
||||
THIS_SCRIPT_VERSION="1.0"
|
||||
dir="`cat /sys/module/scsc_log_collection/parameters/collection_target_directory`"
|
||||
max_logs="`getprop vendor.wlbtd.tar_files_per_trigger`"
|
||||
wlbtd_version="`getprop vendor.wlbtd.version`"
|
||||
DATE_TAG="`date +%Y_%m_%d__%H_%M_%S`"
|
||||
moredumpdir=/data/vendor/log/wifi
|
||||
memdump_file=/sys/wifi/memdump
|
||||
|
||||
base_dir=`cat /sys/module/scsc_mx/parameters/base_dir`
|
||||
fw_var=`cat /sys/module/scsc_mx/parameters/firmware_variant`
|
||||
fw_suffix=`cat /sys/module/scsc_mx/parameters/firmware_hw_ver`
|
||||
xml_dir=$base_dir/$fw_var$fw_suffix/debug/hardware/moredump
|
||||
log_strings=$base_dir/$fw_var$fw_suffix/debug/common/log-strings.bin
|
||||
|
||||
take_moredump()
|
||||
{
|
||||
memdump_file_val=1
|
||||
if [ -f ${memdump_file} ]; then
|
||||
memdump_file_val=`cat $(eval echo ${memdump_file})`
|
||||
echo "$(eval echo ${memdump_file}) : ${memdump_file_val}" >> ${status_file} 2>&1
|
||||
fi
|
||||
|
||||
if [[ ${memdump_file_val} != "0" ]]; then
|
||||
echo "Collecting Moredump" >> ${status_file}
|
||||
start=`date +%s`
|
||||
if grep -q -E -i "lassen|leman|nacho|neus|orange" /proc/driver/mxman_info/mx_release; then
|
||||
moredump.bin ${moredumpdir}/moredump_${DATE_TAG}.cmm -xml_path ${xml_dir} -log_strings ${log_strings} 2>>${status_file} >/dev/null
|
||||
else
|
||||
# p-series chip log_strings are in the FW image
|
||||
moredump.bin ${moredumpdir}/moredump_${DATE_TAG}.cmm -xml_path ${xml_dir} -firmware_binary ${base_dir}/${fw_var}${fw_suffix}.bin 2>>${status_file} >/dev/null
|
||||
fi
|
||||
script_status=$?
|
||||
echo "Generated moredump moredump_${DATE_TAG}.cmm|moredump_${DATE_TAG}.err.cmm" >>${status_file}
|
||||
end=`date +%s`
|
||||
echo "moredump generated in ${moredumpdir} in $((end-start)) seconds" >> ${status_file} 2>&1
|
||||
if [ -f ${moredumpdir}/moredump_${DATE_TAG}.cmm ]; then
|
||||
chmod 755 ${moredumpdir}/moredump_${DATE_TAG}.cmm
|
||||
cp -a ${moredumpdir}/moredump_${DATE_TAG}.cmm ${logdir}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "copied ${moredumpdir}/moredump_${DATE_TAG}.cmm to ${logdir}" >> ${status_file} 2>&1
|
||||
else
|
||||
echo "copy failed($?) ${moredumpdir}/moredump_${DATE_TAG}.cmm is not copied." >> ${status_file} 2>&1
|
||||
fi
|
||||
elif [ -f ${moredumpdir}/moredump_${DATE_TAG}.err.cmm ]; then
|
||||
chmod 755 ${moredumpdir}/moredump_${DATE_TAG}.err.cmm
|
||||
cp -a ${moredumpdir}/moredump_${DATE_TAG}.err.cmm ${logdir}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "copied ${moredumpdir}/moredump_${DATE_TAG}.err.cmm to ${logdir}" >> ${status_file} 2>&1
|
||||
else
|
||||
echo "copy failed($?) ${moredumpdir}/moredump_${DATE_TAG}.err.cmm is not copied." >> ${status_file} 2>&1
|
||||
fi
|
||||
else
|
||||
echo "Cannot find moredump_${DATE_TAG}.cmm or moredump_${DATE_TAG}.err.cmm in ${moredumpdir}" >> ${status_file}
|
||||
fi
|
||||
sync
|
||||
fi
|
||||
}
|
||||
|
||||
logcat_dmesg_logs()
|
||||
{
|
||||
SAMLOG=/sys/kernel/debug/scsc/ring0/samlog
|
||||
MXDECO=/vendor/bin/mxdecoder
|
||||
|
||||
#If it use devfs instead of debugfs
|
||||
if [ ! -e ${SAMLOG} ]; then
|
||||
SAMLOG=/dev/samlog
|
||||
fi
|
||||
|
||||
# dump dmesg
|
||||
echo "collecting kernel log using dmesg" >> ${status_file}
|
||||
dmesg > ${logdir}/dmesg_${DATE_TAG}.log 2>>${status_file} #print errors to status file
|
||||
echo "generated ${logdir}/dmesg_${DATE_TAG}.log" >> ${status_file} 2>&1
|
||||
|
||||
# dump logring
|
||||
if [ -e ${SAMLOG} ]; then
|
||||
cat /proc/driver/mxman_info/mx_release > ${logdir}/mx.dump_${DATE_TAG}.log 2>&1
|
||||
echo "collecting mx dump from ${SAMLOG}" >> ${status_file}
|
||||
if [ ! -e ${MXDECO} ]
|
||||
then
|
||||
echo "No mxdecoder found...dumping RAW logring." >> ${logdir}/mx.dump_${DATE_TAG}.log
|
||||
cat ${SAMLOG} >> ${logdir}/mx.dump_${DATE_TAG}.log 2>>${status_file} #print errors to status file
|
||||
else
|
||||
cat ${SAMLOG} | $MXDECO >> ${logdir}/mx.dump_${DATE_TAG}.log 2>>${status_file} #print errors to status file
|
||||
fi
|
||||
echo "generated ${logdir}/mx.dump_${DATE_TAG}.log" >> ${status_file} 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
remove_old_tar_and_cmm_files()
|
||||
{
|
||||
# if vendor.wlbtd.tar_files_per_trigger property is not set, hardcode value 5
|
||||
# otherwise we will not delete any old files and keep filling the storage with tar files
|
||||
if [[ ${max_logs} == " " ]]; then
|
||||
max_logs=5
|
||||
fi
|
||||
|
||||
cd ${dir}
|
||||
if [ ${max_logs} -eq 0 ]; then
|
||||
# only keep the last tar and cmm file
|
||||
count="`ls -tr ${tarext} | wc -l`"
|
||||
while [ ${count} -gt 1 ]
|
||||
do
|
||||
oldest="`ls -tr ${tarext} | head -n 1`"
|
||||
echo "removed ${oldest}" >> ${status_file} 2>&1
|
||||
rm -f ${oldest} > /dev/null 2>&1
|
||||
((count=count - 1))
|
||||
done
|
||||
|
||||
cmmcount="`ls -tr moredump* | wc -l`"
|
||||
while [ ${cmmcount} -gt 1 ]
|
||||
do
|
||||
oldestcmm="`ls -tr moredump* | head -n 1`"
|
||||
echo "removed ${oldestcmm}" >> ${status_file} 2>&1
|
||||
rm -f ${oldestcmm} > /dev/null 2>&1
|
||||
((cmmcount=cmmcount-1))
|
||||
done
|
||||
else
|
||||
# remove old tar files of each type
|
||||
list_of_triggers="scsc_log_dumpstate_wlbt_off \
|
||||
scsc_log_user scsc_log_fw \
|
||||
scsc_log_dumpstate scsc_log_host_wlan \
|
||||
scsc_log_host_bt scsc_log_host_common \
|
||||
scsc_log_fw_panic scsc_log_sys_error"
|
||||
for i in ${list_of_triggers}
|
||||
do
|
||||
count="`ls -tr ${i}${tarext} | wc -l`"
|
||||
|
||||
while [ ${count} -gt ${max_logs} ]
|
||||
do
|
||||
oldest="`ls -tr ${i}${tarext} | head -n 1`"
|
||||
echo "removed ${oldest}" >> ${status_file} 2>&1
|
||||
rm -f ${oldest} > /dev/null 2>&1
|
||||
((count=count-1))
|
||||
done
|
||||
done
|
||||
|
||||
cmmcount="`ls -tr moredump* | wc -l`"
|
||||
while [ ${cmmcount} -gt ${max_logs} ]
|
||||
do
|
||||
oldestcmm="`ls -tr moredump* | head -n 1`"
|
||||
echo "removed ${oldestcmm}" >> ${status_file} 2>&1
|
||||
rm -f ${oldestcmm} > /dev/null 2>&1
|
||||
((cmmcount=cmmcount-1))
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------------------
|
||||
|
||||
# if the first command is "last_panic", the script will return the
|
||||
# last fw panic collected
|
||||
if [[ $1 == last_panic ]]; then
|
||||
last_string=`ls $moredumpdir/*panic* -rtd 2>/dev/null| tail -n 1`
|
||||
echo $last_string
|
||||
exit 0
|
||||
fi
|
||||
|
||||
trigger=$1
|
||||
code=$2
|
||||
|
||||
# create .tmp hidden dir
|
||||
tarfile=${trigger}_${DATE_TAG}_${code}
|
||||
logdir=${dir}/.tmp-${tarfile}/${tarfile}
|
||||
|
||||
# wlbt-off handling
|
||||
mx_status="`cat /proc/driver/mxman_ctrl0/mx_status`"
|
||||
if [ "x${trigger}" == "xscsc_log_dumpstate" ] && [ ! -f /proc/driver/mxman_ctrl0/mx_status ]; then
|
||||
tarfile=${trigger}_"wlbt_off"_${DATE_TAG}_${code}
|
||||
logdir=${dir}/.tmp-${tarfile}/${tarfile}
|
||||
fi
|
||||
|
||||
# remove spurious .tmp folders if present
|
||||
rmdir -p ${dir}/.tmp-*
|
||||
|
||||
# make sure the dir exists
|
||||
mkdir -p ${logdir}
|
||||
|
||||
status_file=${logdir}/status_${DATE_TAG}.log
|
||||
# create status file
|
||||
touch ${status_file}
|
||||
echo "THIS_SCRIPT_VERSION:${THIS_SCRIPT_VERSION}" > ${status_file} 2>&1
|
||||
echo "created ${logdir}" >> ${status_file} 2>&1
|
||||
echo "created ${status_file}" >> ${status_file} 2>&1
|
||||
|
||||
cd ${dir}
|
||||
# no .sbl found exit
|
||||
if [ -z .tmp-${trigger}.sbl ]; then
|
||||
echo ".tmp-${trigger}.sbl not found. exiting." >> ${status_file} 2>&1
|
||||
log -t "WLBTD" -p e ".tmp-${trigger}.sbl not found. exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# copy .sbl file
|
||||
mv .tmp-${trigger}.sbl ${logdir}/${trigger}_${DATE_TAG}_${code}.sbl 2>&1
|
||||
echo "copied .tmp-${trigger}.sbl to ${logdir}/${trigger}_${DATE_TAG}_${code}.sbl" >> ${status_file} 2>&1
|
||||
|
||||
cd ${logdir}
|
||||
echo "working dir: `pwd`" >> ${status_file} 2>&1
|
||||
|
||||
logcat_dmesg_logs
|
||||
|
||||
# take moredump in case of scsc_log_fw_panic
|
||||
if [ "x${trigger}" == "xscsc_log_fw_panic" ]; then
|
||||
if [ -f /vendor/bin/moredump.bin ]; then
|
||||
|
||||
take_moredump
|
||||
|
||||
chmod 0666 ${logdir}/dmesg_${DATE_TAG}.log
|
||||
chmod 0666 ${logdir}/mx.dump_${DATE_TAG}.log
|
||||
echo "ls ${logdir}" >> ${status_file}
|
||||
ls -l ${logdir} 2>&1 >> ${status_file}
|
||||
# cp -a ${logdir}/dmesg_${DATE_TAG}.log ${moredumpdir}
|
||||
# cp -a ${logdir}/mx.dump_${DATE_TAG}.log ${moredumpdir}
|
||||
else
|
||||
echo "/vendor/bin/moredump.bin not found. No moredump generated." >> ${status_file} 2>&1
|
||||
log -t "WLBTD" -p e "/vendor/bin/moredump.bin not found. No moredump generated."
|
||||
fi
|
||||
fi
|
||||
|
||||
# copy log-strings.bin
|
||||
cp ${log_strings} ${logdir} 2>&1
|
||||
echo "copied ${log_strings} ${logdir}" >> ${status_file} 2>&1
|
||||
|
||||
echo "getprop vendor.wlbtd.tar_files_per_trigger : ${max_logs}" >> ${status_file} 2>&1
|
||||
echo "getprop vendor.wlbtd.version : ${wlbtd_version}" >> ${status_file} 2>&1
|
||||
echo "ro.build.date : `getprop ro.build.date`" >> ${status_file} 2>&1
|
||||
echo "ro.build.fingerprint : `getprop ro.build.fingerprint`" >> ${status_file} 2>&1
|
||||
|
||||
script_status=0
|
||||
|
||||
if [ -f /vendor/bin/gunzip ]; then
|
||||
cd .. # very important to change to correct directory
|
||||
tar -czf ./${tarfile}.tar.gz ${tarfile} > /dev/null 2>&1
|
||||
chmod 0666 ./${tarfile}.tar.gz
|
||||
mv ${tarfile}.tar.gz ${dir}
|
||||
log -t "WLBTD" $(eval echo ${dir}/${tarfile}).tar.gz generated
|
||||
# create tar.gz
|
||||
tarext="*.tar.gz"
|
||||
else
|
||||
cd .. # very important to change to correct directory
|
||||
tar -cf ./${tarfile}.tar ${tarfile} > /dev/null 2>&1
|
||||
chmod 0666 ./${tarfile}.tar
|
||||
mv ${tarfile}.tar ${dir}
|
||||
log -t "WLBTD" $(eval echo ${dir}/${tarfile}).tar generated
|
||||
# create tar
|
||||
tarext="*.tar"
|
||||
fi
|
||||
sync
|
||||
|
||||
# clean-up
|
||||
rm -rf ${dir}/.tmp-${tarfile} >/dev/null 2>&1
|
||||
|
||||
remove_old_tar_and_cmm_files
|
||||
|
||||
sync
|
||||
|
||||
exit ${script_status}
|
|
@ -0,0 +1,23 @@
|
|||
#!/vendor/bin/sh
|
||||
|
||||
DIR=/data/exynos/log/wifi
|
||||
PIDFILE=${DIR}/mxlogger.pid
|
||||
MXPROG=mxlogger
|
||||
|
||||
if [ ! -d ${DIR} ]; then
|
||||
mkdir -p ${DIR}
|
||||
fi
|
||||
|
||||
if [ -f $PIDFILE ]; then
|
||||
pidn="`cat $PIDFILE`"
|
||||
exe_name="`readlink /proc/${pidn}/exe`"
|
||||
echo "$exe_name" | grep -q $MXPROG
|
||||
# Avoiding innocent victims
|
||||
[ x"$?" == "x0" ] && kill -9 $pidn
|
||||
fi
|
||||
|
||||
mx_logger_dump.sh
|
||||
|
||||
$MXPROG -d ${DIR}
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,104 @@
|
|||
#!/vendor/bin/sh
|
||||
# $1 = "-d" to supply directory name
|
||||
# $2 = directory name
|
||||
# $3 = "-f" force collection of log regardless of previous panic
|
||||
#
|
||||
# Redirect stderr to null or to the related out-file in order
|
||||
# not to spill errs on stdout when invoked as UMH or to collect
|
||||
# error conditions on failure to dump in the related out-file.
|
||||
|
||||
dir=/data/vendor/log/wifi
|
||||
|
||||
[ $# -gt 1 -a x"$1" == "x-d" ] && dir=$2
|
||||
[ $# -gt 2 ] && force=$3
|
||||
[ $# -gt 0 -a x"$1" == "x-f" ] && force=$1
|
||||
|
||||
SAMLOG=/sys/kernel/debug/scsc/ring0/samlog
|
||||
MXDECO=/vendor/bin/mxdecoder
|
||||
|
||||
build_type="`getprop ro.build.type`"
|
||||
max_logs=50
|
||||
|
||||
#If it use devfs instead of debugfs
|
||||
if [ ! -e $SAMLOG ]
|
||||
then
|
||||
SAMLOG=/dev/samlog
|
||||
fi
|
||||
|
||||
# Error status from driver
|
||||
if [ -e /proc/driver/mxman_ctrl0/mx_status ]
|
||||
then
|
||||
mx_status="`cat /proc/driver/mxman_ctrl0/mx_status`"
|
||||
fi
|
||||
|
||||
mkdir -p $dir
|
||||
sync
|
||||
|
||||
if [ "x${build_type}" == "xuser" ]
|
||||
then
|
||||
if [ "x${mx_status}" == "xMXMAN_STATE_FAILED" -a "x${force}" != "x-f" ]
|
||||
then
|
||||
# Moredump already took the logs, don't overwrite
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Only one set of logs allowed
|
||||
filename_mxdump=${dir}/mx.dump.last.log
|
||||
filename_logcat=${dir}/logcat.last.log
|
||||
filename_dmesg=${dir}/dmesg.last.log
|
||||
rm -f $filename_mxdump >/dev/null 2>&1
|
||||
rm -f $filename_logcat >/dev/null 2>&1
|
||||
rm -f $filename_dmesg >/dev/null 2>&1
|
||||
sync
|
||||
else
|
||||
DATE_TAG="`date +%Y_%m_%d__%H_%M_%S`"
|
||||
filename_mxdump=${dir}/mx.dump.${DATE_TAG}.log
|
||||
filename_logcat=${dir}/logcat.${DATE_TAG}.log
|
||||
filename_dmesg=${dir}/dmesg.${DATE_TAG}.log
|
||||
|
||||
## Getting rid of old logs
|
||||
nlogs="`ls ${dir}/dmesg* 2>/dev/null | wc -l`"
|
||||
while [ $nlogs -ge $max_logs ]
|
||||
do
|
||||
oldest_mxdump="`ls ${dir}/mx.dump* | head -n 1`"
|
||||
oldest_logcat="`ls ${dir}/logcat* | head -n 1`"
|
||||
oldest_dmesg="`ls ${dir}/dmesg* | head -n 1`"
|
||||
rm -f $oldest_mxdump >/dev/null 2>&1
|
||||
rm -f $oldest_logcat >/dev/null 2>&1
|
||||
rm -f $oldest_dmesg >/dev/null 2>&1
|
||||
nlogs="`ls ${dir}/dmesg* 2>/dev/null | wc -l`"
|
||||
done
|
||||
sync
|
||||
fi
|
||||
|
||||
if [ -e $SAMLOG ]
|
||||
then
|
||||
cat /proc/driver/mxman_info/mx_release > $filename_mxdump 2>&1
|
||||
if [ ! -e $MXDECO ]
|
||||
then
|
||||
echo "No mxdecoder found...dumping RAW logring." >> $filename_mxdump
|
||||
cat $SAMLOG >> $filename_mxdump 2>&1
|
||||
else
|
||||
cat $SAMLOG | $MXDECO >> $filename_mxdump 2>&1
|
||||
fi
|
||||
fi
|
||||
|
||||
#Dump unconditionally other logs
|
||||
#/system/bin/logcat -t 500 > $filename_logcat 2>&1
|
||||
dmesg > $filename_dmesg 2>&1
|
||||
#wlbt_ldos.sh >> $filename_dmesg 2>&1
|
||||
|
||||
# UT collector seems to ignore our dmesg, presumably because
|
||||
# dmesg has been deemed to have been collected elsewhere.
|
||||
# However, we grab dmesg at the point of wlbt failure, so need
|
||||
# to keep it. So we append it to the mxdump in User builds.
|
||||
#
|
||||
if [ "x${build_type}" == "xuser" ]
|
||||
then
|
||||
echo "----- dmesg at failure -----" >> $filename_mxdump
|
||||
cat $filename_dmesg >> $filename_mxdump 2>&1
|
||||
fi
|
||||
|
||||
sync
|
||||
|
||||
exit 0
|
|
@ -0,0 +1 @@
|
|||
/dev/block/zram0 none swap defaults zramsize=2147483648,auto_configure
|
|
@ -0,0 +1,10 @@
|
|||
on init
|
||||
write /proc/sys/kernel/hung_task_timeout_secs 0
|
||||
|
||||
on late-init
|
||||
setprop ro.debuggable 1
|
||||
setprop service.adb.root 1
|
||||
setprop sys.usb.configfs 1
|
||||
setprop sys.usb.config adb
|
||||
|
||||
on boot
|
|
@ -0,0 +1,5 @@
|
|||
on init
|
||||
# unlink /efs > /mnt/vendor/efs
|
||||
rm /efs
|
||||
mkdir /efs
|
||||
mkdir /sec_efs
|
|
@ -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=xcoverpro
|
||||
VENDOR=samsung
|
||||
|
||||
# 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
|
|
@ -0,0 +1,107 @@
|
|||
com.samsung.speg.prelauncher.disable=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.finalizer-timeout-ms=60000
|
||||
dalvik.vm.image-dex2oat-Xms=64m
|
||||
dalvik.vm.image-dex2oat-Xmx=64m
|
||||
dalvik.vm.lockprof.threshold=500
|
||||
dalvik.vm.madvise.artfile.size=4294967295
|
||||
dalvik.vm.madvise.odexfile.size=104857600
|
||||
dalvik.vm.madvise.vdexfile.size=104857600
|
||||
dalvik.vm.minidebuginfo=true
|
||||
dalvik.vm.usejit=true
|
||||
dalvik.vm.usejitprofiles=true
|
||||
debug.atrace.tags.enableflags=0
|
||||
dev.usbsetting.embedded=on
|
||||
log.tag.ClatdController=D
|
||||
log.tag.ConnectivityManager=D
|
||||
log.tag.ConnectivityService=D
|
||||
log.tag.IptablesRestoreController=D
|
||||
log.tag.NetworkLogger=D
|
||||
net.bt.name=Android
|
||||
oneseg.extSdCard.path=/storage/extSdCard
|
||||
persist.demo.hdmirotationlock=false
|
||||
persist.device_config.runtime_native_boot.enable_generational_cc=false
|
||||
persist.log.level=0xFFFFFFFF
|
||||
persist.log.semlevel=0xFFFFFF00
|
||||
persist.radio.sib16_support=1
|
||||
persist.sys.usb.config=mtp
|
||||
persist.traced.enable=1
|
||||
pm.dexopt.ab-ota=speed-profile
|
||||
pm.dexopt.bg-dexopt=speed-profile
|
||||
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=extract
|
||||
pm.dexopt.install-fast=skip
|
||||
pm.dexopt.post-boot=extract
|
||||
pm.dexopt.shared=speed
|
||||
ro.actionable_compatible_property.enabled=true
|
||||
ro.adb.secure=1
|
||||
ro.allow.mock.location=0
|
||||
ro.arch=exynos9610
|
||||
ro.audio.spatializer_enabled=true
|
||||
ro.binary.type=user
|
||||
ro.build.2ndbrand=false
|
||||
ro.build.PDA=G715FNXXUBFWC4
|
||||
ro.build.bsp=
|
||||
ro.build.changelist=25950142
|
||||
ro.build.description=xcoverproxx-user 13 TP1A.220624.014 G715FNXXUBFWC4 release-keys
|
||||
ro.build.display.id=TP1A.220624.014.G715FNXXUBFWC4
|
||||
ro.build.display_build_number=true
|
||||
ro.build.official.developer=false
|
||||
ro.build.official.release=true
|
||||
ro.build.product=xcoverpro
|
||||
ro.build.selinux=1
|
||||
ro.build.version.known_codenames=Base,Base11,Cupcake,Donut,Eclair,Eclair01,EclairMr1,Froyo,Gingerbread,GingerbreadMr1,Honeycomb,HoneycombMr1,HoneycombMr2,IceCreamSandwich,IceCreamSandwichMr1,JellyBean,JellyBeanMr1,JellyBeanMr2,Kitkat,KitkatWatch,Lollipop,LollipopMr1,M,N,NMr1,O,OMr1,P,Q,R,S,Sv2,Tiramisu
|
||||
ro.build.version.oneui=50100
|
||||
ro.build.version.release_or_preview_display=13
|
||||
ro.build.version.security_index=1
|
||||
ro.build.version.sem=3301
|
||||
ro.build.version.sep=140100
|
||||
ro.cmc.device_type=pd
|
||||
ro.cmc.version=2.0
|
||||
ro.config.dmverity=G
|
||||
ro.config.iccc_version=3.0
|
||||
ro.config.knox=v30
|
||||
ro.config.rm_preload_enabled=1
|
||||
ro.dalvik.vm.native.bridge=0
|
||||
ro.debug_level=0x494d
|
||||
ro.debuggable=0
|
||||
ro.kernel.qemu=0
|
||||
ro.kernel.qemu.gles=2
|
||||
ro.oem_unlock_supported=1
|
||||
ro.postinstall.fstab.prefix=/system
|
||||
ro.product_ship=true
|
||||
ro.secure=1
|
||||
ro.security.bt.release=1
|
||||
ro.security.bt.ver=1.0
|
||||
ro.security.fips.ux=Enabled
|
||||
ro.security.fips_bssl.ver=1.7
|
||||
ro.security.mdf.release=1
|
||||
ro.security.mdf.ux=Enabled
|
||||
ro.security.mdf.ver=3.2
|
||||
ro.security.wlan.release=2
|
||||
ro.security.wlan.ver=1.0
|
||||
ro.system.build.version.sehi=3303
|
||||
ro.system.qb.id=63716809
|
||||
ro.telephony.iwlan_operation_mode=legacy
|
||||
ro.vendor.cscsupported=1
|
||||
ro.vendor.qti.va_aosp.support=1
|
||||
ro.wifi.channels=
|
||||
security.mdf=None
|
||||
security.mdf.result=None
|
||||
security.perf_harden=1
|
||||
sys.hqm.support=true
|
||||
vendor.sbtvd.service.recovery=none
|
|
@ -0,0 +1 @@
|
|||
persist.sys.usb.config=mtp
|
|
@ -0,0 +1,113 @@
|
|||
aaudio.hw_burst_min_usec=2000
|
||||
aaudio.mmap_exclusive_policy=2
|
||||
aaudio.mmap_policy=2
|
||||
dalvik.vm.heapgrowthlimit=192m
|
||||
dalvik.vm.heapmaxfree=8m
|
||||
dalvik.vm.heapminfree=512k
|
||||
dalvik.vm.heapsize=512m
|
||||
dalvik.vm.heapstartsize=8m
|
||||
dalvik.vm.heaptargetutilization=0.75
|
||||
debug.sf.disable_backpressure=1
|
||||
debug.sf.high_fps_late_app_phase_offset_ns=0
|
||||
debug.sf.high_fps_late_sf_phase_offset_ns=0
|
||||
debug.sf.latch_unsignaled=1
|
||||
dev.usbsetting.embedded=on
|
||||
drm.service.enabled=true
|
||||
exynos.wlbtlog.path=/data/vendor/log/wlbt/
|
||||
log.tag.stats_log=I
|
||||
net.dns1=8.8.8.8
|
||||
net.dns2=8.8.4.4
|
||||
persist.demo.hdmirotationlock=false
|
||||
persist.sys.dalvik.vm.lib.2=libart.so
|
||||
persist.sys.sf.color_saturation=1.0
|
||||
persist.sys.usb.config=mtp
|
||||
ro.camera.notify_nfc=1
|
||||
ro.carrier=unknown
|
||||
ro.config.alarm_alert=Homecoming.ogg
|
||||
ro.config.media_sound=Media_preview_Touch_the_light.ogg
|
||||
ro.config.notification_sound=Spaceline.ogg
|
||||
ro.config.notification_sound_2=Signal.ogg
|
||||
ro.config.ringtone=Over_the_Horizon.ogg
|
||||
ro.config.ringtone_2=Atomic_Bell.ogg
|
||||
ro.config.systemaudiodebug=abox
|
||||
ro.config.vc_call_vol_steps=8
|
||||
ro.control_privapp_permissions=enforce
|
||||
ro.debug_level=0x494d
|
||||
ro.frp.pst=/dev/block/persistent
|
||||
ro.hardware.keystore=mdfpp
|
||||
ro.hardware.keystore_desede=true
|
||||
ro.hw.use_disable_composition_type_gles=1
|
||||
ro.hw.use_hdrui_gles_conversion=1
|
||||
ro.hw.use_hwc_services=1
|
||||
ro.hw.use_secure_encoder_only=1
|
||||
ro.hw.use_virtual_display=1
|
||||
ro.logd.size.stats=64K
|
||||
ro.opengles.version=196610
|
||||
ro.radio.noril=no
|
||||
ro.ril.ecclist=911,112
|
||||
ro.security.cass.feature=1
|
||||
ro.security.fips_fmp.ver=2.0
|
||||
ro.security.fips_scrypto.ver=2.4
|
||||
ro.security.fips_skc.ver=2.1.1
|
||||
ro.security.keystore.keytype=sakv2,gak,
|
||||
ro.security.vpnpp.release=2.0
|
||||
ro.security.vpnpp.ver=2.4
|
||||
ro.slmk.2nd.custom_tm_limit=1000
|
||||
ro.slmk.add_bonusEFK=2
|
||||
ro.slmk.beks_enable=true
|
||||
ro.slmk.beks_key=265
|
||||
ro.slmk.custom_sw_limit=250
|
||||
ro.slmk.dec_EFK_enable=true
|
||||
ro.slmk.dha_cached_max=16
|
||||
ro.slmk.dha_cached_min=3
|
||||
ro.slmk.dha_empty_max=24
|
||||
ro.slmk.dha_empty_min=6
|
||||
ro.slmk.dha_lmk_scale=0.569
|
||||
ro.slmk.dha_pwhl_key=524
|
||||
ro.slmk.enable_userspace_lmk=true
|
||||
ro.slmk.fha_enable=true
|
||||
ro.slmk.freelimit_val=11
|
||||
ro.slmk.kill_heaviest_task=true
|
||||
ro.slmk.max_snapshot_num=3
|
||||
ro.slmk.upgrade_pressure=50
|
||||
ro.slmk.use_camera_boost=false
|
||||
ro.slmk.use_crikill_booster=false
|
||||
ro.slmk.use_drkill_boost=false
|
||||
ro.slmk.use_lowmem_keep_except=true
|
||||
ro.slmk.v_bonusEFK=61787
|
||||
ro.soc.manufacturer=Samsung
|
||||
ro.soc.model=Exynos 9611
|
||||
ro.surface_flinger.has_HDR_display=true
|
||||
ro.surface_flinger.has_wide_color_display=true
|
||||
ro.surface_flinger.max_frame_buffer_acquired_buffers=3
|
||||
ro.surface_flinger.running_without_sync_framework=false
|
||||
ro.surface_flinger.use_color_management=false
|
||||
ro.surface_flinger.vsync_event_phase_offset_ns=0
|
||||
ro.surface_flinger.vsync_sf_event_phase_offset_ns=0
|
||||
ro.telephony.default_cdma_sub=0
|
||||
ro.vendor.ddk.set.afbc=1
|
||||
ro.vendor.epdg.support=true
|
||||
ro.vendor.nfc.feature.chipname=NXP_PN553
|
||||
ro.vendor.nfc.info.antpos=1
|
||||
ro.vendor.nfc.support.advancedsetting=false
|
||||
ro.vendor.nfc.support.autoselect=true
|
||||
ro.vendor.nfc.support.defaultaid=true
|
||||
ro.vendor.nfc.support.ese=true
|
||||
ro.vendor.nfc.support.nonaid=true
|
||||
ro.vendor.nfc.support.othercategory=true
|
||||
ro.vendor.nfc.support.uicc=true
|
||||
ro.vendor.qb.id=63716809
|
||||
ro.vendor.sec.radio.def_network=9
|
||||
security.ADP.policy_version=00000000
|
||||
security.ADP.version=0
|
||||
security.ASKS.policy_version=00000000
|
||||
security.ASKS.rufs_enable=true
|
||||
security.ASKS.time_value=00000000
|
||||
security.ASKS.version=0
|
||||
security.securehw.available=false
|
||||
security.securenvm.available=false
|
||||
sys.config.activelaunch_enable=true
|
||||
sys.config.hardcoder.enable=false
|
||||
sys.config.ibs.enable=false
|
||||
sys.perf.hmp=4:4
|
||||
wifi.interface=wlan0
|
|
@ -0,0 +1 @@
|
|||
persist.sys.usb.config=mtp
|
Loading…
Reference in New Issue