Do you have a phone, tablet, or laptop (or, well, any device…) which will only take a physical SIM, but with which you’d like to use eSIMs?
Then this is a blogpost for you, as that’s exactly what this is: a physical SIM, onto which one can provision eSIMs, using software to swap between them.
What I bought from 9eSIM
I bought the bundle – SIM and smartcard reader – from 9eSIM.
The first shipment from China got lost but, after a bit of waiting, they posted another one without complaint. That was shipped by a different delivery company, and it arrived in just over a week.
In the box, I got:
-
A SIM card, with the usual push-out sections to change it from normal to micro to nano.
- The SIM was in a blue envelope, not attached to the cardboard saying “9eSIM v2” – at first, I thought “they’ve forgotten to put in the SIM card”.
- If you want to use the smartcard reader, do not discard the SIM’s packaging. You will need it to make the smartcard reader work reliably.
-
A SIM card adapter.
-
A USB smartcard reader, and a USB-A to USB-C adapter.
Including delivery, it came to about £30.
Use the SIM’s packaging to make it fit in the smartcard reader
I spent a lot of time trying to get the SIM and smartcard reader working.
The solution was a frustratingly simple one: the best way to use the supplied smartcard reader is to use the original packaging for the SIM.
This packaging is the right size to slide into the reader while positioning the SIM’s contacts over the contact points on the reader. I will keep that together with the smartcard reader.
When I realised that – rather than trying to slide the popped-out SIM into the right place and keep it there – it Just Worked.
Adding and switching eSIMs
The SIM card is advertised as have “a memory capacity of 1.6M, [which] can store up to 50 groups of eSIM profile data”.
To make use of it, one needs to download one or more eSIMs to the SIM.
To do this, and to switch between profiles, one needs to use a “Local Profile Agent” (or “LPA”).
I tested the process for this using both Android and Linux, and both worked just fine.
Test eSIM profiles you can try to for free
While I was getting used to how it worked, I didn’t want to buy an actual eSIM.
Fortunately, there are a couple of options.
First, there are four official Android test eSIM profiles
While I could start to provision these, I could not download them, with what appears to be a TLS error.
Second, osmocom has a very useful page of other test profiles.
I was able to install test eSIM profiles for TruPhone and TruPhone / Speedtest.
These provisioned correctly onto the SIM. I could not use them to make or receive calls or start a data session – which was fine – but they did show up in Android’s SIM card manager as available eSIMs.
Adding and switching eSIMs via Android
There is an .apk from the 9eSIM site.
I wasn’t too keen on using this but, well, it worked, and is probably the simplest option.
I tested it first by putting the SIM into my phone, replacing my main physical SIM. This was recognised by the app immediately.
Once I had worked out how to correctly seat the SIM in the reader, I tried that too, using a USB-C hub to connect the smartcard reader to my phone. That worked fine too.
Provisioning eSIMs using the Android application was easy as long as the QR code was on a different screen, since I could just scan the QR code for the eSIM using the camera. I’ve not looked to see if there is a way to use Android to import a QR code on its own screen.
Using the 9eSIM application, one can enable and disable eSIMs, and swap between them. Once enabled, they appeared in Android’s own SIM management settings. I did not need to reboot.
Deleting an eSIM is also easy. One needs to type a security phrase – the name of the eSIM – to trigger deletion, which is a simple means of avoiding accidental deletion.
Adding and switching eSIMs via Linux
Since I want to use the SIM with the integrated WWAN modem of a laptop running Linux, I was keen to see if I could get this all to work using Linux and Free software.
So far, I have not found a way of writing profiles to the SIM while it is in the laptop – I need to take it out and put it in the smartcard reader.
And, if I’m going to do that then, from a practical point of view, it is little more effort to hook it up to my phone and swap and provisions eSIMs from there.
Still, I wanted to get it working within Linux and FOSS just because.
The smartcard reader and Linux
Connecting the smartcard reader and r