I recently obtained several “removable eSIM cards” from esim.me from a friend in a group chat. In short, these eSIM cards are manufactured in the form of ordinary SIM cards, so they can be directly inserted into any mobile phone that supports physical SIM cards, and profiles can be added to the eSIM cards through the Android app provided by esim.me.

Although esim.me differentiates the prices of these eSIM cards based on the number of profiles that each eSIM card can join, when I later searched for blog posts online, some people mentioned that the hardware of these eSIM cards at different price points is exactly the same, and esim.me only imposed software restrictions on cards at different price points through the mobile configuration app. And if these eSIM cards are inserted into LTE modules that support eSIM, profiles can be directly added and deleted through the Windows eSIM management interface. However, the current LTE modules that support eSIM are mainly Quectel’s RM-50xQ series (used price 550 yuan) and Dell’s dw5821e (used price 300 yuan) / dw5829e modules. It’s obviously not cost-effective to purchase these LTE modules just to configure the eSIM card.

Truphone/LPAdesktop

After further searching on the Internet, I came across the desktop software Truphone/LPAdesktop, whose manual mentions that it can configure these eSIM cards through a PC/SC smart card reader. And the current smart card readers on the market generally only cost around 30-50 yuan, which is much more affordable than buying an LTE module.

Environment Preparation

  • One PC/SC reader (you can search for smart card reader/PCSC reader/health insurance card reader on Taobao). The reader looks similar to the card writing device in the telecom business hall. Generally, readers that support the PC/SC generic driver are driver-free under Windows and Mac.
  • If you need to connect the reader under Linux, you can refer to this article to configure it. Mainly, you need to install pcscd and add the vendorID and productID of the reader.
  • JRE environment

Compilation and Installation

Refer to the instructions on Github to compile using docker-compose. It’s important to note that the webcam component in LPADesktop https://github.com/sarxos/webcam-capture/ is not compatible with arm devices. If you need to run it on arm devices, you can consider commenting out the components related to webcam (I have modified a version without the webcam component, which can be downloaded at https://github.com/sparkcyf/LPAdesktop/releases/)

Usage

After installing the JRE, run java -jar LPA-1.0.0.0-jar-with-dependencies.jar in the directory:

Program UI
Program UI

After confirming that the program can recognize the reader, click connect to see the information of the eSIM and the currently installed profiles:

eSIM Card Information
eSIM Card Information

Right-click on different profiles to activate/deactivate/delete profiles.

If you need to add a new profile, you can click on download in the lower right corner, and then manually enter the profile information:

Add Profile
Add Profile

If the string obtained by scanning the configuration QR code is similar to 1$prod.smdp-plus.rsp.goog$052X-UFXS-CQIY-PNGL, then fill in the Matching id as 052X-UFXS-CQIY-PNGL and the server url as prod.smdp-plus.rsp.goog.

Other

If you have a relatively new, rooted Android device around, you can also try using PeterCxy/OpenEUICC software to configure it directly on your phone. Someone has already made a magisk module for it: https://github.com/AndroPlus-org/magisk-module-openeuicc

References