Advertisement
aperio

A14 Sunfish/Pixel 4A fingerprint fix for Lineage based roms (from RisingOSS devices)

May 30th, 2024
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. From 2240062a1cfad4b79da4791cfb5702f09c58a0a1 Mon Sep 17 00:00:00 2001
  2. From: QKIvan <[email protected]>
  3. Date: Thu, 18 Apr 2024 15:58:32 +0000
  4. Subject: [PATCH] sunfish: Fix up fingerprint permissions
  5.  
  6. * Our fpc fingerprint broken in most Lineage based ROMs
  7. * Found by @306bobby, Fixed by @QKIvan
  8. ---
  9. device-lineage.mk | 4 ++++
  10. init.fingerprint.sh | 7 +++++++
  11. init.hardware.rc | 9 +++++++++
  12. sepolicy/vendor/google/file_contexts | 1 +
  13. sepolicy/vendor/google/init_fingerprint.te | 11 +++++++++++
  14. 5 files changed, 32 insertions(+)
  15. create mode 100644 init.fingerprint.sh
  16. create mode 100644 sepolicy/vendor/google/init_fingerprint.te
  17.  
  18. diff --git a/device-lineage.mk b/device-lineage.mk
  19. index adb36476b..725cbdeeb 100644
  20. --- a/device-lineage.mk
  21. +++ b/device-lineage.mk
  22. @@ -39,6 +39,10 @@ include hardware/google/pixel/lineage_health/device.mk
  23. PRODUCT_PACKAGES += \
  24.  
  25. +# Init-fingerprint
  26. +PRODUCT_COPY_FILES += \
  27. + $(LOCAL_PATH)/init.fingerprint.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.fingerprint.sh \
  28. +
  29. # Parts
  30. PRODUCT_PACKAGES += \
  31. GoogleParts
  32. diff --git a/init.fingerprint.sh b/init.fingerprint.sh
  33. new file mode 100644
  34. index 000000000..fee74a649
  35. --- /dev/null
  36. +++ b/init.fingerprint.sh
  37. @@ -0,0 +1,7 @@
  38. +#!/vendor/bin/sh
  39. +chmod 0200 /sys/devices/platform/soc/soc:fp_fpc*/wakeup_enable
  40. +chmod 0600 /sys/devices/platform/soc/soc:fp_fpc*/irq
  41. +chmod 0600 /sys/devices/platform/soc/soc:fp_fpc*/hw_reset
  42. +chown system system /sys/devices/platform/soc/soc:fp_fpc*/hw_reset
  43. +chown system system /sys/devices/platform/soc/soc:fp_fpc*/wakeup_enable
  44. +chown system system /sys/devices/platform/soc/soc:fp_fpc*/irq
  45. \ No newline at end of file
  46. diff --git a/init.hardware.rc b/init.hardware.rc
  47. index b09223389..d87b27321 100644
  48. --- a/init.hardware.rc
  49. +++ b/init.hardware.rc
  50. @@ -720,6 +720,15 @@ service bugreport /system/bin/dumpstate -d -p -z
  51. on property:ro.boot.hardware.dsds=1
  52. setprop persist.radio.multisim.config dsds
  53.  
  54. +# Init-fingerprint
  55. +service fpcpermission /vendor/bin/init.fingerprint.sh
  56. + user root
  57. + group root
  58. + disabled
  59. +
  60. +on property:sys.boot_completed=1
  61. + start fpcpermission
  62. +
  63. # DSDS feature
  64. # Restart 1st qcrild after SIM config changed
  65. on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds
  66. diff --git a/sepolicy/vendor/google/file_contexts b/sepolicy/vendor/google/file_contexts
  67. index 95ee1fc4f..ac9971a16 100644
  68. --- a/sepolicy/vendor/google/file_contexts
  69. +++ b/sepolicy/vendor/google/file_contexts
  70. @@ -47,6 +47,7 @@
  71. /vendor/bin/hw/android\.hardware\.contexthub-service\.generic u:object_r:hal_contexthub_default_exec:s0
  72. /vendor/bin/hw/android\.hardware\.contexthub@1\.[0-9]-service\.generic u:object_r:hal_contexthub_default_exec:s0
  73. /vendor/bin/hw/android\.hardware\.usb@1\.[0-9]-service\.sunfish u:object_r:hal_usb_impl_exec:s0
  74. +/vendor/bin/init\.fingerprint\.sh u:object_r:init_fingerprint_exec:s0
  75.  
  76. # Vendor firmware
  77. /vendor/firmware_mnt(/.*)? u:object_r:firmware_file:s0
  78. diff --git a/sepolicy/vendor/google/init_fingerprint.te b/sepolicy/vendor/google/init_fingerprint.te
  79. new file mode 100644
  80. index 000000000..298a70936
  81. --- /dev/null
  82. +++ b/sepolicy/vendor/google/init_fingerprint.te
  83. @@ -0,0 +1,11 @@
  84. +# Init-fingerprint service
  85. +type init_fingerprint, domain;
  86. +type init_fingerprint_exec, exec_type, vendor_file_type, file_type;
  87. +
  88. +init_daemon_domain(init_fingerprint)
  89. +
  90. +allow init_fingerprint sysfs:dir { open read };
  91. +allow init_fingerprint sysfs_fingerprint:dir search;
  92. +allow init_fingerprint sysfs_fingerprint:file { getattr setattr };
  93. +allow init_fingerprint vendor_toolbox_exec:file execute_no_trans;
  94. +allow init_fingerprint self:capability { chown fowner };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement