annotate doc/User-oriented-commands @ 141:a1aa8ee2da85

read_hex_data_file(): add maxlen argument
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 24 Feb 2021 17:25:28 +0000
parents 5494795406e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 This document describes those commands and functions of fc-simtool which can be
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 exercised by end users on any regular operator-issued SIM, without requiring a
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 special programmable SIM with admin privileges. The Mother's plans for future
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 development include a companion fc-simint utility that will operate on SIM cards
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 inside Calypso phones; the intent is that all of the end-user-oriented commands
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 of fc-simtool described in this document will also be replicated in fc-simint.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 Understanding SIM PIN1
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 ======================
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 Every standard SIM card has a secret code called PIN1; this secret code can be
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 anywhere between 4 and 8 digits in length, with 4-digit PINs being most common.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 In terms of persistent non-volatile state, SIM PIN1 can be enabled or disabled.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 When SIM PIN1 is disabled, all regular functions of the card are enabled, as in
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 being able to power up the phone with the SIM in it and connect to the GSM
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 network with your subscriber identity, and being able to read and write SIM user
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 data content like phonebooks and stored messages - all of these functions are
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 enabled from the moment you turn on the phone with the SIM in it (or power the
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 SIM up by itself in a smart card "reader" driven by fc-simtool), without the
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 user ever being asked for a PIN, such that you can forget that the PIN even
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 exists - this situation in very common nowadays. But when SIM PIN1 is enabled,
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 the smart chip in the SIM will not allow you access to any of the data stored
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 on the card and will not allow any GSM authentication operations until and
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 unless you send the correct PIN to the SIM in the VERIFY CHV command.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 If you forgot your PIN1, the only way to reset it is to enter another secret
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 code (always 8 digits in length) called PUK1. If the SIM is made according to
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 standards, then its PUK1 is set to a random number during either physical
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 manufacturing or administrative programming of the card and then remains
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 unchangeable afterward. Therefore, in an ideal world if someone forgot their
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 PIN1 and don't have their PUK1 either, they should be able to obtain PUK1 from
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 the cellular operator who issued the SIM - but whether or not today's operators
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 will actually help such hapless users (without forcing them to get a new SIM)
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 is another question altogether. PUK1 is often printed on the big (credit-card-
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 sized) plastic piece on which SIM cards are initially delivered - but it doesn't
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 help if you originally got your SIM many ages ago and no longer have that
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 souvenir plastic piece.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 The standard protocol for communicating with SIM cards provides 5 special
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 commands that are dedicated to working with PIN1, and so does fc-simtool:
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 verify-pin1 XXXX
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 This command tells the SIM that you are attempting to prove knowledge
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 of PIN1, presenting a string of digits. If the PIN digits you specify match
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 the PIN1 secret code stored inside the SIM, the card unlocks access to its
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 primary functions. If the digits you send are wrong, the SIM decrements its
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 non-volatile attempt counter, giving you a total of 3 attempts (irrespective of
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 card power-downs between attempts) to enter the correct PIN. If PIN1 is entered
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 incorrectly 3 times in a row, this PIN is blocked, and the only way to unblock
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 it is via PUK1.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 enable-pin1 XXXX
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 This command changes the non-volatile state of the PIN1 enable/disable flag,
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 such that from now on the SIM will require PIN1 to be provided on every card
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 power-up before it will allow GSM authentication and access to user data. The
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 enable-pin1 operation itself requires correct PIN1 digits to be provided.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 disable-pin1 XXXX
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 This command changes the non-volatile state of the PIN1 enable/disable flag,
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 such that from now on the SIM will NOT require PIN1 to be provided on every
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 card power-up, and will instead be live immediately without needing proof of
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 card owner's identity. The disable-pin1 operation itself requires correct PIN1
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 digits to be provided.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 change-pin1 old-PIN new-PIN
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 This command tells the SIM that you wish to change PIN1 secret code to some new
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 digits. Knowledge of the old PIN1 is required for this operation to succeed.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 unblock-pin1 PUK1-secret-code new-PIN1
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 This command tells the SIM that you are attempting to prove knowledge
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 of PUK1 and to set new PIN1. If PUK1 is given correctly, the new PIN1 will be
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 set. If you enter wrong PUK1, the SIM decrements its non-volatile attempt
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 counter, giving you a total of 10 attempts (irrespective of card power-downs
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 between attempts) to enter the correct code. If PUK1 is entered incorrectly 10
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 times in a row, it is blocked and the card should be considered bricked beyond
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 recovery.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 Understanding SIM PIN2
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 ======================
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 GSM standards provide support for a very rarely used feature that works in the
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 spirit of "parental controls": if you authenticate to the SIM with PIN2 secret
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 code (which has to be different from PIN1 for meaningful security), you can
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 edit a SIM-resident list of so-called Fixed Dialing Numbers (FDN), and then all
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 standard phones that implement this feature per the spec will refuse to allow
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 ordinary users (authenticated with PIN1 or with no PIN at all) to call any
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 numbers other than those programmed in FDN.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 This whole "parental control" feature is totally silly and is not expected to be
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 of any practical use, but the whole purpose of fc-simtool is to allow every
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 feature of SIM cards to be exercised, hence we provide the necessary support.
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 The following commands work just like their PIN1 counterparts:
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 verify-pin2 XXXX
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 change-pin2 old-PIN new-PIN
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 unblock-pin2 PUK2-secret-code new-PIN2
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102
8cd4771bdd79 doc/User-oriented-commands: document started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 Unlike PIN1, PIN2 cannot be disabled per traditional SIM card standards.
65
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
104
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
105 Getting basic info from the SIM
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
106 ===============================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
107
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
108 The following commands are available for retrieving basic info from the SIM:
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
109
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
110 iccid
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
111
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
112 This command retrieves the ICCID (Integrated Circuit Card ID) record from the
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
113 SIM - it is a number of up to 20 digits (although 19-digit ICCIDs are most
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
114 common) that identifies the SIM card as a physical artifact. If your SIM is of
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
115 the traditional operator-issued kind, as opposed to a developer-oriented
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
116 programmable SIM from vendors like Sysmocom who have different ideas, this ICCID
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
117 will usually be the SIM card ID number printed on the physical plastic, along
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
118 with a barcode representation of the same number.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
119
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
120 imsi
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
121
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
122 This command retrieves the IMSI (International Mobile Subscriber Identity) from
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
123 the SIM - it is the most fundamental ID token by which GSM phones present
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
124 themselves to networks, and they even use the first 5 or 6 digits of the IMSI
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
125 to decide which network they should try connecting to first.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
126
136
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
127 It should also be noted that if your SIM has FDN (Fixed Dialing Numbers) enabled
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
128 and the card implements GSM SIM specs to the letter, including the idiotic
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
129 parts, then you will need to issue a rehab-imsi command before you can read the
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
130 IMSI record - see the FDN section further in this document.
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
131
65
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
132 sst
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
133
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
134 Every SIM card is required to have an essential data record (an EF in technical
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
135 terms) called the SIM Service Table, or SST. This SST indicates which services
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
136 are allocated and activated on the given SIM. Our sst command lists all
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
137 allocated service numbers, listing just a plain number if the service is both
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
138 allocated and activated (the usual case), or a number with a '^' suffix if the
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
139 service is allocated but not activated. You will need to look in the 3GPP TS
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
140 51.011 spec to make sense of these service numbers.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
141
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
142 user-sum
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
143
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
144 This command displays a user-friendly summary of user-oriented services present
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
145 on the SIM. It reads SST to get the list of available and activated services,
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
146 but it considers only user-oriented ones (as opposed to SIM services dealing
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
147 with GSM network functions or serving operators' interests rather than users'),
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
148 and it displays them in a user-friendly manner. For each present SIM phonebook
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
149 (ADN, FDN, SDN) and for the SMS store, user-sum displays the storage capacity
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
150 provided by the SIM (number of phonebook entries or messages), and for each of
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
151 the various phonebooks, the allocated number of alpha tag bytes is also
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
152 displayed.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
153
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
154 The number of bytes allocated for the alpha tag in SIM phonebooks determines
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
155 the maximum length of the name field in each phonebook entry. These name fields
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
156 can be written either in GSM7 encoding (GSM 03.38 aka 3GPP 23.038) or in UCS-2;
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
157 when GSM7 encoding is used, no SMS-style septet packing is applied - instead the
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
158 high bit of each byte is simply cleared. Therefore, the maximum number of
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
159 characters in a phonebook entry name field usually equals the number of bytes
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
160 allocated for the alpha tag on the SIM, except for names containing ASCII
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
161 characters [\]^ and {|}~ which get expanded to 2-character escape sequences in
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
162 GSM7 encoding.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
163
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
164 uicc-dir
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
165
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
166 If your SIM card functions not only as a classic GSM 11.11 SIM, but also as a
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
167 UICC with USIM/ISIM or other UICC-based applications, it will have a file named
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
168 EF_DIR in its file system, listing those applications. fc-simtool uicc-dir
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
169 command dumps the content of this file in a human-readable form - but please
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
170 note that fc-simtool only speaks the classic GSM 11.11 protocol to the SIM, and
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
171 not the UICC protocol. EF_DIR does not officially exist in the classic GSM SIM
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
172 spec, hence the dir command in fc-uicc-tool (speaking the UICC protocol) is the
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
173 official way to read and dump the content of EF_DIR.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
174
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
175 Manipulating SIM phonebooks
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
176 ===========================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
177
69
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
178 GSM SIM specs allow for several different phonebooks to be present on the card:
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
179
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
180 * ADN (Abbreviated Dialing Numbers) is the main SIM phonebook. Each SIM card
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
181 issuer decides how much storage space they allocate to ADN (how many records);
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
182 the SIM spec maximum is 254 records, and many issuers' SIMs do provide this
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
183 many records or close to this limit.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
184
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
185 * FDN (Fixed Dialing Numbers) is the "parental control" phonebook. The FDN
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
186 phonebook can only be written to after authenticating with PIN2, and when it
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
187 is enabled (enabling FDN is done by "invalidating" ADN, an operation which
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
188 also requires PIN2), spec-compliant phones allow only numbers in FDN to be
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
189 called.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
190
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
191 * SDN (Service Dialing Numbers) is a service-provider-controlled phonebook: it
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
192 can only be written if you have special admin privileges (ADM authentication
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
193 method is card-vendor-dependent), and it is read-only to ordinary users.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
194
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
195 * MBDN (Mailbox Dialing Numbers) is a late addition to GSM SIM specs - it is a
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
196 special phonebook that stores the number for Voice Mail and other related
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
197 esoteric services.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
198
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
199 * MSISDN is a phonebook-like file that stores the subscriber's own phone
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
200 number(s). Most classic GSM phones have a menu command for showing your own
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
201 number, usually called "My number" or something like that; this menu command
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
202 displays the first record stored in the MSISDN phonebook. Most network
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
203 operators update this MSISDN record over the air (using special SMS-encoded
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
204 commands) when you activate service or get a new phone number without changing
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
205 your SIM, but this MSISDN store in the SIM also has some interesting
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
206 properties:
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
207
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
208 + Per the spec the MSISDN phonebook is writable by ordinary users, not just
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
209 admins, and the Mother's experience with real T-Mobile SIMs is that they do
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
210 indeed allow the user to write anything into MSISDN.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
211
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
212 + Most SIM card issuers allocate multiple records for MSISDN, not just one.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
213 It is not clear if ordinary end user phones would do anything useful with
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
214 the extra records if one were to write something there.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
215
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
216 fc-simtool provides a unified set of commands and data formats for working with
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
217 all SIM phonebooks: all pb-* commands take the name of the phonebook to be
70
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
218 operated on as their first argument. The following commands are available:
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
219
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
220 pb-dump PBNAME
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
221
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
222 This command dumps the full content of the selected phonebook on the terminal.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
223 The data format for representing SIM phonebook content in UNIX-based text files
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
224 and dumps is described in the SIM-data-formats document in the freecalypso-docs
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
225 repository.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
226
135
49f259cdb39e doc/User-oriented-commands: update for output redirection
Mychaela Falconia <falcon@freecalypso.org>
parents: 98
diff changeset
227 pb-dump PBNAME > outfile
70
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
228
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
229 This form of the pb-dump command dumps the full content of the selected
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
230 phonebook, but saves it in the named file instead of sending it to the terminal.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
231 This form is ideal for making backups of large SIM phonebooks.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
232
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
233 pb-dump-rec PBNAME rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
234
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
235 This command dumps a single record from a potentially large phonebook.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
236
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
237 pb-dump-rec PBNAME start-rec end-rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
238
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
239 This command dumps the specified range of records from a potentially large
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
240 phonebook.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
241
89
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
242 pb-restore PBNAME filename
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
243
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
244 This command reads a phonebook data file in the format described in the
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
245 SIM-data-formats document and uploads it into the named SIM phonebook. Every
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
246 record in the SIM phonebook is overwritten with an UPDATE RECORD command; those
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
247 record indices which do not appear in the data file being restored get blank
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
248 records (0xFF in every byte) written into them.
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
249
70
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
250 pb-update PBNAME filename
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
251
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
252 This command reads a phonebook data file in the format described in the
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
253 SIM-data-formats document and uploads it into the named SIM phonebook, writing
89
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
254 only those record indices which appear in the data file - each record from the
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
255 data file gets written into the SIM with an UPDATE RECORD command, while all
629be330f92b doc/User-oriented-commands: pb-restore documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
256 other record locations remain untouched.
70
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
257
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
258 pb-update-imm PBNAME rec phone-number [alpha-tag]
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
259
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
260 This command writes a single phonebook entry directly from the command line,
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
261 without going through a data file. The specific record index to write into must
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
262 always be specified (there is no built-in "find first empty record" function),
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
263 and the entry format for both the phone number and the alpha tag is more relaxed
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
264 compared to the very strict format required in data files:
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
265
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
266 * The phone number can begin with a '+' character for international format;
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
267
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
268 * The comma-separated TON/NPI byte is optional and will usually be omitted in
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
269 ordinary usage - this byte will default to 0x91 if the number begins with '+'
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
270 or to 0x81 otherwise;
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
271
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
272 * Double-quotes around the alpha tag argument are required only if it contains
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
273 spaces or other problematic characters, and can be omitted otherwise;
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
274
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
275 * If the alpha tag is empty, the last argument can be omitted altogether.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
276
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
277 pb-update-imm-hex PBNAME rec phone-number alpha-tag-hex
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
278
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
279 This command is like pb-update-imm, but the alpha tag argument (required for
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
280 this command) is given in hex - intended for creating phonebook entries with
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
281 UCS-2 alpha tags.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
282
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
283 pb-erase PBNAME
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
284
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
285 This command fully erases the named phonebook.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
286
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
287 pb-erase-one PBNAME rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
288
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
289 This command erases the specified individual record in the named phonebook.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
290
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
291 pb-erase-range PBNAME start-rec end-rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
292
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
293 This command erases the specified range of records in the named phonebook. The
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
294 starting record must be identified by number (SIM record numbers are 1-based);
73
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
295 the ending record argument may be either a number or the "end" keyword.
69
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
296
136
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
297 Enabling and disabling FDN
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
298 ==========================
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
299
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
300 The Fixed Dialing Numbers (FDN) mechanism is normally disabled. The protocol
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
301 prescribed by GSM SIM specs is that FDN is enabled when the regular ADN
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
302 phonebook is invalidated, and is disabled (unrestricted dialing allowed)
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
303 otherwise. fc-simtool provides commands for invalidating and rehabilitating
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
304 ADN, thereby enabling and disabling FDN:
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
305
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
306 inval-adn
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
307
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
308 This command invalidates ADN and thereby enables FDN.
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
309
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
310 rehab-adn
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
311
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
312 This command rehabilitates ADN and thereby disables FDN.
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
313
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
314 The SIM will only allow inval-adn and rehab-adn operations after you have
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
315 successfully authenticated with PIN2 - see verify-pin2 command description.
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
316
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
317 GSM SIM specs also stipulate a certain hack to prevent FDN-ignorant phones from
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
318 making "forbidden" unrestricted calls: the specs stipulate that when a SIM
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
319 powers up in an FDN-enabled state (ADN is invalidated), the "smart" logic in
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
320 the SIM invalidates two essential files EF_IMSI and EF_LOCI (needed for GSM
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
321 operation), requiring the phone (ME) to rehabilitate these two files at the
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
322 beginning of every SIM session when FDN is in use. The thinking must have been
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
323 that if a given ME knows how to do these extra rehab-imsi, rehab-loci steps,
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
324 then it also knows about FDN and will honor it. Our answer: OK, whatever - but
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
325 we do provide rehab-imsi and rehab-loci commands in fc-simtool. These
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
326 operations require only CHV1 access, thus PIN1 or no PIN at all depending on
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
327 whether or not PIN1 is enabled - no need for PIN2.
5494795406e0 doc/User-oriented-commands: FDN enable/disable documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 135
diff changeset
328
69
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
329 Last Number Dialed (LND)
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
330 ========================
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
331
71
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
332 Traditional SIMs include a cyclic file that is intended to be updated whenever
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
333 an outgoing call is dialed - but it is up to individual phone designs whether
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
334 they actually update this LND cyclic store or not. This SIM LND store has the
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
335 same record format as phonebooks, carrying only phone numbers and optional alpha
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
336 tags - there are no fields for date & time, call duration or status as in call
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
337 answered or not. Because of the limitations of this SIM LND store, most phone
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
338 designs do not use it, and instead go with their own implementation of call
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
339 history lists.
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
340
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
341 Because this LND store is a cyclic file, not linear fixed like phonebooks, it
90
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
342 does not allow random access writes: it allows random access reads like all
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
343 regular record-based files, but the only write operation allowed by the SIM
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
344 interface protocol and the SIM file system architecture is writing a new record
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
345 that becomes the new #1, shifting all previous records down and losing the
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
346 oldest one. Because of this write access limitation, we do not provide the same
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
347 set of operations on LND as for regular phonebooks - but we still provide good
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
348 tinkering ability. The following commands are available:
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
349
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
350 lnd-dump
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
351
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
352 This command dumps the content of the LND store on the terminal, in the same
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
353 format as pb-dump for regular phonebooks.
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
354
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
355 If you have had your SIM for a very long time, having used it in different
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
356 phones with different firmwares, it may be interesting to look at the output of
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
357 lnd-dump - you may have LND records that were generated ages ago by other
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
358 phones if your current one does not write into SIM LND.
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
359
135
49f259cdb39e doc/User-oriented-commands: update for output redirection
Mychaela Falconia <falcon@freecalypso.org>
parents: 98
diff changeset
360 lnd-dump > outfile
71
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
361
90
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
362 This form of the lnd-dump command produces the same dump format, but saves it
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
363 in the named file instead of sending it to the terminal.
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
364
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
365 lnd-restore filename
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
366
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
367 This command reads the named phonebook data file (presumably written previously
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
368 with lnd-dump) and writes it into EF_LND on the SIM. This command works by
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
369 first constructing a full binary image of the desired EF_LND content, then
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
370 writing every record in the reverse order from the last index to the first.
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
371
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
372 lnd-write phone-number [alpha-tag]
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
373
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
374 This command writes a new record into the LND cyclic store just like a standard
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
375 phone would do when making a record of a new outgoing call. The two arguments
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
376 (one required and one optional) are the same as for pb-update-imm.
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
377
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
378 lnd-erase
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
379
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
380 This command erases the EF_LND cyclic store, making it appear as if no outgoing
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
381 calls have ever been recorded. It works by writing a blank record (0xFF in
8a714fe98aa9 doc/User-oriented-commands: new lnd-* commands
Mychaela Falconia <falcon@freecalypso.org>
parents: 89
diff changeset
382 every byte) N times, where N is the size of the cyclic store in records.
71
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
383
65
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
384 Manipulating stored SMS
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
385 =======================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
386
72
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
387 The fundamental operating model of all message stores for SMS (whether SIM or
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
388 phone-based) is that received messages accumulate (and possibly sent ones too,
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
389 if they are stored in this manner), the limited available memory fills up, and
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
390 then the user needs to clean out the accumulated messages, preferably also
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
391 archiving them by transferring to a larger computer for longer-term storage.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
392 Given this fundamental operating model, we only need to provide commands for
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
393 dumping the content of the message store and for cleaning it out - there is no
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
394 real need to implement commands for writing messages into the store.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
395
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
396 The extent of special support for the SIM SMS store in fc-simtool is rather
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
397 minimal because it just so happened that we already have external tools that do
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
398 a major part of the work. Some phone firmwares, particularly that of the
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
399 Pirelli DP-L10 phone currently used by the Mother, implement their on-the-phone
97
d924e4b1387f doc/User-oriented-commands: grammar fix
Mychaela Falconia <falcon@freecalypso.org>
parents: 90
diff changeset
400 SMS storage by way of a file in their local flash file system whose binary
72
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
401 format just happens to be exactly the same as the binary format of SIM-based
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
402 EF_SMS if all 176-byte records are simply abutted together in the host-based
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
403 binary representation. A few release cycles ago we added a new utility named
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
404 pcm-sms-decode to our FreeCalypso host tools suite; this utility reads a binary
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
405 file in this "EF_SMS records concat" format and performs the quite involved job
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
406 of fully decoding all messages into human-readable form. Given that we have
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
407 this external pcm-sms-decode utility, all we need to do in fc-simtool is save
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
408 all records of EF_SMS into a single concatenated binary file, and let
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
409 pcm-sms-decode do the rest.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
410
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
411 Our dedicated commands for working with the SIM SMS store are as follows:
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
412
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
413 save-sms-bin host-filename
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
414
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
415 This command saves the full content of EF_SMS in the named file in the host file
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
416 system in binary format, suitable for further decoding with pcm-sms-decode.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
417
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
418 sms-erase-all
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
419
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
420 This command erases every record entry in EF_SMS.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
421
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
422 sms-erase-one rec
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
423
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
424 This command erases the specified individual record in EF_SMS.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
425
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
426 sms-erase-range start-rec end-rec
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
427
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
428 This command erases the specified range of records in EF_SMS. The starting
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
429 record must be identified by number (SIM record numbers are 1-based); the
73
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
430 ending record argument may be either a number or the "end" keyword.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
431
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
432 Manipulating SMS parameters
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
433 ===========================
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
434
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
435 SIM cards have an SMS parameter store in the form of record-based file EF_SMSP.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
436 Its most essential function is to specify the Service Centre Address for
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
437 outgoing SMS, but it can also be put to a few other uses:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
438
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
439 * The primary SMSP record that gives the SC address also typically includes PID
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
440 and DCS parameters. The only sensible settings that can function as a
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
441 general-purpose default are PID=0x00 and DCS=0x00, but some SIMs have been
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
442 seen in the field that set bogus PID and DCS via their SMSP. It appears that
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
443 most end user phones ignore these settings, and they have no effect when
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
444 outgoing SMS are submitted to an AT command modem in PDU mode, but these
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
445 settings do affect our TI-based AT command modem in text mode - if they are
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
446 bogus on the SIM, they need to be fixed, either with fc-simtool or in the
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
447 actual AT modem session with AT+CSMP.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
448
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
449 * The same primary SMSP record can also specify a default validity period in
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
450 one-byte relative VP format.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
451
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
452 * Just like the situation with MSISDN, even though only the first record of
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
453 EF_SMSP is used in practice, most SIM issuers allocate room for a few records.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
454 These extra SMSP records are almost always blank,
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
455
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
456 fc-simtool provides the following commands for working with EF_SMSP:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
457
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
458 smsp-dump
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
459
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
460 This command dumps the full content of EF_SMSP (all records) on the terminal,
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
461 using a lossless text-based format similar to the one we use for phonebooks.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
462 To illustrate our smsp format by way of examples, here is the output of
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
463 smsp-dump from old T-Mobile USA SIMs that have classic GSM 11.11 SIM
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
464 functionality:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
465
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
466 #1: SC=12063130004,0x91 PID=0x00 DCS=0x00 "T-Mobile"
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
467 #2: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
468 #3: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
469 #4: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
470
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
471 Here is the output from an Austrian S-Budget Mobile SIM from circa-2017:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
472
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
473 #1: SC=4365009000000,0x91 PID=0xFF DCS=0xFF VP=173 ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
474 #2: ""
72
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
475
73
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
476 As one can see from these examples, T-Mobile allocated 4 records for their
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
477 EF_SMSP, whereas S-Budget Mobile allocated only 2 records for theirs.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
478 (Sysmocom webshop SIMs sysmoUSIM-SJS1 and sysmoISIM-SJA2 also have 2 records in
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
479 their EF_SMSP.) Yet only the first record is actually used, and the remaining
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
480 ones are blank. Note that unlike pb-dump, smsp-dump does not skip blank
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
481 records: it displays every record (the design rationale is that the total number
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
482 of EF_SMSP records is expected to be small), and a blank record is simply one
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
483 that has no parameters present and has an empty alpha tag.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
484
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
485 The following parameters may be present in each SMSP record, appearing in the
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
486 smsp-dump output in the same order in which they appear in the SIM binary
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
487 record:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
488
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
489 DA= TP-Destination_Address
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
490 SC= TS-Service_Centre_Address
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
491 PID= TP-Protocol_Identifier
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
492 DCS= TP-Data_Coding_Scheme
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
493 VP= TP-Validity_Period
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
494
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
495 The phone numbers in DA= and SC= parameters are emitted in the same format as
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
496 in pb-dump, PID= and DCS= are emitted in hexadecimal with a 0x prefix, and VP=
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
497 is emitted in decimal. The alpha tag is always emitted at the end of the ASCII
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
498 line, just like in pb-dump.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
499
135
49f259cdb39e doc/User-oriented-commands: update for output redirection
Mychaela Falconia <falcon@freecalypso.org>
parents: 98
diff changeset
500 smsp-dump > outfile
73
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
501
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
502 This form of the smsp-dump command produces the same dump of EF_SMSP, but saves
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
503 it in the named file instead of sending it to the terminal.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
504
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
505 smsp-restore filename
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
506
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
507 This command reads a file written by smsp-dump and writes it back to the SIM.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
508 Both decimal and 0x-prefixed hexadecimal forms are accepted for all 3 of PID=,
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
509 DCS= and VP= parameters.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
510
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
511 smsp-set rec params
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
512
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
513 This command writes a single record into SMSP directly from the command line,
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
514 without going through a data file. The record index to write to must be given,
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
515 followed by one or more parameters as in DA=, SC=, PID=, DCS= or VP=. DA= and
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
516 SC= phone numbers can be entered in the same relaxed form as in the
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
517 pb-update-imm command, and the remaining 3 parameters can be either decimal or
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
518 0x-prefixed hexadecimal. This command leaves the alpha tag field blank.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
519
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
520 smsp-set-tag rec alpha-tag params
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
521
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
522 This command is just like smsp-set, but adds an alpha tag argument.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
523
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
524 smsp-erase-all
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
525
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
526 This command erases every record entry in EF_SMSP.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
527
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
528 smsp-erase-one rec
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
529
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
530 This command erases the specified individual record in EF_SMSP.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
531
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
532 smsp-erase-range start-rec end-rec
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
533
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
534 This command erases the specified range of records in EF_SMSP. The starting
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
535 record must be identified by number (SIM record numbers are 1-based); the
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
536 ending record argument may be either a number or the "end" keyword.
65
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
537
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
538 Identifying MVNO SIMs
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
539 =====================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
540
98
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
541 Many SIMs, particularly those from MVNOs, are programmed by their issuers to
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
542 cause phones to display the name of the MVNO or some other party rather than
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
543 the standard PLMN name decoded from the connected network's MCC-MNC. This
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
544 "personalization" programming can appear in EF_SPN (old style) or in EF_PNN and
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
545 EF_OPL (newer style). fc-simtool provides commands to display the content of
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
546 these SIM files in human-readable form:
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
547
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
548 spn
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
549 pnn-dump
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
550 opl-dump
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
551
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
552 These commands take no arguments, and their human-readable output is not
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
553 explained in detail here. If you need to understand the meaning of various
6ba14a9247d2 doc/User-oriented-commands: spn, pnn-dump and opl-dump documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 97
diff changeset
554 fields in detail, please refer to 3GPP TS 51.011.