Skip to content

Instantly share code, notes, and snippets.

@V3ntus
Created September 23, 2026 23:39
Show Gist options
  • Select an option

  • Save V3ntus/87ff116e95f7dcec763bf4245137cb3a to your computer and use it in GitHub Desktop.

Select an option

Save V3ntus/87ff116e95f7dcec763bf4245137cb3a to your computer and use it in GitHub Desktop.
Fix Pixel eSIM / eUICC

Source and Attribution

Credit: JSPiRiT

https://xdaforums.com/t/guide-fix-pixel-esim-euicc.4797083/

Alternative Archived link:

https://web.archive.org/web/20260902003336/https://xdaforums.com/t/guide-fix-pixel-esim-euicc.4797083/

Warning

This process requires root access. Your eID may be regenerated. Back up anything important and be prepared to download or reactivate your eSIM afterward.

Important

Avoid using Android Flash Tool for flashing or restoring the device. Although it is official, it can trigger the eSIM/eUICC issue addressed by this guide. If a factory restore is necessary, download the matching official factory-image package and use its included flash-all script instead.

Core idea: The updater only reveals the currently installed image and whether the selected entry is compatible after you tap SE FIRMWARE UPGRADE and read the confirmation dialog before tapping CONTINUE. Let that dialog identify the correct entry.

Requirements

  • Rooted Pixel device
  • USB debugging enabled
  • A computer with ADB configured

Step 1 — Open an ADB shell

Connect the phone to your computer, then run:

adb shell

Step 2 — Obtain root access

Inside the ADB shell, run:

su

Grant the root request on the phone if prompted.

Step 3 — Set temporary system properties

Run the following commands one at a time in the same root shell:

resetprop ro.build.type eng
resetprop ro.build.tags eng
resetprop ro.debuggable 1
setenforce 0

Step 4 — Restart the framework

Run:

stop && sleep 2 && start

The phone will reboot. Do not close the ADB shell. Once Android has fully booted, unlock the phone and continue using the same shell session.

Step 5 — Find the config key

You already know which phone you have. Use this table to find its config key:

Device family	Config key
Pixel 6 / 6 Pro	P21 (ST54K+ST33J)
Pixel 6a	P21 (ST54K)
Pixel 7 family	P22 (ST54K+ST33J)
Pixel 8 family	P23 (ST54L)
Pixel 9 family	P24 (ST54L)
Pixel 10 family	P25 (ST54L)
Pixel 11 family	P26 (ST54L)

Pixel Fold devices use the config key for their generation. For example, Pixel 9 Pro Fold uses P24.

Only use menu entries beginning with your generation’s config key:

Pixel 6 / 6 Pro: GGL_ST54K… / GGL_ST33J…
Pixel 6a: GGL_B3_ST54K…
Pixel 7 family: GGL_P22_ST54K… / GGLP22_ST33J…
Pixel 8 family: ...P23_ST54L...
Pixel 9 family: ...P24_ST54L...
Pixel 10 family: ...P25_ST54L...
Pixel 11 family: ...P26_ST54L...

Warning

Do not select entries from another row.

Step 6 — Open the firmware updater

Run:

am start -n com.google.euiccpixel/com.google.euiccpixel.ui.OtaUpdateMenu

Alternatively, open the same application directly from the phone’s dialer by entering:

*#*#3987#*#*

The NFC/eSE/eSIM firmware-updater application should now open on the phone.

Step 7 — Let the updater identify the image

Open the Upgrade Firmware drop-down menu. Select any entry for your device generation. Tap SE FIRMWARE UPGRADE. Read the confirmation dialog. Do not tap CONTINUE yet.

If the selected target is the currently installed image, the dialog says: “You are flashing to the same image again. Please make sure that it's what you need.” This entry is already installed. Back out and select a different entry; this one will not proceed. If the selected target has an incompatible config, for example CG7 on a physically CC9 P24 device, it says: “You are flashing to a non-compliant image for your device. It will break your device!” This means the selected config is wrong. Back out and choose another entry from the same generation.

Continue only when:

The dialog does not show the blocked same-image message; and The dialog does not show the non-compliant-image warning, unless you intentionally accept that risk.

Important: Config tags

CC9 and CG7 are not interchangeable. Treat them as separate chip configurations. Flashing CG7 to a CC9-configured P24 device triggers the non-compliant-image warning above.

That warning means the selected image does not match the chip’s config. Back out and choose the other config. The safest choice is an entry whose config tag matches the installed image shown in the confirmation dialog, or a newer revision within that same family.

The same rule applies to CJ6/CJ4, CM0/CM3, and M4/M5. These are chip, silicon, or sub-configuration variants. Stay in the family shown as installed by the confirmation dialog; only change the version stage, such as _v1 to _v2, TEST to ALIVE, or an older DVT/PVT revision to a newer one. For Pixel 6/7, do not cross generations or chip families, for example ST54K to ST54L.

Step 8 — Wait for completion

Once the confirmation dialog shows a compatible image, tap CONTINUE.

Wait until the process finishes. Do not reboot the phone, disconnect anything, or close the upgrade application while the firmware update is in progress.

Step 9 — Reboot the phone

After the firmware upgrade has completed successfully, reboot the phone normally.

You can restart it from the power menu or run:

reboot

Once the phone has booted and eSIM/eUICC functionality is working, the device is fixed and ready for normal use. You can now clean-flash the device or relock the bootloader if needed.

Done

⚠️ Note: Your eID may be regenerated after the update. If your existing eSIM profile no longer works, contact your carrier or use its app or website to issue and install a replacement eSIM profile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment