mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-09-28 15:06:33 +03:00
26a3fc09dc
get_status() has appended a hardcoded '5c054f9f70c5cc' to the command data field. Of the data objects in GP CS v2.3.1 Table 11-35 only the AID search tag 4F is mandatory, the tag list is optional and not supported in v2.1.1, where Section 9.4.2.3 defines the data field as the search qualifier. Cards implementing that revision can reject anything else with 6A80 as per v2.1.1 Table 9-26. A sysmocom SJA5 does that. Its data field must be one 4F TLV, the value is free, but nothing may precede or follow it. So every subset returned nothing at all... There is no need to guess: v2.1.1/v2.3.1 Section 7.4.1.3 Card Recognition Data is "shall be present" and contains the GP version on selected SD. Query it once, and send the tag list to cards that announce v2.2 or later. SJA5 reports 2.1.1, sysmoEUICC reports 2.2. Two more problems with the old list: - A tag list is an inclusion list, old list omits tag 84, so it suppressed the Executable Module AIDs - It asks for tag C5 for Executable Load Files, which "may" be answered with an error status. Fix this by constricting or omitting the tag list depending on reported GP version. Change-Id: I74cd2bd47617d616bede6453397f544cde5abcb7