eSIM - EM9291's second slot

I am trying to use my EM9291 as a dual sim with one slot as an eSIM. I am trying to send apdu messages with an lpac to save the profile onboard but it’s not working. I am using qmicli version 1.37 and modem firmware version 2.17

I also saw in the AT command reference document that the latest FW is 3.04 but on the sources page it only goes to 2.17.

Any advice? @jyijyi

FW 3.04 probably is referring to em91 module

So is eSIM supported?

I had trouble with LPA but I can get slot 2 as an eUICC - also I am using Ubuntu 20.04

what are the return of the following?

ati3
AT!entercnd="A710"
at!custom?
AT!uims?
at+cpin?
at+ccid
at+cimi

The 3.04 firmware is there under the PTCRB heading.

FYI Rel.8 includes modifications to the internal LPA meaning you will be able to communicate via LPAd such as LPAC. Rel.8 is 03.04 FW which is on the source.

@blackbow7 got it, I was using the 2.17 firmware under Generic - I will use the correct one and share results

**I am still having issues, these are the outputs to those commands:

ati3**

Manufacturer: Sierra Wireless, Incorporated

Model: EM9291

Revision: SWIX65C_03.04.10.01 00b8ca jenkins 2025/06/18 05:56:16

IMEI: 358186652142931

IMEI SV: 11

FSN: 833445509504B1

+GCAP: +CGSM

OK

AT!entercnd=“A710”

OK

at!custom?

!CUSTOM:

         GPSENABLE 0x01

         GPSSEL 0x01

         IMCONFIG 0x02

         IPV6ENABLE 0x01

         UIM2ENABLE 0x02

         SIMLPM 0x01

         USBSERIALENABLE 0x01

         ICMPINTSRVDIS 0x01

         SIMLPA 0x01

OK

AT!uims?

!UIMS: 1

OK

at+cpin?

+CME ERROR: SIM busy

at+ccid

+CCID: ,89033023425121000000026672210309

OK

at+cimi

ERROR

and this is my slot and card status

sudo qmicli -d /dev/cdc-wdm0 --device-open-proxy --uim-get-slot-status

[/dev/cdc-wdm0] Successfully got slots status

[/dev/cdc-wdm0] 2 physical slots found:

Physical slot 1:

 Card status: present

 Slot status: inactive

       ICCID: 89148000004222428149

    Protocol: uicc

    Num apps: 0

    Is eUICC: no

Physical slot 2:

 Card status: present

 Slot status: active

Logical slot: 1

       ICCID: unknown

    Protocol: uicc

    Num apps: 0

    Is eUICC: yes

         EID: 89033023425121000000026672210309

[2025/09/23-15:00:27] nsd25001(edit ~/.site): nsd_user@dcs: : ~

Purpose: feature/v2.0.31-patches/orin:

sudo qmicli -d /dev/cdc-wdm0 --device-open-proxy --uim-get-card-status

[/dev/cdc-wdm0] Successfully got card status

Provisioning applications:

Primary GW: session doesn’t exist

Primary 1X: session doesn’t exist

Secondary GW: session doesn’t exist

Secondary 1X: session doesn’t exist

Slot [1]:

Card state: ‘present’

UPIN state: ‘not-initialized’

UPIN retries: ‘0’

UPUK retries: ‘0’

Slot [2]:

Card state: ‘absent’

UPIN state: ‘not-initialized’

UPIN retries: ‘0’

UPUK retries: ‘0’

you can connect to Windows and see if you can see the “manage esim profiles” option

I do not have windows on this device, I am forced to exclusively use Linux

you might need to contact distributor to get an application note “2174369 Thales LPA SDK r1.pdf” on this eSIM implementation

This document describes how to use Thales’ Linux host-based LPA SDK to manage eSIM profiles over the EM9 module from Linux host machine.