The SIM card has been around for decades, and it’ll continue to stick around for years to come because its successor still has a ways to go before it’s universally supported by carriers. That’s why there are almost no smartphones that are eSIM-only, despite the significant space-saving benefits they offer. Another reason we haven’t seen many eSIM-only smartphones is that they’re incompatible with dual SIM functionality — not unless the OEM packs two eSIM elements in the phone. Google has a solution to this problem, though, and they’re looking to deploy it in Android 13.
Google’s solution comes in the form of multiple enabled profiles (MEP), a method for enabling multiple SIM profiles on a single eSIM. Google was granted a patent for this technology in mid-2020, and multiple references to this technology in AOSP and the Android Developers website suggest the company plans to integrate MEP support into Android 13, which is set for release later this year. With support for MEP, a single eSIM element can connect to two different carriers at the same time, eliminating the need to have two eSIMs or an eSIM plus a nano SIM card in order to have dual SIM functionality. This both cuts BOM costs and frees up valuable space for other hardware components, which is especially important for products such as wearables and foldable.
In this post, I’ll be diving into Google’s patent on MEP and what support for MEP will look like in Android 13. But first, here’s a brief primer on eSIMs.
What is an eSIM?
A typical smartphone is packed to the brim with various hardware components, including at least one modem that, when coupled with antennae, lets the device send and receive data to and from a carrier’s network. Carriers run a business, of course, so they don’t let any device just connect to their network. Instead, the carrier decides whether to allow the device to connect to their network — as well as what services they should be allowed to access — through the profile stored in the subscriber identification module (SIM).
SIMs come in several different forms, the most common being the tiny card that’s slotted into the tray located on the side of most smartphones. Although the size of SIM cards has substantially decreased over the years — from full to mini to micro to nano — they still take up valuable space that could otherwise be filled with additional sensors or a larger battery. In devices where space is especially limited, such as wearable devices, there often isn’t enough room to fit even a single nano SIM card.
To solve this problem, the GSM Association (GSMA) created the embedded SIM (eSIM) specification, which brings the functionality of a SIM card to a secure element that can be embedded in a device’s motherboard. The embedded secure element (eSE) takes up less space than a physical nano SIM card, and manufacturers can save even more internal space by embedding a package containing an eSE and NFC controller. This is why device makers have adopted eSIM solutions for wearable devices, high-end smartphones, and other devices where space is at a premium.
Another benefit of eSIMs is that they can be remotely provisioned by carriers, which means that SIM profiles that would otherwise be preinstalled on the card can instead be downloaded from the Internet. The way this works is that after the user sets up a contract with their carrier, they’re given a QR code to scan that points to the carrier’s remote SIM provisioning system. The device then connects to that system and downloads the SIM profile, which lets the device connect to their carrier’s network.
A limitation of eSIM
With an eSIM, switching carriers is as easy as getting a new QR code to scan from another carrier. If the goal isn’t to switch carriers but rather to set up an additional carrier, then the same applies. This is because eSIMs can store multiple SIM profiles, making it easy to switch services. However, only one SIM profile can be active at any given time, so any user who wants to use services from multiple carriers will need a device with multiple SIMs. That means the device needs multiple eSIMs, multiple physical SIM cards, or a combination of eSIMs and physical SIM cards, one for every profile.
Because dual SIM support is important to so many users, many smartphone makers equip their devices with a single nano SIM card tray and a single eSIM chip. Smartphone makers are hesitant to ship devices without at least a single physical SIM card slot because eSIM support is still not ubiquitous, though the list of carriers that offer eSIM provisioning has grown considerably over the years. Even if every carrier offered eSIM provisioning, though, the fact that eSIMs only support a single active profile at a time means that device makers would need to solder a second eSIM chip onto the motherboard in order to offer dual SIM functionality. Doing so would increase design complexity, hardware costs, and power consumption, assuming there’s even enough internal space to accommodate a second eSIM chip, which may not be the case for products like wearables.
Google’s solution to this problem is a software method to simultaneously enable multiple SIM profiles on a single eSIM chip. This method, called multiple enabled profiles, was patented by Google in mid 2020, and an implementation of it is being added to Android 13.
Google's patented solution to overcome eSIM's limitation
The patent offers a high level overview of how MEP works, but it’s quite lengthy, so I’ll offer a summary.
Every SIM profile that a user downloads and installs onto an eSIM chip is associated with a “dedicated communication interface.” That communication interface provides an “independent communication channel” between the SIM profile installed on an eSIM chip and a modem, and it’s usually a physical interface that connects the two via wires/buses. A physical interface is necessary to connect an eSIM chip and a modem, but since that interface only supports a single communication channel, there would need to be two physical interfaces to enable two SIM profiles stored on an eSIM chip to talk to a single modem for Dual SIM Dual Standby (DSDS) to work.
To get around this, Google is proposing the creation of logical interfaces that are multiplexed on a single physical interface. Each logical interface can then provide an independent communication channel between a SIM profile and a modem, so there’d only need to be a single actual physical connection to the modem. No rewiring is needed, so existing devices with a single eSIM chip wired to a modem can theoretically support MEP. From the modem’s perspective, there’s no difference between a logical and physical interface, thus allowing for backward compatibility with current implementations.
Because Google’s approach is generic, it’s also platform agnostic. In fact, Android 13 may not be the only OS to support this technology, as Google explicitly calls out other operating systems like iOS, macOS, and Windows in its patent. I’m not sure if Google plans to make this technology available to everyone for free or through some patent licensing scheme, but I do know that they’re planning to enable this feature on at least some of their own devices. Google has been testing MEP support on unspecified Pixel hardware and has incorporated the new APIs into their app that manages eSIM profiles.
Multiple Enabled Profiles on Android 13
Over the last several months, Google has been working on framework and HAL support for multiple enabled profiles on a single eSIM. Numerous patches have been submitted to AOSP that tweak Android’s Telephony framework. These patches add a new UiccPortInfo class and new methods to the UiccCardInfo class. The UiccCardInfo class gets a new isMultipleEnabledProfilesSupported method that carrier apps can query to see if the device supports MEP, which requires updates to the radio HAL to support. Meanwhile, the new UiccPortInfo class lets carrier apps get information about each “port” that’s part of a SIM “slot”.
A slot can be either logical or physical. A logical slot is what’s seen by the modem, while a physical slot represents the actual physical hardware, whether that be a physical SIM card or eSIM chip.
A port is a new concept that describes an active SIM profile stored on a SIM slot. Devices with MEP support can have multiple ports on a single slot. So, for example, a device with MEP support that has two physical SIM slots (one physical SIM card and one eSIM chip) may have three ports (one for the first slot and two for the second slot).
A logical slot is created by mapping a physical slot and a port, so in the above example, there are three possible logical slots. Without MEP support, however, each logical slot would be mapped to just the physical slot, so our hypothetical device would only have two possible logical slots that could be seen by the modem. Take away one of those physical slots and then there’d only be one logical slot remaining. With MEP support, each physical slot representing an eSIM chip could have multiple ports that each describe their own active SIM profile.
This may sound a bit confusing, but you don’t really need to know the details about how Android 13 sees SIMs. These APIs are intended for carriers and OEMs to create what’s called a “local profile assistant” (LPA) app that manages eSIM profiles. Only system apps with carrier privileges and the WRITE_EMBEDDED_SUBSCRIPTIONS permission can use these APIs. On Pixel devices, the preinstalled “SIM Manager” handles downloading and installing eSIM profiles. Google has started to implement the new APIs for MEP in the latest version of the SIM Manager app included in the Android 13 developer previews, but they have not enabled MEP support yet on any Pixel devices as far as I can tell. MEP support may be coming to Pixel devices in one of the upcoming Android 13 betas, possibly gated behind a feature flag.
We’ll hopefully hear about this feature directly from Google at some point, but I think this is one of those changes that’ll slip quietly into a future release. The GSMA, though, may announce something related to MEP in the future. The description of the UiccPortInfo class interestingly references the GSMA SGP.22 V3.0 eSIM specification, which doesn’t seem to have been published yet. Perhaps the new version of the eSIM specification will talk about MEP given that Google references it when defining what a port is. I don’t know what Google or the GSMA are planning, though.
Ever since the first smartphones with eSIM were introduced, I’ve been wondering how long the physical SIM card would be needed. The transition to a SIM cardless future is going a lot slower than advocates have hoped for, but maybe the even smaller iSIM will accelerate the SIM card’s demise. Google’s MEP implementation, by the way, would also work for iSIMs whenever those start appearing on devices in the near future. The death of the SIM card is inevitable, and MEP is one big step in making that happen.
Thanks for reading this week’s edition of Android Dessert Bites. If you liked this post, you can find previous editions on this page.
Update 1 @ 09:05 AM PT on 4/1/2022: Shortly after the publication of this article, I was informed that the GSMA has published SGP .21 V3.0 of the eSIM Architecture Specification. The GSMA hasn't, however, published SGP .22 V3.0 of the eSIM Technical Specification. SGP .21 V3.0 confirms that Multiple Enabled Profiles is new to the eSIM specification, but it's not required for non-removable eUICCs.
I was also informed that Apple's latest iPhone 13 series supports using two eSIMs for two or more cellular plans at the same time. I do not know if Apple is using Google's patented MEP method, its own proprietary software method, or multiple eSEs.