Modem Requirements for eSIM Support

This page summarizes the required modem features for supporting an eSIM chip or removable eSIM 4FF card.

General requirements

These are the modem requirements for general eSIM support. The Local Profile Assistant (LPA) needs the modem to support all of these requirements to function properly.

Handling the default boot profile correctly

When there is no operational or test profile enabled on eSIM, the default boot profile is enabled. The modem recognizes the eSIM with the default boot profile enabled as a valid SIM, reports the card as valid to upper layers, and doesn't turn off the SIM power.

Sending terminal capabilities correctly

On power-up, the modem sends correct terminal capabilities to the eSIM. The terminal capability encodes support for eUICC capabilities Local Profile Management and Profile Download.

See ETSI TS 102 221 Section 11.1.19.2.4: “Additional Terminal capability indications related to eUICC". Bytes [1-3] shall be: ‘83 (Tag) ‘01’ (Length) ‘07’ (eUICC capabilities).

(Optional) Supporting eSIM OS OTA updates

The modem supports all requirements for eSIM OS OTA updates, for example, switching to passthrough mode and keeping the eSIM powered on during the OTA update procedure.

HAL requirements

These are API implementations that are required for general eSIM support.

For devices supporting MEPs, see the HAL requirements for MEP.

Implementing setSimPower in Radio HAL v1.1

The modem supports the setSimPower method.

Implementing getSimSlotsStatus in IRadioConfig HAL v1.2

The modem supports the getSimSlotsStatus method, which indicates whether a slot contains an eSIM.

This method was introduced in v1.0. In v1.2, SimSlotStatus includes EID.

Implementing getIccCardStatus in IRadio HAL v1.4

The modem provides the answer to reset (ATR) and slot ID of the card status in the getIccCardStatusResponse method. This method was introduced in v1.0 and, in v1.2, CardStatus was changed to include ATR. In v1.4, CardStatus includes EID.

Setting CardState:RESTRICTED on SIM lock (subsidy lock)

If the eSIM is SIM locked (subsidy locked), the modem sets the card state as CardState:RESTRICTED in the getIccCardStatusResponse method.

(Optional) Implementing setSimSlotsMapping in IRadioConfig HAL v1.0

The modem supports the setSimSlotsMapping method, which sets the mapping from physical slots to logical slots. The LPA uses this method to select the active SIM slot.

Logging requirements

These are general modem logging requirements for debugging eSIM issues.

Log capture

Logging captures interprocessor communication, SIM functionality, radio interface layer (RIL) logging, and application protocol data unit (APDU) logging.

On-device logging

Device software supports an on-device modem log capturing mechanism.

Log config support

Device software supports different modem logging configurations (level, modules). These configurations must be supported for both on-device logging and PC-tool-based logging.

Android bug report

Bug reports contains modem logs, vendor RIL logs, panic signature logs, and Android logs.