Oem unlock "input verify code"

I’m trying to unlock my bootloader, according to the instructions here: ✏ FP3: unlock the bootloader

When changing the “OEM unlocking” toggle, I get asked for a password. After putting that in, a popup appears asking me to “Input verify code”, as seen in the screenshot. How do I find out what that is? (Edited to add: it’s not my password).

This happens after a factory reset. I have not put a sim card in my phone.


Input the password again to verify?

I should have said, it’s not my password. Thanks for the suggestion, though!

Sorry, I unlocked my bootloader, but I don’t remember something like this.
You could give support a call … https://support.fairphone.com/hc/en-us.

Definitely didn’t encounter this verification as I unlocked my bootloader.

“Device protection” sound like something, that would have to do with a set google recovery or alike. Since you stated you did it after factory reset I’m asuming you didn’t set any google account information either. So maybe check the options under “safety and security” (not sure about the exact term right now) and turn off as many features as possible. Maybe worth a shot.

Correct, I didn’t set up a google account before trying this. I didn’t see any options that seem relevant. Thank you for replying!

same problem. tried different things:

  • remove display locking (PIN and fingerprint)
  • remove google account from phone and device from google account

thinking about it, I think I did a factory reset once in the past after I connected it to a google account. So if it is really the “device protection feature”, I think I’m lost at this point, unless anyone has a good hint?

I haven’t found a solution yet, but I have been in touch with support and I’ll post any suggestions they have here, once they get back to me.


I have the same issue. Any solutions?

from the looks of it this “code entry field” expects a hexadecimal entry (digits 0-9, a-f) between 1 and 8 digits long, so probably a 32bit number in hexadecimal notation.

It is not 0, it is not the “order number” and it is not the 32 least significant bits of the “serial number” (which is an IMEI, which does not fit in 32bit)

1 Like

Please try this perl script with your IMEI (slot 1) and serial number:

perl fp3verifycode.pl --imei 123456789012345 --serial A1234567890

(The numbers can be found under “About phone” - “Model & hardware”)

This should print a string with 8 hex chars at the end for the verify code.
You might also check adb logcat when trying this, maybe there is some output from the OemUnlock code …

I cannot test it myself as I have unlocked mine directly after receiving it and before installing any updates.


This works!!! awesome!!!


Yes, that worked for me too! Thank you so much, you’re brilliant!

1 Like

Huh, where did you get that algorithm from?

1 Like

Looking at Settings.apk which I pulled from my Fairphone 3.

The check was probably added by Fairphone with one of the updates as the "WARNING: Device protection… " is a normal AOSP string but “Input verify code :” does not exist anywhere else.


Neat! From the dexdump ? :sunglasses:

There should be a way to like a comment more than once.


I’ve put up the algorithm on my website so people don’t have to run perl locally :wink:

Full credit belongs to @_tmp!


Funnily I didn’t have to change much from the original code because Perl and PHP seem to provide the same functions and the rest of the syntax is also more or less the same :slight_smile:

And now thinking about this, it would have probably been nicer to implement it as client-side JavaScript. Oh well.


nice. I noticed, it’s missing the length/validity checks for imei and serial number’s though, so if you ever do a javascript reimplementation, you might like to implement those, too :slight_smile:

Correct, I ignored them for now. Will implement that later though


It works for me. Thank you.