include gservices flags in the OS#346
Open
inthewaves wants to merge 2 commits into
Open
Conversation
Update was done with `adevtool update-gservices-flags`, currently not added to `generate-all`
Currently only eUICC-related flags are being consumed. Note that
euicc.experiment.Activation__profile_specific_behavior appears to be region specific (adevtool
doesn't capture this accurately yet) and likely not used by EuiccGoogle.
In July 2026 update (CP2A.260705.006), EuiccSupportPixel added a EsimGcRecoveryService which is
hardcoded to only run on 9th and 10th gen Pixels. Its use is also gated on the gservices flag
euiccpixel.experiment.Ota__should_enable_esim_gc_recovery.
When this flag is disabled or the device is not a 9th or 10th gen Pixel, this is logged:
I EuiccSupportPixel: Checking on slot status changed.
I EuiccSupportPixel: eSIM GC recovery check failed: flag is not enabled or device doesn't
support GC recovery.
When this flag is enabled but eSIM GC recovery didn't need to run, this is logged:
I EuiccSupportPixel: Checking on slot status changed.
I EuiccSupportPixel: eSIM is PRESENT but EID is not all zeros.
On some other device generations, there is another eSIM recovery path which is blocked by the
gservices flag euiccpixel.experiment.Ota__support_se_recovery, e.g. cheetah.
When the SERecovery flag is disabled, this is logged:
I EuiccSupportPixel: [SERecovery] SE Recovery is not supported
When this flag is enabled but SERecovery didn't need to run, this is logged:
I EuiccSupportPixel: [SERecovery] Recovery Counter value: 0
I EuiccSupportPixel: [SERecovery] SERecoveryReceiver registered dynamically
Test: on tokay, rango, caiman: The "eSIM is PRESENT but EID is not all zeros." log was observed,
indicating the flag was passed to EuiccSupportPixel correctly
Test: on cheetah, the two SERecovery logs "Recovery Counter value: 0" and "SERecoveryReceiver" were
observed, indicating the flag was passed to EuiccSupportPixel correctly
Test: eSIMs were added, calls/SMS/MMS/data were functional, and eSIMs were able to be deleted
4c2ddbe to
5f8d303
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes GrapheneOS/os-issue-tracker#7658
Changelist:
Currently only eUICC-related flags are being consumed. Note that
euicc.experiment.Activation__profile_specific_behaviorappears to be region specific (adevtooldoesn't capture this accurately yet) and likely not used by EuiccGoogle.
In July 2026 update (CP2A.260705.006), EuiccSupportPixel added a EsimGcRecoveryService which is
hardcoded to only run on 9th and 10th gen Pixels. Its use is also gated on the gservices flag
euiccpixel.experiment.Ota__should_enable_esim_gc_recovery.When this flag is disabled or the device is not a 9th or 10th gen Pixel, this is logged:
When this flag is enabled but eSIM GC recovery didn't need to run, this is logged:
On some other device generations, there is another eSIM recovery path which is blocked by the
gservices flag
euiccpixel.experiment.Ota__support_se_recovery, e.g. cheetah.When the SERecovery flag is disabled, this is logged:
When this flag is enabled but SERecovery didn't need to run, this is logged:
indicating the flag was passed to EuiccSupportPixel correctly
observed, indicating the flag was passed to EuiccSupportPixel correctly