fix: restore MF after fast-init probing so eUICC cards init cleanly (v2.8.1)
With an eUICC in the reader the fast init raised SwMatchError twice and fell back to the stock pysim init: pick_profile_no_reset() disables the physical resets that CardProfile.match_with_card() normally performs, so the successful SGP.22 probe leaves the ISD-R ADF selected. RuntimeState then selects MF by FID (00 A4 00 04 02 3F00) from within the ADF, which this card answers with 6A82. - _restore_mf_after_probe() re-selects MF after the profile pick: the cheap select keeps the reset-free path for normal cards, a physical reset covers cards that refuse the MF select from an ADF. - The EID read restores with rs.reset() (soft reset, escalating to a physical reset) instead of rs.soft_reset(), which had the same trap. - tests: FakeScc mf_select_error mode + two _restore_mf_after_probe cases (no reset / exactly one physical reset).
This commit is contained in:
@@ -27,7 +27,7 @@ from osmocom.tlv import BER_TLV_IE
|
||||
from osmocom.utils import rpad
|
||||
|
||||
|
||||
VERSION = '2.8.0'
|
||||
VERSION = '2.8.1'
|
||||
|
||||
MAX_ENVELOPE_SEGMENTS = 5 # max SMS segments for outgoing C-APDU in ENVELOPE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user