initial commit

This commit is contained in:
antifallobst 2023-06-19 00:49:28 +02:00
commit 2dcf8c5e93
30 changed files with 2544 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
prebuilts/

8
Android.bp Normal file
View File

@ -0,0 +1,8 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
soong_namespace {
}

11
Android.mk Normal file
View File

@ -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

13
AndroidProducts.mk Normal file
View File

@ -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

94
BoardConfig.mk Normal file
View File

@ -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

9
README.md Normal file
View File

@ -0,0 +1,9 @@
# Android device tree for samsung SM-G715FN (xcoverpro)
```
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
```

59
device.mk Normal file
View File

@ -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)

61
extract-files.sh Executable file
View File

@ -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"

28
lineage_xcoverpro.mk Normal file
View File

@ -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

214
manifest.xml Normal file
View File

@ -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>

2
odm.prop Normal file
View File

@ -0,0 +1,2 @@
persist.sys.usb.config=mtp
ro.vendor.qti.va_odm.support=1

1
odm_dlkm.prop Normal file
View File

@ -0,0 +1 @@
persist.sys.usb.config=mtp

37
product.prop Normal file
View File

@ -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

1093
proprietary-files.txt Normal file

File diff suppressed because it is too large Load Diff

50
rootdir/Android.bp Normal file
View File

@ -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,
}

25
rootdir/Android.mk Normal file
View File

@ -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)

View File

@ -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"

17
rootdir/bin/gps.sh Normal file
View File

@ -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

View File

@ -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

View File

@ -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}

23
rootdir/bin/mx_logger.sh Normal file
View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
/dev/block/zram0 none swap defaults zramsize=2147483648,auto_configure

View File

@ -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

View File

@ -0,0 +1,5 @@
on init
# unlink /efs > /mnt/vendor/efs
rm /efs
mkdir /efs
mkdir /sec_efs

36
setup-makefiles.sh Executable file
View File

@ -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

107
system.prop Normal file
View File

@ -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

1
system_ext.prop Normal file
View File

@ -0,0 +1 @@
persist.sys.usb.config=mtp

113
vendor.prop Normal file
View File

@ -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

1
vendor_dlkm.prop Normal file
View File

@ -0,0 +1 @@
persist.sys.usb.config=mtp