annotate doc/User-oriented-commands @ 74:8562d8508cf2

grcard2-set-{adm,super}-hex commands implemented It appears that GrcardSIM2 cards allow arbitrary 64-bit keys for ADM and SUPER ADM, not necessarily consisting of ASCII digits like the specs require for standard PIN and PUK, and pySim-prog.py in fact sets the ADM key to 4444444444444444 in hex by default, which is not an ASCII digit string. If the cards allow such keys, we need to support them too.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 16 Feb 2021 04:10:36 +0000
parents a56bbd6b0277
children 4558048fce10
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
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
127 sst
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
128
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
129 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
130 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
131 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
132 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
133 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
134 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
135 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
136
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
137 user-sum
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
138
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
139 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
140 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
141 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
142 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
143 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
144 (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
145 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
146 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
147 displayed.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
148
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 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
157 GSM7 encoding.
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
158
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
159 uicc-dir
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
160
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
161 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
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
170 Manipulating SIM phonebooks
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
171 ===========================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
172
69
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
173 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
174
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
175 * 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
176 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
177 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
178 many records or close to this limit.
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 * 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
181 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
182 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
183 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
184 called.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
185
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
186 * 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
187 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
188 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
189
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
190 * 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
191 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
192 esoteric services.
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
193
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
194 * 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
195 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
196 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
197 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
198 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
199 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
200 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
201 properties:
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
202
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
203 + 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
204 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
205 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
206
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
207 + 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
208 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
209 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
210
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
211 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
212 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
213 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
214
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
215 pb-dump PBNAME
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
216
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
217 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
218 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
219 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
220 repository.
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 pb-dump PBNAME outfile
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
223
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
224 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
225 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
226 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
227
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
228 pb-dump-rec PBNAME rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
229
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
230 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
231
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
232 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
233
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
234 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
235 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-update PBNAME filename
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 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
240 SIM-data-formats document and uploads it into the named SIM phonebook, writing
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
241 each record from the data file into the SIM with an UPDATE RECORD command.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
242
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
243 Please note that this command does NOT include a built-in erase of those SIM
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
244 phonebook record positions which are not covered by the data file being uploaded
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
245 - any non-blank records in those positions will retain their previous content.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
246
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
247 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
248
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
249 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
250 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
251 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
252 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
253 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
254
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
255 * 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
256
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
257 * 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
258 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
259 or to 0x81 otherwise;
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
260
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
261 * 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
262 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
263
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
264 * 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
265
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
266 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
267
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
268 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
269 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
270 UCS-2 alpha tags.
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 pb-erase PBNAME
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
273
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
274 This command fully erases the named phonebook.
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
275
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
276 pb-erase-one PBNAME rec
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
277
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
278 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
279
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
280 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
281
8dee7aa9ec58 doc/User-oriented-commands: phonebook commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 69
diff changeset
282 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
283 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
284 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
285
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
286 Last Number Dialed (LND)
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
287 ========================
d4058ae94749 doc/User-oriented-commands: started phonebook description
Mychaela Falconia <falcon@freecalypso.org>
parents: 65
diff changeset
288
71
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
289 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
290 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
291 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
292 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
293 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
294 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
295 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
296 history lists.
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
297
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
298 Because this LND store is a cyclic file, not linear fixed like phonebooks, it
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
299 can only be dumped - it cannot be freely edited. (The only update operation
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
300 allowed on cyclic files is writing a new record that becomes the new #1,
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
301 shifting all previous records down and losing the oldest one - but it is an
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
302 operation to be performed by phones if they support this LND as envisioned by
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
303 ancient spec writers, not something we are in the business of with fc-simtool.)
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
304
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
305 The command to dump the LND cyclic store is just 'dump-lnd'. If you have had
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
306 your SIM for a very long time, having used it in different phones with different
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
307 firmwares, it may be interesting to look at the output of dump-lnd - you may
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
308 have LND records that were generated ages ago by other phones if your current
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
309 one does not write into SIM LND.
a008f7a4bddf doc/User-oriented-commands: dump-lnd documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 70
diff changeset
310
65
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
311 Manipulating stored SMS
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
312 =======================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
313
72
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
314 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
315 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
316 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
317 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
318 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
319 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
320 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
321 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
322
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
323 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
324 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
325 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
326 Pirelli DP-L10 phone currently used by the Mother, implement their on-the-phone
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
327 SMS storage by a way of a file in their local flash file system whose binary
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
328 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
329 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
330 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
331 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
332 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
333 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
334 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
335 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
336 pcm-sms-decode do the rest.
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
337
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
338 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
339
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
340 save-sms-bin host-filename
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
341
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
342 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
343 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
344
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
345 sms-erase-all
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
346
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
347 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
348
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
349 sms-erase-one rec
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
350
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
351 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
352
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
353 sms-erase-range start-rec end-rec
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
354
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
355 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
356 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
357 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
358
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
359 Manipulating SMS parameters
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
360 ===========================
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
361
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
362 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
363 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
364 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
365
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
366 * 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
367 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
368 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
369 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
370 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
371 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
372 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
373 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
374 actual AT modem session with AT+CSMP.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
375
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
376 * 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
377 one-byte relative VP format.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
378
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
379 * 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
380 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
381 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
382
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
383 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
384
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
385 smsp-dump
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
386
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
387 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
388 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
389 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
390 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
391 functionality:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
392
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
393 #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
394 #2: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
395 #3: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
396 #4: ""
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
397
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
398 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
399
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
400 #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
401 #2: ""
72
54800d2f5752 doc/User-oriented-commands: SMS manipulation documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 71
diff changeset
402
73
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
403 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
404 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
405 (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
406 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
407 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
408 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
409 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
410 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
411
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
412 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
413 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
414 record:
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
415
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
416 DA= TP-Destination_Address
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
417 SC= TS-Service_Centre_Address
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
418 PID= TP-Protocol_Identifier
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
419 DCS= TP-Data_Coding_Scheme
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
420 VP= TP-Validity_Period
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
421
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
422 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
423 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
424 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
425 line, just like in pb-dump.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
426
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
427 smsp-dump outfile
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
428
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
429 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
430 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
431
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
432 smsp-restore filename
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 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
435 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
436 DCS= and VP= parameters.
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
437
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
438 smsp-set rec params
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
439
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
440 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
441 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
442 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
443 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
444 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
445 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
446
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
447 smsp-set-tag rec alpha-tag params
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 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
450
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
451 smsp-erase-all
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
452
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
453 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
454
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
455 smsp-erase-one rec
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
456
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
457 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
458
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
459 smsp-erase-range start-rec end-rec
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
460
a56bbd6b0277 doc/User-oriented-commands: smsp-* commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 72
diff changeset
461 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
462 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
463 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
464
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
465 Identifying MVNO SIMs
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
466 =====================
cc48ac3b151c doc/User-oriented-commands: basic info commands documented
Mychaela Falconia <falcon@freecalypso.org>
parents: 64
diff changeset
467