annotate doc/Admin-write-commands @ 228:a93de68711b8

original README is now README.old
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 14 Mar 2021 18:16:27 +0000
parents 80fc2b2f83c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
224
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Using fc-simtool for admin-level SIM card programming
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 =====================================================
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 fc-simtool is a layered tool, and its repertoire of available commands needs to
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 be viewed as consisting of 3 primary conceptual layers:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 * At the bottom layer there are low-level commands that correspond directly to
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 GSM 11.11 protocol operations of first SELECTing files, then reading or
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 writing those files in whole or in part with READ BINARY, READ RECORD, UPDATE
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 BINARY and UPDATE RECORD protocol commands. This functional layer of
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 fc-simtool is documented in the Low-level-commands article.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 * As the next layer up, we implement higher-level commands for ordinary users
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 without special admin privileges. SIM card specs GSM 11.11 and 3GPP TS 51.011
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 define many files such as phonebooks which ordinary users can both read and
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 write, and we provide high-level user-friendly commands for reading and
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 writing many of these files. The same specs also define many files which
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 ordinary users can read but not write, giving ICCID, IMSI, SST and so forth -
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 we provide high-level user-friendly commands for reading many of these files.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 These commands are documented in the User-oriented-commands article, plus a
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 few additional ones in the PLMN-list-commands article.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 * As the most advanced layer, we implement some high-level write commands that
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 can only work if you have admin-level access to your card, i.e., if you have
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 authenticated with the appropriate ADM key in a card-vendor-dependent manner.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 The present article describes these advanced commands.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 Authentication with ADM credentials
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 ===================================
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 Before you can write to any of the admin-write-only files, you first need to
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 authenticate with the right credentials. The commands for doing so are card-
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 vendor-dependent, but most cards implement a non-standard extension to the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 standard VERIFY CHV command, presenting various kinds of ADM keys instead of
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 basic PIN1 or PIN2. fc-simtool verify-ext and verify-chv commands provide
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 access to these extended forms of VERIFY CHV in our command shell environment;
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 they are defined as follows:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 verify-ext P2 XXXXXXXX
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 verify-hex P2 xxxxxxxxxxxxxxxx
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 The first argument to both commands is the value to be put into the P2 field of
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 the VERIFY CHV command APDU; numbers are interpreted as decimal by default
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 unless preceded with 0x for hex. verify-ext should be used if the key material
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 takes the same ASCII-decimal form as is used for standard PINs and PUKs, whereas
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 verify-hex allows arbitrary 64-bit keys to be given as a hex string of 8 bytes.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 If your card is FCSIM1 or any other branded variant of GrcardSIM2 and the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 default ADM11 (aka SUPER ADM) key hasn't been changed, you need to authenticate
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 as follows:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 select MF
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 verify-ext 11 88888888
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 (select MF can be omitted if verify-ext 11 is the very first command in your
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 fc-simtool session.)
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 If your card is sysmoISIM-SJA2, you need to look up the right ADM1 key in the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 key material email from Sysmocom webshop, and then authenticate as follows:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 verify-ext 10 XXXXXXXX
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 If your card is sysmoUSIM-SJS1, you need to use the following special command,
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 and it must be the very first command in your fc-simtool session:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 verify-sjs1-adm1 XXXXXXXX
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 Actual admin file writes
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 ========================
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 The few specific admin write commands implemented in fc-simtool are listed
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 below. However, please keep the following points in mind:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 * If there is no specific high-level write command for the file you are
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 interested in, you can always use low-level select, update-bin and update-rec
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 commands to write any file - see the Low-level-commands article.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 * Some files that need to be written as part of provision-time programming
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 procedures are actually writable by ordinary users, hence those write commands
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 are documented in the User-oriented-commands article. This situation applies
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 to EF_MSISDN and EF_SMSP. Commands for writing EF_PLMNsel and EF_FPLMN (also
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 writable by ordinary users) are documented in the PLMN-list-commands article.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 Finally, here are the dedicated commands for writing a few specific
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 admin-write-only files:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 write-acc XXXX
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 This command writes EF_ACC. The argument must be a 4-digit hexadecimal number.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 write-iccid full_digits
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 This command programs EF_ICCID with whatever string of digits you specify. This
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 fc-simtool command provides mechanism rather than policy, hence it does not
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 enforce any particular number of digits (the record is padded with 'F' hex
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 digits per the spec if the number string is shorter than 20 digits), nor is the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 number required to end in a matching Luhn check digit.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 write-iccid-sh18 shorthand-digits
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 This command provides a higher-level user-friendly way to write ICCIDs of the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 most commonly used 18+1 format, meaning 18 content digits plus Luhn check digit.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 The shorthand entry form allows any number of 0 digits in the middle to be
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 replaced with a single dash - for example, the following command:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 write-iccid-sh18 8988211-3
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 will set ICCID to:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 8988211000000000037
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 As the first step, the shorthand entry is expanded to 18 digits, and as the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 next step, the correct Luhn check digit is appended.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 write-iccid-sh19 shorthand-digits
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 This command is similar to write-iccid-sh18, but it takes shorthand ICCIDs that
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 already include the Luhn check digit at the end. The previous example ICCID
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 would be entered as:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 write-iccid-sh19 8988211-37
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 After the shorthand entry is expanded to 19 digits, the Luhn formula is checked,
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 and mismatching entries are rejected. This command is intended for use cases
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 where the ICCID to be programmed is printed on the plastic and needs to be
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 entered as-is, but the pain of entering all those zeros in the middle is
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 eliminated.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 write-imsi full_digits
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 This command programs EF_IMSI with any arbitrary IMSI, which by spec may be 15
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 digits or shorter. 15-digit IMSIs are most common, but shorter ones are allowed
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 too, and this fc-simtool command provides mechanism rather than policy.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 write-imsi-sh shorthand-digits
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 This command programs EF_IMSI with a 15-digit IMSI that can be entered in
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 shorthand. For example, the following command:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 write-imsi-sh 90170-001
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 is equivalent to:
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 write-imsi 901700000000001
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 write-spn display_cond name
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 The display condition code is given in hex, the name field is given in the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 FreeCalypso standard ASCII representation for GSM7 strings defined in the
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 SIM-data-formats document in the freecalypso-docs repository.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 write-sst sst-file
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 This command writes the SIM Service Table (SST) from the specified data file.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 The data file needs to contain service numbers separated by white space, either
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 one per line or multiple numbers per line; '#' character introduces comments
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 which continue to the end of the line. If a service number is given with '^'
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 suffix, that service is indicated as allocated but not activated.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 pnn-write rec long-name [short-name]
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 This command writes a single EF_PNN record. The record index and the long name
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 must always be specified, the short name is optional. Network name fields are
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 given in the FreeCalypso standard ASCII representation for GSM7 strings.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 pnn-erase start-rec [end-rec]
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 This command erases (fills with all FF bytes) either a single record or a range
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 of records in EF_PNN. If only one argument is specified, only one record is
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 erased. To erase a range of records, the second argument may be either a number
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 or the "end" keyword. Use 'pnn-erase 1 end' to erase the entire EF_PNN.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 opl-write rec mcc-mnc start-lac end-lac pnn-index
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 This command writes a single EF_OPL record. rec is the EF_OPL record index to
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 write into, the remaining arguments give the content of the record exactly per
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 3GPP TS 51.011.
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 opl-erase start-rec [end-rec]
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 This command erases (fills with all FF bytes) either a single record or a range
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 of records in EF_OPL. If only one argument is specified, only one record is
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 erased. To erase a range of records, the second argument may be either a number
80fc2b2f83c2 doc: admin programming articles added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 or the "end" keyword. Use 'opl-erase 1 end' to erase the entire EF_OPL.