From 27d8db935592a754f55561fc33784f34211a2287 Mon Sep 17 00:00:00 2001 From: Majaahh Date: Sun, 31 Aug 2025 23:18:49 +0200 Subject: [PATCH] s5e8825-common: Setup fingerprint Change-Id: I9ba0d87635212e48354d2590eb86d5e801d722e6 Co-authored-by: Flopster101 Signed-off-by: Majaahh --- Android.bp | 99 ++++++++++++++++++ .../vendor/etc/init/fingerprint_common.rc | 37 +++++++ .../vendor/etc/init/init.fingerprint.rc | 37 +++++++ .../lib64/libegis_fp_normal_sensor_test.so | Bin 0 -> 22168 bytes .../vendor/lib64/libgf_in_system_lib.so | Bin 0 -> 63672 bytes proprietary/vendor/lib64/libqfp_sensortest.so | Bin 0 -> 68240 bytes .../vendor/lib64/libsynaFpSensorTestNwd.so | Bin 0 -> 51968 bytes s5e8825-common-vendor.mk | 6 ++ 8 files changed, 179 insertions(+) create mode 100644 proprietary/vendor/etc/init/fingerprint_common.rc create mode 100644 proprietary/vendor/etc/init/init.fingerprint.rc create mode 100644 proprietary/vendor/lib64/libegis_fp_normal_sensor_test.so create mode 100644 proprietary/vendor/lib64/libgf_in_system_lib.so create mode 100644 proprietary/vendor/lib64/libqfp_sensortest.so create mode 100644 proprietary/vendor/lib64/libsynaFpSensorTestNwd.so diff --git a/Android.bp b/Android.bp index 64bf28f..180a093 100644 --- a/Android.bp +++ b/Android.bp @@ -1592,6 +1592,29 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libegis_fp_normal_sensor_test", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libegis_fp_normal_sensor_test.so", + ], + shared_libs: [ + "liblog", + "libc", + "libm", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "libengmode_client", owner: "samsung", @@ -1620,6 +1643,31 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libgf_in_system_lib", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libgf_in_system_lib.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "libhwjsqz", owner: "samsung", @@ -1648,6 +1696,33 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libqfp_sensortest", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libqfp_sensortest.so", + ], + shared_libs: [ + "libcutils", + "liblog", + "libutils", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "64", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "libril_sem", owner: "samsung", @@ -1771,6 +1846,30 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "libsynaFpSensorTestNwd", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/libsynaFpSensorTestNwd.so", + ], + shared_libs: [ + "liblog", + "libdl", + "libc", + ], + }, + }, + compile_multilib: "64", + check_elf_files: false, + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "libuniapi", owner: "samsung", diff --git a/proprietary/vendor/etc/init/fingerprint_common.rc b/proprietary/vendor/etc/init/fingerprint_common.rc new file mode 100644 index 0000000..eabac78 --- /dev/null +++ b/proprietary/vendor/etc/init/fingerprint_common.rc @@ -0,0 +1,37 @@ +on boot +# Fingerprint sensor + chmod 0660 /dev/esfp0 + chown system system /dev/esfp0 + + chmod 0660 /dev/goodix_fp + chown system system /dev/goodix_fp + + chmod 0660 /dev/qbt2000_fd + chmod 0660 /dev/qbt2000_ipc + chmod 0660 /dev/qbtspi + chown system system /dev/qbt2000_fd + chown system system /dev/qbt2000_ipc + chown system system /dev/qbtspi + + chown system radio /sys/class/fingerprint/fingerprint/type_check + chown system radio /sys/class/fingerprint/fingerprint/name + chown system radio /sys/class/fingerprint/fingerprint/vendor + chown system radio /sys/class/fingerprint/fingerprint/adm + chown system radio /sys/class/fingerprint/fingerprint/bfs_values + chown system radio /sys/class/fingerprint/fingerprint/position + chown system radio /sys/class/fingerprint/fingerprint/cbgecnt + chown system radio /sys/class/fingerprint/fingerprint/intcnt + chown system radio /sys/class/fingerprint/fingerprint/resetcnt + chown system radio /sys/class/fingerprint/fingerprint/wuhbtest + chown system radio /sys/class/fingerprint/fingerprint/rb + + mkdir /data/vendor/misc 0770 system system + mkdir /data/vendor/misc/qti_fp 0770 system system + mkdir /data/vendor/misc/qti_fp/bg_estimation 0770 system system + mkdir /data/vendor/misc/qti_fp/calib_test 0770 system system + mkdir /data/vendor/misc/qti_fp/template 0770 system system + + mkdir /data/vendor/biometrics 0770 system system + mkdir /data/vendor/fpSnrTest 0770 system system + mkdir /efs/biometrics 0770 system system + mkdir /efs/biometrics/meta 0770 system system \ No newline at end of file diff --git a/proprietary/vendor/etc/init/init.fingerprint.rc b/proprietary/vendor/etc/init/init.fingerprint.rc new file mode 100644 index 0000000..eabac78 --- /dev/null +++ b/proprietary/vendor/etc/init/init.fingerprint.rc @@ -0,0 +1,37 @@ +on boot +# Fingerprint sensor + chmod 0660 /dev/esfp0 + chown system system /dev/esfp0 + + chmod 0660 /dev/goodix_fp + chown system system /dev/goodix_fp + + chmod 0660 /dev/qbt2000_fd + chmod 0660 /dev/qbt2000_ipc + chmod 0660 /dev/qbtspi + chown system system /dev/qbt2000_fd + chown system system /dev/qbt2000_ipc + chown system system /dev/qbtspi + + chown system radio /sys/class/fingerprint/fingerprint/type_check + chown system radio /sys/class/fingerprint/fingerprint/name + chown system radio /sys/class/fingerprint/fingerprint/vendor + chown system radio /sys/class/fingerprint/fingerprint/adm + chown system radio /sys/class/fingerprint/fingerprint/bfs_values + chown system radio /sys/class/fingerprint/fingerprint/position + chown system radio /sys/class/fingerprint/fingerprint/cbgecnt + chown system radio /sys/class/fingerprint/fingerprint/intcnt + chown system radio /sys/class/fingerprint/fingerprint/resetcnt + chown system radio /sys/class/fingerprint/fingerprint/wuhbtest + chown system radio /sys/class/fingerprint/fingerprint/rb + + mkdir /data/vendor/misc 0770 system system + mkdir /data/vendor/misc/qti_fp 0770 system system + mkdir /data/vendor/misc/qti_fp/bg_estimation 0770 system system + mkdir /data/vendor/misc/qti_fp/calib_test 0770 system system + mkdir /data/vendor/misc/qti_fp/template 0770 system system + + mkdir /data/vendor/biometrics 0770 system system + mkdir /data/vendor/fpSnrTest 0770 system system + mkdir /efs/biometrics 0770 system system + mkdir /efs/biometrics/meta 0770 system system \ No newline at end of file diff --git a/proprietary/vendor/lib64/libegis_fp_normal_sensor_test.so b/proprietary/vendor/lib64/libegis_fp_normal_sensor_test.so new file mode 100644 index 0000000000000000000000000000000000000000..57103afee7670a8d67e7cf78b8adea46f1b9f7fe GIT binary patch literal 22168 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 literal 0 HcmV?d00001 diff --git a/proprietary/vendor/lib64/libgf_in_system_lib.so b/proprietary/vendor/lib64/libgf_in_system_lib.so new file mode 100644 index 0000000000000000000000000000000000000000..e036af6b0fb45eb99c61f8f11e9555d3b794669d GIT binary patch literal 63672 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 nM(bZdMPv`E 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 literal 0 HcmV?d00001 diff --git a/s5e8825-common-vendor.mk b/s5e8825-common-vendor.mk index 73504a1..0f45135 100644 --- a/s5e8825-common-vendor.mk +++ b/s5e8825-common-vendor.mk @@ -11,7 +11,9 @@ PRODUCT_COPY_FILES += \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/epic.json:$(TARGET_COPY_OUT_VENDOR)/etc/epic.json \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm@1.4-service.widevine.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/cass.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/cass.rc \ + vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/fingerprint_common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/fingerprint_common.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.baseband.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.baseband.rc \ + vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.fingerprint.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.fingerprint.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.vendor.rilcommon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.vendor.rilcommon.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/secaudiohalaidl.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/secaudiohalaidl.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/vendor.samsung.rilchip.slsi.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.samsung.rilchip.slsi.rc \ @@ -71,11 +73,15 @@ PRODUCT_PACKAGES += \ libVendorSemDataProps \ libVendorSemTelephonyProps \ libc++_shared \ + libegis_fp_normal_sensor_test \ libengmode_client \ + libgf_in_system_lib \ libhwjsqz \ + libqfp_sensortest \ libril_sem \ libsec-ril \ libsensorlistener \ + libsynaFpSensorTestNwd \ libuniapi \ libuniplugin \ libvkmanager_vendor \