annotate cdg-hybrid/sap/8010_136_SIMDRV_SAP.pdf @ 662:8cd8fd15a095

SIM speed enhancement re-enabled and made configurable TI's original code supported SIM speed enhancement, but Openmoko had it disabled, and OM's disabling of speed enhancement somehow caused certain SIM cards to start working which didn't work before (OM's bug #666). Because our FC community is much smaller in year 2020 than OM's community was in their day, we are not able to find one of those #666-affected SIMs, thus the real issue they had encountered remains elusive. Thus our solution is to re-enable SIM speed enhancement and simply wait for if and when someone runs into a #666-affected SIM once again. We provide a SIM_allow_speed_enhancement global variable that allows SIM speed enhancement to be enabled or disabled per session, and an /etc/SIM_spenh file in FFS that allows it to enabled or disabled on a non-volatile basis. SIM speed enhancement is now enabled by default.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 24 May 2020 05:02:28 +0000
parents e7a67accfad9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
212
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 ;********************************************************************************
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ;*** File : 8010_136_simdrv_sap.pdf
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 ;*** Creation : Wed Mar 11 09:57:50 CST 2009
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 ;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 ;*** Copyright : (c) Texas Instruments AG, Berlin Germany 2002
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 ;********************************************************************************
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 ;*** Document Type : Service Access Point Specification
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 ;*** Document Name : 8010_136_simdrv_sap
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 ;*** Document No. : 8010.136.03.009
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 ;*** Document Date : 2004-06-10
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 ;*** Document Status: BEING_PROCESSED
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 ;*** Document Author: FDU
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 ;********************************************************************************
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 PRAGMA SRC_FILE_TIME "Thu Nov 29 09:27:56 2007"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 PRAGMA LAST_MODIFIED "2004-06-10"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 PRAGMA ID_AND_VERSION "8010.136.03.009"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 PRAGMA PREFIX SIMDRV ; Prefix for this document
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 PRAGMA ALLWAYS_ENUM_IN_VAL_FILE YES ; Adds enumerations in the .val file.
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 PRAGMA ENABLE_GROUP YES ; Enable h-file grouping
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 PRAGMA COMPATIBILITY_DEFINES NO ; Compatible to the old #defines
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 CONST SIZE_ATR_INFO 0x21 ; The maximum length of the data returned from the ATR procedure
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 CONST MIN_RESULT 0x01 ; Minimum size of the response of any given command
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 CONST MAX_RESULT 0x100 ; Maximum size of the response of any given command
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 CONST MIN_DATA_SIZE 0x01 ; Minimum length of a data element
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 CONST MAX_DATA_SIZE 0xFF ; Maximum length of a data element
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 CONST MAX_READERS 0x02 ; Maximum number of card readers supported.
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 VALTAB VAL_reset_return_val
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 VAL 0 SIM_INSERTED "A SIM is inserted and ATR/PPS was successful"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 VAL 1 SIM_NOT_INSERTED "No SIM inserted (hardware detected)"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 VAL 2 INVALID_CARD "Card is not responding or gives unintelligible answers, communications time out."
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 VAL 3 ME_FAILURE "Power management related problems, e.g. voltage selection"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 VAL 4 IMPROPER_CALL_BACK "simdrv_register function called with pointer improperly set, e.g. NULL."
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 VAL 5 ME_READER_NOT_AVAILABLE "The reader requested is not available"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 VALTAB VAL_len
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 VAL 0x00 - 0x100 "Range of Length of Data"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 VAL 0xFFFF LENGTH_UNKNOWN "Indicating that the length expected is unknown."
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 VALTAB VAL_sw1_2
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 VAL 0x0001 ERR_NOCARD "No SIM inserted (hardware detected)"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 VAL 0x0002 ERR_NOT_RESET "A reset has not been performed on the driver with the requested Id."
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 VAL 0x0003 ERR_ME_FAIL "Unrecoverable ME failure (for instance interrupt fails to occur)"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 VAL 0x0004 ERR_RETRY_FAIL "ME/SIM communication failed after certain retries, SIM reset required"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 VAL 0x0005 ERR_PARAM_WRONG "A driver function is called with invalid parameters"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 VALTAB VAL_cla
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 VAL 0xA0 GSM_CLASS_BYTE "GSM Class byte according to [GSM 11.11 / 3GPP 51.011]"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 VAL 0x80 UMTS_CLASS_BYTE "UMTS Class byte according to [ETSI 102 221 10.1.2]"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 VAL 0x00 UICC_CLASS_BYTE "UICC Class byte according to [ISO 7816-4]"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 VALTAB VAL_ins
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 VAL 0xA4 INS_SELECT "Select Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 VAL 0xF2 INS_STATUS "Status Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 VAL 0xB0 INS_READ_BINARY "Read Binary Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 VAL 0xD6 INS_UPDATE_BINARY "Update Binary Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 VAL 0xB2 INS_READ_RECORD "Read Record Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 VAL 0xDC INS_UPDATE_RECORD "Update Record Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 VAL 0xA2 INS_SEEK "Seek Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 VAL 0x32 INS_INCREASE "Increase Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 VAL 0x20 INS_VERIFY_CHV "Verify Chv Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 VAL 0x24 INS_CHANGE_CHV "Change Chv Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 VAL 0x26 INS_DISABLE_CHV "Disable Chv Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 VAL 0x28 INS_ENABLE_CHV "Ensable Chv Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 VAL 0x2C INS_UNBLOCK_CHV "Unblock Chv Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 VAL 0x04 INS_INVALIDATE "Invalidate Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 VAL 0x44 INS_REHABILITATE "Rehabilitate Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 VAL 0x88 INS_AUTHENTICATE "Run GSM Algorithm (2/2.5G) / Authenticate (3G) Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 VAL 0x10 INS_TERMINAL_PROFILE "Terminal Profile Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 VAL 0xC2 INS_ENVELOPE "Envelope Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 VAL 0x12 INS_FETCH "Fetch Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 VAL 0x14 INS_TERMINAL_RESPONSE "Terminal Response Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 VAL 0xC0 INS_GET_RESPONSE "Get Response Instruction"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 VALTAB VAL_voltage_select
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 VAL 0 REQ_VOLTAGE_SEL "The SIM reader driver shall perform voltage selection"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 VAL 1 OMIT_VOLTAGE_SEL "The SIM reader driver shall restart with the current voltage"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 VALTAB VAL_config_requested
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 VAL 0x00 OMIT_CONFIG_CHARACTERISTICS "PS Shall not retrieve Configuration Characteristics"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 VAL 0x01 REQUEST_CONFIG_CHARACTERISTICS "PS Shall retrieve Configuration Characteristics"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 VALTAB VAL_reader_id
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 VAL 01 - MAX_READERS "Range of Id's of readers"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 VAR insert_ptr "insert pointer" L
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 VAR remove_ptr "remove pointer" L
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 VAR atr_string "SIM Card Answer to reset string" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 VAR reset_return_val "Reset return value" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 VAL @p_8010_136_simdrv_sap - VAL_reset_return_val@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 VAR result "Result byte" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 VAR len "Maximum length of expected data" S
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 VAL @p_8010_136_simdrv_sap - VAL_len@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 VAR data "Data element" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 VAR sw1_2 "Status Words" S
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 VAL @p_8010_136_simdrv_sap - VAL_sw1_2@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 VAR cla "Class Byte" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 VAL @p_8010_136_simdrv_sap - VAL_cla@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 VAR ins "instruction code" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 VAL @p_8010_136_simdrv_sap - VAL_ins@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 VAR voltage_select "Perform Voltage Selection" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 VAL @p_8010_136_simdrv_sap - VAL_voltage_select@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 VAR p1 "Parameter 1 of the SIM APDU" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 VAR p2 "Parameter 2 of the SIM APDU" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 VAR config_requested "Configuration Characteristics requested" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 VAL @p_8010_136_simdrv_sap - VAL_config_requested@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 VAR reader_id "Reader Id" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 VAL @p_8010_136_simdrv_sap - VAL_reader_id@
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 VAR uicc_characteristics "UICC Characteristics" B
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 COMP atr_string_info "SIM Card Info"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 atr_string [2..SIZE_ATR_INFO] ; SIM Card Answer to reset string
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 COMP result_info "Result Buffer"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197 len ; Length of expected data
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 result DYN[MIN_RESULT..MAX_RESULT] ; Result byte
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 COMP data_info "Data element info"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206 data DYN[MIN_DATA_SIZE..MAX_DATA_SIZE] ; Data element
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 COMP cmd_header "Transparent command header"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 cla ; Class Byte value
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 ins ; Instruction Code
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 p1 ; Parameter P1
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 p2 ; Parameter P2
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 COMP config_characteristics "Configuration Characteristics"
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
224 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225 uicc_characteristics ; UICC Characteristics
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 ; SIMDRV_DUMMY 0x80FF009A
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 PRIM SIMDRV_DUMMY 0x80FF009A
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 GROUP uicc
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 {
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240 atr_string_info PTR ; SIM Card Info
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 reset_return_val ; Return Value
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 result_info PTR ; Result Buffer
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243 len ; Length of expected data
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 data_info PTR ; Update Data Element
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245 sw1_2 ; Status Words
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 cla ; Class Byte
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 ins ; Instruction Code
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 cmd_header ; Transparent command header
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 voltage_select ; Perform Voltage Selection
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 p1 ; SIM Command Parameters
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251 p2 ; SIM Command Parameters
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 config_requested ; Configuration Characteristics requested
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253 config_characteristics PTR ; Configuration Characteristics
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 reader_id ; Reader Id
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255 uicc_characteristics ; UICC Characteristics
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 }
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264
e7a67accfad9 cdg-hybrid cdginc headers created
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265