lpac is a command line utility that can be used to manage eSIMs on a compatible device through a smart card reader. This page will summarize the main steps needed to use it with a JMP eSIM Adapter.
Getting Started
You'll need a smart card or SIM reader that is detected by your computer. Windows may require installation of a driver. While most such readers should work, users have reported that https://www.amazon.com/dp/B0CKQ8SSB4 in particular works well.
Linux
You can use pcsc_scan on Linux to view the reader and see if it registers the card when inserted. Some desktop Linux distributions such as Fedora Silverblue come with pcscd installed, otherwise you'll need to install that such as with apt on Debian and derivatives:
sudo apt install pcscd
Unless building with source, it's probably quickest to download and extract lpac-linux-x86_64.zip from https://github.com/estkme-group/lpac/releases. Assuming you extracted the zip to ~/Downloads/lpac, open a terminal and run:
cd ~/Downloads/lpac
Managing Profiles
You'll want to make sure you can see the eSIM adapter along with its test profile (**do not delete the default profile**):
./lpac profile list
Downloading an eSIM
If you received an activation string when purchasing an eSIM, extract the SM-DP+ address and activation code from it. If you received only a QR code, first scan it with a QR scanner to get the string. For example, LPA:1$example.tld$XX-YYYYYY-ZZZZZZZ:
./lpac profile download -s example.tld -m "XX-YYYYYY-ZZZZZZZ"
Enabling an eSIM profile
Only one profile can be enabled at a time. You can obtain the ICCID from the profile list command.
./lpac profile enable [ICCID]
Nicknaming an eSIM profile
./lpac profile nickname [ICCID] "My new eSIM"
Troubleshooting
If you get an error involving * SCardEstablishContext() * APDU **driver** init failed
Try installing a possible missing dependency ccid. Also enable the systemd pcscd.socket with a command like
systemctl enable --now pcscd.socket