eSim supported in iode?

I have been using iode on my Fairphone 4 for a while and decided to switch to an eSIM. But the activation process fails after downloading the eSim with a Message saying that my Mobile Provider could not be deactivated.
I tried this process several times, with slightly different results. Sometimes the dialog shows a loading spinner for over 10 seconds while other times it gives me the error message right away. Sometimes the app SIM Manager crashes.

Which brings me to my question: Is eSIM presently supported by iode?


I tried to record a logcat with the error, if this helps:

05-14 20:25:42.760 23480 23480 I ConfirmDialogFragment: Showing dialog with title =WeTell aktivieren?
05-14 20:25:42.787  1599 15881 D CoreBackPreview: Window{9749e59 u0 com.android.settings/com.android.settings.network.telephony.ToggleSubscriptionDialogActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@977eef6, mPriority=-1}
05-14 20:25:42.795 23480 23496 E OpenGLRenderer: Unable to match the desired swap behavior.
05-14 20:25:42.799 23480 23496 W Parcel  : Expecting binder but got null!
05-14 20:25:42.807  1599 15881 D CoreBackPreview: Window{8b855b8 u0 com.android.settings/com.android.settings.network.telephony.ToggleSubscriptionDialogActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@f791564, mPriority=-1}
05-14 20:25:42.808 23480 23496 E OpenGLRenderer: Unable to match the desired swap behavior.
05-14 20:25:42.811 23480 23496 W Parcel  : Expecting binder but got null!
05-14 20:25:42.819  1599  1849 I ActivityTaskManager: Displayed com.android.settings/.network.telephony.ToggleSubscriptionDialogActivity: +142ms
05-14 20:25:42.900  1011  1011 W SDM     : HWCDisplay::GetHWCLayer: [0] GetLayer(16169) failed: no such layer
05-14 20:25:42.903  1060  1060 W HwcComposer: command 0x3000000 generated error 3
05-14 20:25:42.956   975   975 I android.hardware.power-service-qti: Power setMode: 5 to: 0
05-14 20:25:43.068   953  2241 I BTAudioProviderSession: UpdateTracksMetadata - SessionType=A2DP_SOFTWARE_ENCODING_DATAPATH, 1 track(s)
05-14 20:25:43.855  1599  2352 W InputReader: Received unexpected event (0x35, 0x394) for slot 0 with tracking id 10403
05-14 20:25:43.855  1599  2352 W InputReader: Received unexpected event (0x36, 0x4f1) for slot 0 with tracking id 10403
05-14 20:25:43.950   953  2241 I BTAudioProviderSession: UpdateTracksMetadata - SessionType=A2DP_SOFTWARE_ENCODING_DATAPATH, 2 track(s)
05-14 20:25:43.954 23480 23480 I ConfirmDialogFragment: dialog onClick =-1
05-14 20:25:43.954 23480 23480 I ToggleSubscriptionDialogActivity: User confirmed to enable the subscription.
05-14 20:25:43.976 23480 23480 V SidecarFragment: SidecarFragment.setState(): Sidecar Class: com.android.settings.network.SwitchToEuiccSubscriptionSidecar, State: State.RUNNING, Substate.UNUSED
05-14 20:25:43.989 23480 23480 I UiccSlotUtil: firstEsimSlot: 1
05-14 20:25:43.990 23480 23480 D SwitchToEuiccSidecar: The slotId1 is no MEP, port is 0
05-14 20:25:43.990 23480 23480 D SwitchToEuiccSidecar: set esim into the SubId4 Physical Slot1:Port0
05-14 20:25:43.992 23480 23480 V SidecarFragment: SidecarFragment.setState(): Sidecar Class: com.android.settings.network.SwitchSlotSidecar, State: State.RUNNING, Substate.UNUSED
05-14 20:25:43.993  1599 15881 D CoreBackPreview: Window{9749e59 u0 com.android.settings/com.android.settings.network.telephony.ToggleSubscriptionDialogActivity}: Setting back callback null
05-14 20:25:43.993 23480 23508 I SwitchSlotSidecar: Start to switch to euicc slot.
05-14 20:25:43.994 23480 23508 D UiccSlotUtil: The SimSlotMapping: [UiccSlotMapping (mPortIndex=0, mPhysicalSlotIndex=0, mLogicalSlotIndex=0), UiccSlotMapping (mPortIndex=0, mPhysicalSlotIndex=1, mLogicalSlotIndex=1)]
05-14 20:25:43.994 23480 23508 D UiccSlotUtil: The slot is active, then the sim can enable directly.
05-14 20:25:43.996 23480 23496 D OpenGLRenderer: endAllActiveAnimators on 0xb4000077148c04b0 (InsetDrawable) with handle 0xb400007624695370
05-14 20:25:43.997  1599 15881 W InputManager-JNI: Input channel object '9749e59 com.android.settings/com.android.settings.network.telephony.ToggleSubscriptionDialogActivity (client)' was disposed without first being removed with the input manager!
05-14 20:25:44.012  1599  1852 V WindowManager: Unknown focus tokens, dropping reportFocusChanged
05-14 20:25:44.042 23480 23480 V SidecarFragment: SidecarFragment.setState(): Sidecar Class: com.android.settings.network.SwitchSlotSidecar, State: State.INIT, Substate.UNUSED
05-14 20:25:44.042 23480 23480 I SwitchToEuiccSidecar: Successfully SimSlotMapping. Start to enable/disable esim
05-14 20:25:44.044 23480 23480 V SidecarFragment: SidecarFragment.setState(): Sidecar Class: com.android.settings.network.SwitchSlotSidecar, State: State.INIT, Substate.UNUSED
05-14 20:25:44.047  2743  2942 I EuiccController: isCompatChangeEnabled changeId: 224562872 changeEnabled: true
05-14 20:25:44.047  2743  2942 D EuiccController:  subId: 4 portIndex: 0 forceDeactivateSim: false usePortIndex: true callingPackage: com.android.settings shouldResolvePortIndex: true
05-14 20:25:44.048  1599  1685 D CoreBackPreview: Window{5b64d2c u0 com.android.settings/com.android.settings.network.telephony.ToggleSubscriptionDialogActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@45e28d7, mPriority=-1}
05-14 20:25:44.061 23480 23496 E OpenGLRenderer: Unable to match the desired swap behavior.
05-14 20:25:44.065 30115 30398 E AndroidRuntime: FATAL EXCEPTION: EuiccService #5
05-14 20:25:44.065 30115 30398 E AndroidRuntime: Process: com.google.android.euicc, PID: 30115
05-14 20:25:44.065 30115 30398 E AndroidRuntime: java.lang.UnsupportedOperationException: LPA must override onSwitchToSubscriptionWithPort
05-14 20:25:44.065 30115 30398 E AndroidRuntime: 	at android.service.euicc.EuiccService.onSwitchToSubscriptionWithPort(EuiccService.java:661)
05-14 20:25:44.065 30115 30398 E AndroidRuntime: 	at android.service.euicc.EuiccService$IEuiccServiceWrapper$10.run(EuiccService.java:910)
05-14 20:25:44.065 30115 30398 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
05-14 20:25:44.065 30115 30398 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
05-14 20:25:44.065 30115 30398 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:1012)
05-14 20:25:44.065 23480 23496 W Parcel  : Expecting binder but got null!
05-14 20:25:44.094  3764  3764 D ClearcutLoggerService: onBind: Intent { act=com.google.android.gms.clearcut.service.START pkg=com.google.android.gms }
05-14 20:25:44.095  1599 30400 I DropBoxManagerService: add tag=system_app_crash isTagEnabled=true flags=0x2
05-14 20:25:44.097 30115 30398 I Process : Sending signal. PID: 30115 SIG: 9
05-14 20:25:44.098  3764 25124 D ClearcutLoggerService: bound by: GetServiceRequest{serviceId=CLEARCUT_LOGGER, gmsVersion=213604000, packageName='com.google.android.euicc', extras=Bundle[{}]}
05-14 20:25:44.126  1599 15881 I ActivityManager: Process com.google.android.euicc (pid 30115) has died: vis BFGS
05-14 20:25:44.126  1599  1934 I libprocessgroup: Successfully killed process cgroup uid 10113 pid 30115 in 0ms
05-14 20:25:44.127   810   810 I Zygote  : Process 30115 exited due to signal 9 (Killed)
05-14 20:25:44.128  1599 15881 W ActivityManager: Scheduling restart of crashed service com.google.android.euicc/com.android.euicc.service.EuiccServiceImpl in 1000ms for connection
05-14 20:25:44.143 23480 23480 I EuiccOperationSidecar: Result code : 2; detailed code : 0
05-14 20:25:44.143  3764 25124 E JavaBinder: *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)
05-14 20:25:44.143  3764 25124 E JavaBinder: java.lang.RuntimeException: android.os.DeadObjectException
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.Parcel.writeException(Parcel.java:2796)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.Binder.execTransactInternal(Binder.java:1304)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.Binder.execTransact(Binder.java:1244)
05-14 20:25:44.143  3764 25124 E JavaBinder: Caused by: android.os.DeadObjectException
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.BinderProxy.transactNative(Native Method)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.BinderProxy.transact(BinderProxy.java:584)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at com.google.android.gms.common.internal.IGmsCallbacks$Stub$Proxy.onPostInitComplete(IGmsCallbacks.java:132)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at org.microg.gms.clearcut.ClearcutLoggerService.handleServiceRequest(ClearcutLoggerService.kt:28)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at org.microg.gms.BaseService$1.handleServiceRequest(BaseService.java:55)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at org.microg.gms.AbstractGmsServiceBroker.getService(AbstractGmsServiceBroker.java:258)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at com.google.android.gms.common.internal.IGmsServiceBroker$Stub.onTransact(IGmsServiceBroker.java:505)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at org.microg.gms.AbstractGmsServiceBroker.onTransact(AbstractGmsServiceBroker.java:274)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	at android.os.Binder.execTransactInternal(Binder.java:1280)
05-14 20:25:44.143  3764 25124 E JavaBinder: 	... 1 more
05-14 20:25:44.143 23480 23480 I ToggleSubscriptionDialogActivity: Failed to enable the eSIM profile.
1 Like

Hi,

I am currently using an eSIM from Vodafone (Germany) on my FP4 and it works. Same thing for a colleague (also FP4 and Vodafone).

1 Like

Thank you for your response. I am currently also talking to my Mobile Provider (WeTell) and I’m happy to hear that it’s at least technically possible.

So it turned out that my version of the app SIM Manager (com.google.android.euicc) was too old. Normally it would be updated through PlayStore or Aurora but for some reason past me thought it would be good to put the app on the black list for updating in Aurora.
Once I updated it to the newest version, I could activate my eSim normally!

1 Like

Hi @inhji , I’m suffering similar issues with latest Iode 4.6 on a Fairphone4, the SIM Manager keeps crashing, I can’t get past the “Checking network info…” message.

From the logcat I don’t see anything relevant that could explain what’s happening except maybe the registerSync error:

$ grep "EuiccGoogle" logcat.txt | grep " E " | tail -20
11-16 11:48:47.568  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_koodo
11-16 11:48:47.568  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_koodo
11-16 11:48:47.569  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_lucky_mobile
11-16 11:48:47.569  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_lucky_mobile
11-16 11:48:47.569  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_rogers
11-16 11:48:47.569  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_rogers
11-16 11:48:47.570  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_telus
11-16 11:48:47.570  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_telus
11-16 11:48:47.570  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_virgin_mobile
11-16 11:48:47.570  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_virgin_mobile
11-16 11:48:47.571  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_google_fi
11-16 11:48:47.571  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_google_fi
11-16 11:48:47.571  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_sprint
11-16 11:48:47.572  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_sprint
11-16 11:48:47.572  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.getCarrierByConfigName: Unable to find carrier config name key: carrier_tmobile
11-16 11:48:47.572  6953  6953 E EuiccGoogle: [2] CarrierInfoStore.initCountryCarrierList: Unable to find carrier by config name: carrier_tmobile
11-16 11:48:47.572  6953  6953 E EuiccGoogle: [2] ActivationFlags.getFullCarrierList: Unable to find carrier list for country: es
11-16 11:48:51.101  6953  6953 E EuiccGoogle: [2] GetMetadataFromDefaultServersFragment.onStateChange: Error retrieving default subscription list with result code: 2.
11-16 11:48:51.191  6953  8350 E EuiccGoogle: [91] PhenotypeSyncSidecar$1.onFailure: Failed to registerSync
11-16 11:48:57.566  8361  8436 E EuiccGoogle: Failed to registerSync in EuiccGoogleApplication

MicroG is enabled and SafetyNet working, I have also tried disabling Iode blocker and restarting the phone but no luck.

NOTE: latest version of SIM Manager is from Nov 1st.

Do you recall if apart of upgrading the SIM Manager, the rest of the phone config was default?

FWIW, I’ve found also this link from GrapheneOS with some interesting troubleshooting steps for the same situation, but in my case, the “DSDS” (Dual SIM) was already enabled as expected so no luck.

Regards.

FWIW, I reinstalled latest FairphoneOS, started from scratch again with iode 4.7 and the eSIM addition is working again.

1 Like