Para usuarios de Android y Linux que evalúan herramientas de eSIM de código abierto, en todo el mundo.
LPA de eSIM de código abierto
Toda discusión sobre si la eSIM funciona en un teléfono sin Google es en realidad una discusión sobre un solo componente. Se llama local profile assistant, LPA, y entenderlo convierte una pregunta confusa en una pregunta comprobable.

- El LPA es el componente del sistema que descarga e instala los perfiles de eSIM
- AOSP no incluye ningún LPA de uso general, así que hay que añadirlo a cada compilación
- Android elige un solo LPA por permiso y por la prioridad declarada en el manifiesto
- OpenEUICC es el LPA de código abierto para Android; con privilegios llega a las eSIM internas
- La variante sin privilegios solo llega a chips extraíbles que autoricen su certificado
- lpac, libeuicc, EasyLPAC, lpa-gtk y hermes cubren escritorio, Linux móvil y ChromeOS
El chip de tu teléfono que guarda los perfiles de eSIM se llama eUICC y por sí solo no hace nada. Algo tiene que leer un código de activación, averiguar qué servidor de aprovisionamiento nombra, ejecutar el protocolo GSMA contra ese servidor y escribir el perfil resultante en el almacenamiento seguro del chip. Ese algo es el local profile assistant, o LPA. Ahí está todo el partido: chip estándar, código estándar, servidor estándar, y la única variable es si hay un LPA presente y capaz de llegar al chip.
La documentación de Android de Google describe el LPA como una aplicación de sistema independiente que debería incluirse en la imagen de la compilación de Android, y dice que los fabricantes pueden implementar el suyo y conectarlo a las API de eUICC de Android. Léelo con calma y de ahí sale toda la situación de la eSIM en los sistemas sin Google. AOSP no te da ninguno. Alguien tiene que meter uno en la compilación. Cuando nadie lo hizo, el teléfono tiene hardware de eSIM que funciona y ninguna forma de usarlo.
Cómo decide Android qué LPA manda
La interfaz pública que usan las aplicaciones es EuiccManager, dentro del paquete android.telephony.euicc. Por detrás, quien implementa el manejo de perfiles extiende EuiccService y declara ese servicio en su manifiesto. El framework consulta entonces al gestor de paquetes en busca de aplicaciones con el permiso WRITE_EMBEDDED_SUBSCRIPTIONS que declaren un servicio para la acción android.service.euicc.EuiccService, y elige la que tenga la prioridad más alta declarada en su manifiesto. Solo una puede ser el LPA en funcionamiento a la vez.
Ahí va incluido un requisito duro. Una aplicación LPA tiene que ser una aplicación de sistema, incluida en la imagen del sistema, para poder llamar siquiera a las API correspondientes. Más que un peaje impuesto por Google, es una consecuencia de lo que hace ese componente: escribe en un elemento seguro que guarda credenciales de operador. Eso sí implica que un LPA que falta no se arregla descargando nada, que es el malentendido más frecuente de todo este asunto.
Las implementaciones de código abierto que existen de verdad
Hay más de las que la gente espera, y el manual de desarrollo de eUICC y eSIM de Osmocom mantiene lo más parecido a un índice canónico de ellas. En Android la importante es OpenEUICC, descrita por sus autores como una implementación de local profile assistant totalmente libre y de código abierto para Android, y distribuida en dos variantes. La variante privilegiada tiene que instalarse como aplicación de sistema, firmada con el certificado de plataforma y colocada en la partición del sistema, y el proyecto proporciona un archivo de lista blanca de aplicaciones privilegiadas para que lo incluyan quienes compilan ROM. Una vez privilegiada puede gestionar eSIM internas, eSIM externas y chips accesibles mediante lectores USB CCID.
La segunda variante, EasyEUICC, se ejecuta como una aplicación normal sin privilegios, y merece la pena entender sus límites porque se cuentan mal muy a menudo. No puede tocar el eUICC soldado dentro de tu teléfono. Solo puede acceder a chips eSIM extraíbles cuyo campo ARA-M conceda proactivamente acceso a su certificado de firma, lo que significa que el fabricante del chip tiene que haberla autorizado antes. Fuera de Android está lpac, una biblioteca en C y una utilidad de línea de comandos, con libeuicc como núcleo; EasyLPAC como interfaz de escritorio; lpa-gtk para Linux móvil; y hermes, el demonio de eSIM que usa Chromium OS. Varias son multiplataforma. Ninguna cambia la regla de que en Android llegar al chip interno exige privilegio de sistema.
Qué compilaciones incluyen uno y cómo saberlo
Nombrar compilaciones es donde se equivocan casi todos los artículos sobre este tema, porque la respuesta cambia con cada versión y varía por dispositivo incluso dentro de un mismo proyecto. Lo que sí se puede decir con seguridad: las compilaciones de fábrica de los fabricantes sobre hardware compatible con eSIM suelen incluir un LPA, a menudo uno propietario del fabricante o de Google. Los sistemas Android endurecidos construidos sobre ese mismo hardware suelen conservarlo en funcionamiento, a veces detrás de un ajuste que viene desactivado. Las compilaciones comunitarias derivadas de LineageOS han sido históricamente el punto débil, con informes de que el control para añadir una eSIM no aparece, o aparece y está completamente inerte, en las compilaciones oficiales. Que una ROM incluya OpenEUICC es algo que alguien ha tenido que decidir, y se decide compilación a compilación.
Así que, en lugar de fiarte de una lista, prueba el dispositivo. Que el proceso de añadir una eSIM funcione y llegue a un escáner de QR o a un campo de código de activación manual es prueba directa de que hay algún LPA instalado y en marcha, sea cual sea y lo haya escrito quien lo haya escrito. Que ese proceso no exista, o que el control no haga nada al pulsarlo, es prueba igual de directa en sentido contrario. Esa prueba no cuesta nada y está más al día que cualquier página.
Por qué esto importa comercialmente y qué podemos prometer
Toda eSIM que te venda cualquiera, la nuestra incluida, es el mismo objeto en esta capa: un código de activación GSMA que apunta a un servidor de aprovisionamiento. No existe una eSIM compatible con más LPA que otra, y cualquier vendedor que presuma de compatibilidad especial con sistemas sin Google está describiendo algo que no está en la especificación. Lo que sí cambia de un vendedor a otro es si es honesto sobre dónde está el límite. El nuestro es este: el perfil es nuestro y el LPA es tuyo.
En concreto, vendemos una línea móvil real de operador del Reino Unido con prefijo +44 como QR de eSIM, no es VoIP ni un número de un grupo compartido, con SMS y llamadas entrantes ilimitados en todo el mundo por roaming y sin datos móviles de ningún tipo. Son $25 una sola vez, con los primeros seis meses incluidos, y luego $15 cada seis meses, sin que se renueve nada automáticamente porque no guardamos ninguna tarjeta. Los datos de viaje van aparte, desde $1.99 en más de 190 países, solo datos. El pago es únicamente en cripto, con doce métodos, sin KYC, sin cuenta y sin correo, y con un código de consulta de 8 caracteres con el formato AB12-CDEF. El QR del número del Reino Unido es de un solo uso y no se vuelve a emitir nunca, así que la comprobación de abajo no es un trámite. Y por decirlo claro: comprar sin KYC elimina el papeleo, no el IMEI de tu dispositivo, ni tu dirección IP, ni los registros que un operador guarda de una línea activa.
Cómo averiguar qué tiene tu compilación
- 1
Confirma primero el hardware. Localiza tu EID, el identificador de 32 dígitos que pertenece al eUICC, en Settings, Network and internet, SIMs, en la entrada de la eSIM, o marcando *#06# y leyendo los números junto al IMEI. Si tienes adb, adb shell pm list features debería mostrar android.hardware.telephony.euicc en un dispositivo con el chip.
- 2
Busca el punto de entrada. En Settings, Network and internet, SIMs, una opción para descargar una SIM, añadir una eSIM o un botón con un signo más junto a las entradas de SIM indica que la compilación expone un instalador de eSIM.
- 3
Demuestra que está vivo. Pon en marcha ese proceso y llega hasta un escáner de QR o un campo de código de activación manual. Llegar a esa pantalla significa que hay un LPA instalado y respondiendo. Un control que está pero no hace nada al pulsarlo significa que la pantalla existe sin ningún asistente detrás, que es un patrón conocido.
- 4
Si quieres saber qué LPA tienes, revisa las aplicaciones de sistema instaladas en busca de un paquete de asistente de perfiles. En una compilación que incluya uno de código abierto se verá como aplicación de sistema y no como algo que instalaste tú, y la documentación del propio proyecto es mejor guía que adivinar qué puede hacer.
- 5
Si no hay LPA, sé realista sobre la solución. El asistente de código abierto privilegiado tiene que integrarse en la ROM, firmarse con el certificado de plataforma y figurar en la lista de aplicaciones privilegiadas, así que es trabajo de quien compila la ROM y no una instalación de usuario. La variante sin privilegios solo llega a chips eSIM extraíbles que autoricen su certificado, nunca al eUICC interno.
- 6
Solo cuando el proceso funciona tiene sentido comprar. Nuestro número +44 se instala por esa misma pantalla como un código de activación corriente y, si tienes dudas, pregunta antes de pagar, porque ese QR es de un solo uso y no se vuelve a emitir.
Preguntas y respuestas
¿Qué es un LPA en una eSIM?
El local profile assistant, el software que convierte un código de activación en un perfil instalado. Analiza el código, contacta con el servidor de aprovisionamiento que este nombra, ejecuta el protocolo GSMA y escribe el perfil en el chip eUICC. Sin él, el chip es inalcanzable por bueno que sea, y eso es lo que se está encontrando de verdad quien no consigue instalar una eSIM en una compilación personalizada.
¿Existe un LPA de código abierto para Android?
Sí. OpenEUICC se describe a sí mismo como una implementación de local profile assistant totalmente libre y de código abierto para Android, y viene en dos variantes. La privilegiada tiene que instalarse como aplicación de sistema, firmada con el certificado de plataforma y colocada en la partición del sistema, y entonces puede gestionar eSIM internas y externas. La variante sin privilegios se ejecuta como una aplicación normal pero no puede acceder a la eSIM integrada en un teléfono.
¿Por qué no puedo instalar un LPA desde una tienda de aplicaciones?
Porque llegar al eUICC exige privilegio de sistema. Android obliga a que un LPA sea una aplicación de sistema incluida en la imagen del sistema antes de poder llamar a las API correspondientes, y la variante de código abierto sin privilegios está limitada por diseño a chips extraíbles que autoricen expresamente su certificado de firma. Esa restricción protege un elemento seguro que guarda credenciales de operador, así que es poco probable que se relaje.
¿Hay LPA de código abierto fuera de Android?
Varios. lpac es una biblioteca en C con una utilidad de línea de comandos, construida sobre libeuicc, y existen interfaces de escritorio como EasyLPAC, un cliente GTK para dispositivos Linux móviles, y hermes, el demonio de eSIM que usa Chromium OS. El manual de desarrollo de eUICC y eSIM de Osmocom mantiene una lista de implementaciones conocidas en distintas plataformas, y es el mejor punto de partida si quieres ver el estado actual.
¿La eSIM que compro depende del LPA que use?
No. Cualquier eSIM es un código de activación GSMA estándar que apunta a un servidor de aprovisionamiento, y ningún vendedor puede hacer que un perfil sea más o menos compatible con un asistente concreto. Si un vendedor presume de compatibilidad especial con sistemas sin Google, está describiendo algo que no está en la especificación. Lo que sí podemos decir es que nuestros perfiles se emiten como códigos de activación normales, sin lista de aprobación de dispositivos, y que si tu compilación puede descargarlo lo decide tu compilación.
Más temas
LPA de eSIM de código abierto
Toda discusión sobre si la eSIM funciona en un teléfono sin Google es en realidad una discusión sobre un solo componente. Se llama local profile assistant, LPA, y entenderlo convierte una pregunta confusa en una pregunta comprobable.
Comprar eSIM UK - 25 USD