(SHIFTphone 8) Bootloader unlock / Root / GSI / ROMs / Fingerprint Sensor Fix

Ene

Active member
Original poster
21 Oktober 2020
174
Germany / Bavaria
ONLY PROCEED IF YOU KNOW WHAT YOU'RE DOING
DON'T ATTEMPT TO RE-LOCK THE BOOTLOADER WHEN YOU MODIFIED THE BOOT IMAGE (Flashed Magisk)
I'M NOT RESPONSIBLE FOR ANY OF YOUR ACTIONS

Bootloader unlocking Guide

Preamble

Unlocking the Bootloader is required for modifying partitions on the device. This is required for gaining root access or flashing a custom recovery/ROM.
THIS PROCESS WILL WIPE ALL YOUR DATA

Prerequisites

  • a Linux/Mac/Windows PC (this Guide is intended for Windows 11 users)
  • USB Cable
  • SDK Platform Tools
  • USB Driver
  • Fastboot Driver - those install automatically via Windows Update when the device is attached while in Fastboot mode (make sure you have internet connection and enabled "Give me updates for other Microsoft products when I update Windows." in the Windows Update settings.

Guide

  1. download and extract the SDK Platform Tools into a folder on your drive root (e.g. C:\adb)
  2. download and extract the USB Drivers into a folder, open it and install the drivers via right clicking on the android_winusb.inf -> install
    1624050900315.png
  3. boot up your device
  4. open the settings app
    1. go to About phone

      Screenshot_20251202-110519_Settings.png
    2. tap on the Build number 7 times
      Screenshot_20251202-110615_Settings.png
    3. go to System
      Screenshot_20251202-110519_Settings2.png
    4. go to Developer options

      Screenshot_20251202-110636_Settings.png
    5. enable OEM unlocking and USB debugging

      Screenshot_20251202-110508_Settings.png
  5. navigate inside the folder you extracted the SDK Platform Tools to and bring up the cmd (click inside the navigation bar, type cmd and hit enter)
    1605915353542.png
  6. type adb devices and hit enter
  7. on the device, confirm the dialog with "Allow"
    Screenshot_20251202-110732_System UI.png
  8. type adb reboot bootloader and hit enter
  9. after the devices has entered the bootloader, type fastboot devicesand hit enter
    • if the device shows up continue

      1704480337220.png
    • if the device doesn't show up, open the Device Manager (devmgmt.msc) and look for an not correctly recognized Device (typically labeled "Android")
      1704480444629.png
      • right click "Android" -> Update Driver Software... -> Browse my computer for driver software -> Let me pick from a list of device drivers on my computer -> Show all Devices -> Have Disk... -> Browse... -> choose the downloaded android_winusb.inf -> Android Bootloader Interface
        (guide with pictures)

        1704480461046.png
  10. type fastboot flashing unlock and hit enter

    1605915529901.png
  11. on your device, select the "UNLOCK THE BOOTLOADER" option with the volume buttons and confirm with the power button
    IMG_20260220_180228917.jpg
  12. reboot your device to the bootloader again (press and hold the power and volume up button or use adb)
  13. repeat the unlocking process but type fastboot flashing unlock_critical this time
  14. your device should reboot and the bootloader is unlocked

Fingerprint Sensor fix

After unlocking the bootloader, the Fingerprint Sensor will stop working.
It's easy to get it working again, if you are still on the SOS-G ROM, because it includes the gf_display_test App. If you are already on a custom ROM, you will have to install the gf_display_test.apk to /system/priv-app (with Magisk).
When the App is installed, make sure USB Debugging is enabled on the device, start a cmd Window in the directory of adb and execute
adb shell am start -n com.goodix.fingerprint.setting/com.goodix.fingerprint.setting.SPMT1Activity

  1. the goodix Fingerprint Sensor calibration App will start
  2. lay a cork (something flat with a skin-like color) on the sensor and press next
  3. lay something flat and completely black on the sensor and press next
  4. now you have to very quickly press next and the put a finger on the sensor
  5. the calibration will say it failed
  6. reboot the device
  7. the sensor should work again

Rooting Guide

Preamble

Rooting is the method of gaining the opportunity to modify partitions (from within the userspace).
Requires an unlocked bootloader, follow "Bootloader unlocking Guide"

Prerequisites

  • The same as for the "Bootloader unlocking Guide"
  • Magisk - download it and copy it onto your device
  • a Magisk-Patched boot.img
    • Patch it yourself using Magisk
      1. download the matching FASTBOOT.tar.gz file for your OS version
      2. extract the boot.img from the FASTBOOT.tar.gz archive
      3. install the Magisk-v*.apk on your device
      4. Start Magisk
      5. Tap on "install"
      6. choose "Select and Patch a File" and select your extracted boot.img
      7. Wait for patching to finish, grab the patched boot.img and proceed with the Rooting Guide

Guide

  1. install the Magisk-v*.apk on your device
  2. boot into the bootloader (adb reboot bootloader)
  3. navigate inside the folder you extracted the SDK Platform Tools to, copy the Magisk-Patched boot.img into it and name it to magisk_boot.img
  4. bring up the cmd inside this folder (click inside the navigation bar, type cmd and hit enter) type fastboot flash boot magisk_boot.imgand hit enter
    1. if the process is stuck and won't display SUCCESS after about 30 Seconds, abort it in the cmd by pressing Ctrl + C and press the volume-down button on the device to select "Reboot Bootloader". Confirm buy a press on the power-button and try again.
    2. after it displayed SUCCESS you can type in fastboot reboot and hit enter
  5. your device should reboot is now rooted

GSI (Generic System Image) Flashing Guide [UNTESTED]

Preamble

A GSI (Generic System Image) is an universal ROM which can run on every Treble enabled device. More Info

Prerequisites

  • The same as for the "Bootloader unlocking Guide"
  • The most recent Version of a LineageOS ROM ZIP
  • payload-dumper-go
  • product_gsi.img
  • a GSI Image
    • Type arm64_b
    • extracted and renamed to system.img
    • no version newer than the newest flashed LineageOS ROM because else some sensors won't work

Guide

  1. Install the LineageOS ROM following this Guide
  2. Extract the payload.bin from the LineageOS ROM ZIP
  3. Copy the payload.bin next to the payload-dumper-go.exe and execute payload-dumper-go.exe payload.bin
  4. Copy the following extracted files into a folder:
    • boot.img
    • dtbo.img
    • recovery.img
    • vbmeta.img
    • vbmeta_system.img
    • vbmeta_vendor.img
  5. Copy the product_gsi.img and GSI system.img you want to flash into the folder as well
  6. Copy the following Code into a flash.bat (change fastboot to the path of your fastboot.exe installation)
    Code:
    fastboot flash boot_a boot.imgfastboot flash boot_b boot.img
    fastboot flash dtbo_a dtbo.img
    fastboot flash dtbo_b dtbo.img
    fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
    fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img
    fastboot --disable-verity --disable-verification flash vbmeta_system_a vbmeta_system.img
    fastboot --disable-verity --disable-verification flash vbmeta_system_b vbmeta_system.img
    fastboot --disable-verity --disable-verification flash vbmeta_vendor_a vbmeta_vendor.img
    fastboot --disable-verity --disable-verification flash vbmeta_vendor_b vbmeta_vendor.img
    fastboot flash recovery recovery.img
    fastboot reboot fastboot
    fastboot flash product_a product_gsi.img
    fastboot flash product_b product_gsi.img
    fastboot flash --disable-verification system_a system.img
    fastboot flash --disable-verification system_b system.img
    REM fastboot flash recovery_a twrp_shift6mq.img
    REM fastboot flash recovery_b twrp_shift6mq.img
    fastboot format:ext4 metadata
    fastboot format:f2fs userdata
    fastboot --set-active=a
    fastboot reboot
    pause
  7. boot into the bootloader (by using Advanced restart / holding down the volume-lower button and power-button together)
  8. execute the flash.bat ⚠️ THIS WILL EARSE ALL YOUR DATA ⚠️


GSIs

Custom ROMs

 

Anhänge

  • Screenshot_20251202-110732_System UI.png
    Screenshot_20251202-110732_System UI.png
    181,9 KB · Aufrufe: 40
  • Screenshot_20251202-110519_Settings2.png
    Screenshot_20251202-110519_Settings2.png
    129,6 KB · Aufrufe: 41
  • gf_display_test.apk
    gf_display_test.apk
    4,5 MB · Aufrufe: 39
Zuletzt bearbeitet:
  • Like
Reaktionen: tkopq und @Lhotze
  1. lay a cork (something flat with a skin-like color) on the sensor and press next
  2. lay something flat and completely black on the sensor and press next
  3. now you have to very quickly press next and the put a finger on the sensor
  4. the calibration will say it failed
  5. reboot the device
  6. the sensor should work again
Das ist neu. Nach den Fehlschlägen habe ich es nie mit nem Neustart probiert.
Das ist auf jeden Fall frustrationsfrei und sehr budgetorientiert.

Super Anleitung 👍🏻.

Greetz

____
That's new. After the failures, I never tried restarting.

It's definitely frustration-free and very budget-friendly.

Great instructions 👍🏻.
 
  • Like
Reaktionen: Ene
Besten Dank für die Anleitung.

Fingerprint Sensor fix

After unlocking the bootloader, the Fingerprint Sensor will stop working.
It's easy to get it working again, if you are still on the SOS-G ROM, because it includes the gf_display_test App. If you are already on a custom ROM, you will have to install the gf_display_test.apk to /system/priv-app (with Magisk).
When the App is installed, make sure USB Debugging is enabled on the device, start a cmd Window in the directory of adb and execute
adb shell am start -n com.goodix.fingerprint.setting/com.goodix.fingerprint.setting.SPMT1Activity

  1. the goodix Fingerprint Sensor calibration App will start
  2. lay a cork (something flat with a skin-like color) on the sensor and press next
  3. lay something flat and completely black on the sensor and press next
  4. now you have to very quickly press next and the put a finger on the sensor
  5. the calibration will say it failed
  6. reboot the device
  7. the sensor should work again

Allerdings hatte das bei mir mit gerootetem iodeOS 6.11 und 7.2 nicht funktioniert, auch nicht mit als Systemanwendung installierter gf_display_test-App. Weder mit dem adb-Aufruf noch mit Aufruf der Activity über AppManager.
 
Besten Dank für die Anleitung.


Allerdings hatte das bei mir mit gerootetem iodeOS 6.11 und 7.2 nicht funktioniert, auch nicht mit als Systemanwendung installierter gf_display_test-App. Weder mit dem adb-Aufruf noch mit Aufruf der Activity über AppManager.
Hattest du gf_display_test nur als System App (/system/app) oder als Priv System app (/system/priv-app) installiert?
Mit welchem intent Befehlt du die App öffnest sollte egal sein, du kannst aber auch noch versuchen über AppManager die andere Activity zu starten (weiß nicht mehr genau wie die heißt) und überprüfen ob "continuos automatic calibration" (oder so ähnlich) aktiviert ist.
Ich habe die Kalibrierung mit einem Kork Untersetzer und einem schwarzen Pop Socket vorgenommen, allerdings auch bestimmt so 15 mal probiert. Ich kann mir vorstellen, dass das auch einen Einfluss haben kann.
 

Anhänge

  • 2026-03-08-13-47-28-906.jpg
    2026-03-08-13-47-28-906.jpg
    5 MB · Aufrufe: 20
Hattest du gf_display_test nur als System App (/system/app) oder als Priv System app (/system/priv-app) installiert?
Ich habe sie unter /system/priv-app installiert.

Und mit AppManager hatte ich schon alle Activities ausprobiert. Die meisten werden sofort abgebrochen, und die übrigen erkennen offenbar die Hardware nicht.

Aber der Bootloader ist auch noch "unlocked", das könnte auch ein Teil des Problems sein.
 
  1. Der Bootloader muss für Root unlocked sein.
  2. Das Kallibrieren dürfte wohl nichts helfen, weil bei iodéOS der Fingerprint-Support ja komplett aus dem Build entfernt wurde (bei den anderen OS funktioniert er ja mit locked bootloader).
  3. iodéOS scheint größere Probleme mit dem Fingerprint zu haben als die allgemeinen. Bei CalyxOS mit loked Bootloader (yellow state) funktioniert der Fingerprint nämlich, bei iodéOS mit looked Bootloader (yellow state) dagegen nicht.
 
  1. Der Bootloader muss für Root unlocked sein.
  2. Das Kallibrieren dürfte wohl nichts helfen, weil bei iodéOS der Fingerprint-Support ja komplett aus dem Build entfernt wurde (bei den anderen OS funktioniert er ja mit locked bootloader).
  3. iodéOS scheint größere Probleme mit dem Fingerprint zu haben als die allgemeinen. Bei CalyxOS mit loked Bootloader (yellow state) funktioniert der Fingerprint nämlich, bei iodéOS mit looked Bootloader (yellow state) dagegen nicht.
Danke für die Zusammenfassung.

2.+3. sind plausibel. Bei 1. ist mir nicht ganz klar, worauf Du Dich beziehst. Nur auf den FP-Reader?

Ich habe meins mit fastboot unlocked (ohne critical_unlock, soweit ich mich erinnern kann), dann iodeOS geflasht und dann das Boot-Image mit Magisk behandelt. Bis auf den FP läuft alles.
 
Danke für die Zusammenfassung.

2.+3. sind plausibel. Bei 1. ist mir nicht ganz klar, worauf Du Dich beziehst. Nur auf den FP-Reader?

Ich habe meins mit fastboot unlocked (ohne critical_unlock, soweit ich mich erinnern kann), dann iodeOS geflasht und dann das Boot-Image mit Magisk behandelt. Bis auf den FP läuft alles.
Reagiert der UDFPS denn überhaupt auf den Finger? Bei mir hatte er nach dem BL unlock zwar reagiert, allerdings nicht funktioniert.
 
@Ene das gleiche bei Calyx mit unlocked Bootloader: der Fingerprintbereich leuchtet auf, aber kann nicht eingerichtet werden also offenbar nicht lesen ("reagiert, allerdings nicht funktioniert")
 
Zuletzt bearbeitet:
Reagiert der UDFPS denn überhaupt auf den Finger? Bei mir hatte er nach dem BL unlock zwar reagiert, allerdings nicht funktioniert.
Nein, unter iodeOS gar nicht. Alle startbaren Activities enthalten auch nur leere Textfelder, wo sonst irgendwelche Parameter stehen müssten.
 
Was (zumindest bei iodeOS) auch noch erschwerend hinzukommt ist, dass der Aurora Store keine Apps mehr installieren oder aktualisieren kann. Auch, wenn man den Vortäuschmodus für ein anderes Gerät auswählt. Das war bspw. auf dem FP4 immer möglich.

Ich frage mich, wie es sich verhalten würde, wenn man ein ShiftOS-L rooten würde. Hätte man dann die gleichen Probleme?
 
Was (zumindest bei iodeOS) auch noch erschwerend hinzukommt ist, dass der Aurora Store keine Apps mehr installieren oder aktualisieren kann. Auch, wenn man den Vortäuschmodus für ein anderes Gerät auswählt. Das war bspw. auf dem FP4 immer möglich.

Ich frage mich, wie es sich verhalten würde, wenn man ein ShiftOS-L rooten würde. Hätte man dann die gleichen Probleme?
Mit root hat das nichts zu tun. Bei mir funktioniert der UDFPS und Aurora store ohne Probleme, trotz root und offenem bootloader (banking Apps gehen auch). Ich nutze crDroid (was SOS-L ähnelt, beide mit LineageOS verwandt) und Magisk für root.
 
Was (zumindest bei iodeOS) auch noch erschwerend hinzukommt ist, dass der Aurora Store keine Apps mehr installieren oder aktualisieren kann. Auch, wenn man den Vortäuschmodus für ein anderes Gerät auswählt. Das war bspw. auf dem FP4 immer möglich.
Kann das nicht vielleicht einfach die "Macke" sein ,die der Aurora Store ab und an hat?

Das kommt auch bei ShiftOS - L (ohne root) manchmal vor und da hilft es oft sich beim Store abzumelden ,die App zu schließen / wieder öffnen und neu anmelden.
Manchmal ist es aber auch nötig den Speicherinhalt und Cache der App zu leeren ,bevor es wieder geht.
 
Das kommt auch bei ShiftOS - L (ohne root) manchmal vor und da hilft es oft sich beim Store abzumelden ,die App zu schließen / wieder öffnen und neu anmelden.
Manchmal ist es aber auch nötig den Speicherinhalt und Cache der App zu leeren ,bevor es wieder geht.
Jawohl, das war es. Danke. In der Form kannte ich das von sämtlichen anderen LOS-Geräten noch nicht.
 
  • Like
Reaktionen: tkopq und R.E.D.
Jawohl, das war es. Danke. In der Form kannte ich das von sämtlichen anderen LOS-Geräten noch nicht.
Ich weiss zwar nicht ,in wie weit das zusammenhängt ,aber seit ich z.B. die Installationsmethode im Aurora Store (und in MicroG) auf den MicroG Installer umgestellt habe ,hat sich die "Macke" des Stores (bei mir) bisher nicht mehr gezeigt.

Davor kam es immer wieder mal vor
(Is aber vielleicht auch nur Zufall.😉)