Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Realme 8 pro] Fingerprint sensor is broken #39

Open
melontini opened this issue Jun 1, 2023 · 11 comments
Open

[Realme 8 pro] Fingerprint sensor is broken #39

melontini opened this issue Jun 1, 2023 · 11 comments

Comments

@melontini
Copy link

Current Behavior:

When trying to register a fingerprint, the service immediately crashes and enrollment screen closes with "Setup timed out"

When trying to set up face unlock, enrollment times out after ~30 seconds. It can also instantly crash with "No face cam detected" in logcat.

I think it's important to mention that I've got a FOD.

To Reproduce

  1. Go to security settings
  2. Try to set up face unlock/fingerprint
  3. Look directly at the camera/touch the sensor.
  4. Service dies.

Smartphone:

  • Device: [Confirmed on Realme 8 pro, but probably other oplus/realme/oppo devices]
  • Build Flavor: [ProjectElixir-3.8-arm64-bgN-13.0-20230526-1530-OFFICIAL.img.xz, ArrowOS-13.1-arm64_bgN-Unofficial.img.xz, PixelExperience_Plus_arm64-ab-13.0-20230503-UNOFFICIAL.img.xz]

Additional context

fingerprint.txt
lshal.txt
I couldn't take a face log.

Fingerprint and face related services and frameworks. I've also included framework.jar, services.jar, oplus-framework.jar, oplus-services.jar and osense client (both face and fingerprint try to access this service)
odm.zip
system.zip

@ildar
Copy link

ildar commented Jul 10, 2023 via email

@melontini
Copy link
Author

  1. AFAIK face unlock is a proprietary feature existing only in Google GApps and maybe in Realme ROMs. 2. Did you try LineAge GSI by AndyYan ? Rumors say Chinese vendors' phones are well tested on that ROMs.

Thank you for responding!

I was actually able to restore face unlock using UniversalAuth.

No, I wanted to, but I bricked my phone somehow, and after I got it back, Realme shut down their unlock server.

@ildar
Copy link

ildar commented Jul 10, 2023 via email

@melontini
Copy link
Author

I'm not sure, because fingerprint still doesn't work. And I also think this affects more than just 8 pro.

@phhusson phhusson changed the title [Realme 8 pro] Biometrics are broken [Realme 8 pro] Fingerprint sensor is broken Jul 10, 2023
@phhusson
Copy link

So far noone has bothered spending time on fixing under-display fingerprint for Oplus on TrebleDroid.
However I did spend that time back in Android 12, so it would be a helpful information to know whether it works with https://github.com/phhusson/treble_experimentations/releases/tag/v416

@custosoft
Copy link

Same problem with my Realme 8 5G but this phone is not FOD. It's a side mounted fingerprint and the face unlock does not respond.

@melontini
Copy link
Author

So far noone has bothered spending time on fixing under-display fingerprint for Oplus on TrebleDroid. However I did spend that time back in Android 12, so it would be a helpful information to know whether it works with https://github.com/phhusson/treble_experimentations/releases/tag/v416

I can't test this ATM (thanks realme), but when I used A12, there was an identical issue. Unlike A13, A12 had the scanner showup, but it still crashed with the same error in logcat. I was using A13 vendor, btw.

@melontini
Copy link
Author

So, something of note, based on my short understanding. The biometric hal wants to access osense.client, but for some unknown reason, oppo decided to not include osense.client in the /odm VINTF, but it IS part of the /system VINTF, so in GSI this service is not bound to anything and is not recognised by the system. (The osense service, lib, and framework jar are in /odm)

Could this be the issue? Of course, there are some additional missing SELinux contexts.

<hal format="hidl">
        <name>vendor.oplus.hardware.osense.client</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IOsenseHalReporter</name>
            <instance>OsenseHalReporter</instance>
        </interface>
        <fqname>@1.0::IOsenseHalReporter/OsenseHalReporter</fqname>
    </hal>

@phhusson
Copy link

I don't know, I kinda doubt it, but you can just try adding it in in system/etc/vintf manually

@melontini
Copy link
Author

Since I finally had a chance, I tried https://github.com/phhusson/treble_experimentations/releases/tag/v416 and a few other images.

  • system-squeak-arm64-ab-gapps (v416) fingerprint icon appears on-screen, then enrollment not complete.
  • system-td-arm64-ab-vanilla (ci-20240130) no icon, enrollment not complete.
  • lineage-20.0-20240215-UNOFFICIAL-gsi_arm64_gN no icon, enrollment not complete.
  • ProjectElixir_3.13_arm64_bgN-13.0-20231105-0917-OFFICIAL no icon, enrollment not complete.

Btw, has anyone looked into ManshuTyagi/android_device_realme_RMX3031@6706732 ? Might be useful.

@melontini
Copy link
Author

Oh wait, I'm an idiot. I've mentioned phhusson#2272 myself before. Looks like the most oppo thing to ever happen :>

Should this issue be closed in favor of the older one then? I don't think there's anything else to be added. This also means that #86, #49 and phhusson#2330 relate to this prank by oplus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants