fix: send the SGP.32 Terminal Capability and make it best effort - #41
Draft
benjaminbruun wants to merge 1 commit into
Draft
fix: send the SGP.32 Terminal Capability and make it best effort#41benjaminbruun wants to merge 1 commit into
benjaminbruun wants to merge 1 commit into
Conversation
SGP.32 section 3.8.2 requires the IoT Device to report IPAd support with the Terminal Capability command before SELECT ISD-R, using tag 84 with b1 set; the eUICC only enables the ES10 functions when it sees that bit. The IPAd sent the SGP.22 LPA template (tag 83) instead. The specification leaves a rejected command unspecified, some eUICCs answer 6D00 (INS not supported) while still serving ES10, and some transports refuse to carry the command at all - the nRF91 modem answers AT+CSIM with ERROR for it. All three cases are now logged and ignored rather than aborting the ES10 bring-up; MANAGE CHANNEL right after it is the real link check and still fails hard. Signed-off-by: Benjamin Bruun <bb@onomondo.com>
benjaminbruun
force-pushed
the
bb/es10-terminal-capability
branch
from
September 2, 2026 17:33
e86c428 to
37e77a8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SGP.32 section 3.8.2 has the IoT Device report IPAd support with the Terminal Capability command before SELECT ISD-R: template tag A9, tag 84 for the eUICC-related capabilities, b1 set for IPAd. The eUICC only enables the ES10 functions when it sees that bit. The IPAd sent the SGP.22 LPA template instead (tag 83 with the LUId, LPDd and LDSd bits).
The specification does not say what to do when the command is rejected, and in practice three things happen: some eUICCs answer 6D00 (INS not supported) yet serve ES10 normally, some answer fine, and the nRF91 modem refuses to carry the command at all, answering AT+CSIM with ERROR (the bench 9151 DK fails the very first APDU with -77 EBADMSG, which is why the old Zephyr port had the call commented out). The command is therefore best effort on every path: transport error, malformed response and non-success status word are all logged and ignored, and MANAGE CHANNEL right after it remains the real link check that still fails hard. Bench: stock image and this chain both open channel 1 and select the ISD-R on the Kigen 9151 DK.