FreeCalypso > hg > fc-sim-tools
annotate doc/Formatting-thoughts @ 59:10bfdee30a68
simtool/chvext.c: missing #include <stdlib.h>
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 23 Mar 2021 05:25:12 +0000 |
parents | a754d4f117cf |
children | 7c9a3130fb66 |
rev | line source |
---|---|
18
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Thoughts on card (re)formatting |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 =============================== |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 ETSI and 3GPP specs give many more degrees of freedom to SIM card issuers than |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 just the content of various EFs: the card issuer gets to decide which DFs and |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 EFs will be present vs. which ones won't be present at all, and for many EFs |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 the size (allocated space) is variable per the specs and up to the card issuer. |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 In the case of record-based EFs, both the record size and the number of records |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 are often left up to card issuers to tune as desired. |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 In the Mother's opinion, a truly programmable SIM would be one where every |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 downstream owner of each card (not just the initial factory or the party putting |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 up big bucks for a large custom production run) can do a full reformat: erase |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 the file system and then create whatever tree of DFs and EFs she desires, with |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 full control over each file's allocated size, structure and access conditions. |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
55
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
17 The problem, however, is that the people who work with big bucks and who control |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
18 SIM card manufacturing have taken away our community's ability to freely |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
19 reformat our programmable SIMs downstream of the factory. To the best of our |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
20 knowledge, there has only ever been one SIM card model in the entire history of |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
21 Osmocom community that supported downstream reformatting, and this model was |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
22 sysmoSIM-GR1: |
18
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 https://osmocom.org/projects/cellular-infrastructure/wiki/GrcardSIM |
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
55
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
26 But Grcard company no longer sells that original card model, and for their new |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
27 card model (GrcardSIM2, branded sysmoSIM-GR2 or FCSIM1) there is no published |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
28 documentation for how to erase the card file system and recreate it differently. |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
29 We can only guess that this ability probably exists, but Grcard people are |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
30 refusing to disclose the secret knowledge of how to do it unless we pay them |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
31 some ginormous sum of money. |
18
da6e9d0b2ee6
data, doc, scripts: import from previous fc-pcsc-tools repo
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
55
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
33 The current offering from Sysmocom (sysmoISIM-SJA2) does not fare any better in |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
34 this regard. These cards are natively UICC, and in the world of UICC there |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
35 exist partially standarized commands for creating and deleting files, defined in |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
36 ETSI TS 102 222. However, these commands are only partially standardized: the |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
37 ETSI spec gives the general principles and the command structure, but many of |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
38 the details as to exactly what needs to be put into the TLV structure fed to the |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
39 CREATE FILE command in order for that command to succeed constitute proprietary |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
40 knowledge. Our experiments with this CREATE FILE command on sysmoISIM-SJA2 were |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
41 unsuccessful. The only way how the file structure of Sysmocom cards would |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
42 become truly editable by end users would be if Sysmocom were to publish at least |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
43 one fully worked-out example of a real CREATE FILE command that creates some |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
44 dummy non-standard file just to prove it working, followed by a working example |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
45 of a DELETE FILE command that deletes this newly created file, restoring the |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
46 card to its original state. However, we reason that Sysmocom would probably be |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
47 willing to do this support work only if someone paid them for it on an hourly |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
48 support basis, or ordered a large custom batch of cards from them and required |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
49 this support knowledge as part of that deal - and we (FreeCalypso) are not |
a754d4f117cf
doc/Formatting-thoughts: new article,
Mychaela Falconia <falcon@freecalypso.org>
parents:
18
diff
changeset
|
50 currently in a position to pursue either of those two routes. |