FreeCalypso > hg > freecalypso-tools
annotate doc/SIM-manipulation @ 802:1c599681fd60
pcm-sms-decode & sms-pdu-decode: revamp bad char decoding
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 25 Mar 2021 02:58:30 +0000 |
parents | ccaa1319740c |
children |
rev | line source |
---|---|
798
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Using fc-simint and fc-simtool to manipulate SIM cards inside Calypso devices |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ============================================================================= |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 Starting with fc-host-tools-r15, our FreeCalypso host tools package includes a |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 new utility called fc-simint that works together with fc-simtool and other SIM |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 card manipulation tools maintained in the separate FC SIM tools package. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 fc-simint is not a standalone program - instead it is a front end to the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 hardware-agnostic fc-simtool main program. Therefore, fc-simint cannot be used |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 unless you install FC SIM tools (fc-simtool and its accessories) on the same |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 host machine where you are going to run fc-simint. As of this writing, our FC |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 SIM tools package has not yet reached the stage of first tarball release, hence |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 you will need to get it from the Hg repository: |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 https://www.freecalypso.org/hg/fc-sim-tools/ |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 FC SIM tools can be used by themselves (without FC host tools) if the objective |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 is to operate on a SIM card using a dedicated smart card reader/programmer |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 device. However, if the SIM card to be operated on sits inside a Calypso phone |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 or development board and you would like to poke at it without physically moving |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 it back and forth between that Calypso device and another card reader, then |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 fc-simint from the present package and fc-simtool from FC SIM tools work |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 together to accomplish this feat. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 Once you have both FC host tools and FC SIM tools fully and properly installed, |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 you are ready to run fc-simint. fc-simint works in exactly the same manner as |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 fc-loadtool (operates on the Calypso device, in this case the SIM interface |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 rather than the flash, while the regular firmware is shut down), and it needs |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 to be invoked in exactly the same way: simply change fc-loadtool to fc-simint. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 Some examples: |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 SIM card in a Mot C139/140 phone: fc-simint -h compal -c 1004 /dev/ttyUSBx |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 SIM card in a Pirelli DP-L10 phone: fc-simint -h pirelli /dev/ttyUSBx |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 SIM card in a FreeCalypso board: fc-simint -h fcfam /dev/ttyUSBx |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 If your USB-serial chip and the associated Linux kernel driver support |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 non-standard high baud rates, you can add a -B812500 option to the above command |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 lines to speed up the UART communication between fc-simint/fc-simtool on your |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 host machine and simagent on the Calypso. This speed-up option should always be |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 safe with Pirelli DP-L10 and with FreeCalypso hardware (official FT2232x adapter |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 boards), but the headset jack serial cables used with Mot C1xx phones are more |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 iffy. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 The phone's regular firmware needs to be shut down, and you need to execute the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 Calypso device's boot path. (For very advanced users, target boot control |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 options work exactly the same way as in fc-loadtool.) fc-simint will feed |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 simagent.srec to the Calypso boot ROM, simagent will run on the Calypso device, |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 and then fc-simint will command simagent to bring up the SIM interface. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 fc-simint will retrieve the SIM card's ATR from simagent, it will turn on speed |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 enhancement if the SIM supports it, and then all further control is passed to |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 fc-simtool. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 Once the control is passed to fc-simtool, you will see a simtool> prompt - |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 please refer to fc-simtool documentation in the FC SIM tools package for the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 available commands such as manipulating SIM PINs and phonebooks. Once you are |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 done poking at the SIM card, type "exit" at the simtool> prompt - when operating |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 in Calypso target mode, fc-simtool will issue a poweroff command to simagent |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 just like fc-loadtool, causing most Calypso devices to power off cleanly, or |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 causing the Pirelli DP-L10 phone to boot back into its regular firmware. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 Using fc-simtool batch mode via fc-simint |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 ========================================= |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 If your fc-simint invokation line has any additional arguments after the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 /dev/ttyXXX Calypso target pathname, these arguments are passed to fc-simtool, |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 causing it to operate in its batch mode instead of the default interactive |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 shell. However, given the logistics of operating on a Calypso device with its |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 regular firmware shut down, this batch mode of operation is expected to be |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 useful only in very unusual scenarios. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 Using fc-uicc-tool |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 ================== |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 There are two main tools in the FC SIM tools package: fc-simtool speaks the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 classic GSM 11.11 SIM protocol to the card, whereas fc-uicc-tool speaks the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 "enemy" UICC protocol. All currently existing Calypso phone and modem firmwares |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 (both our own FreeCalypso and historical proprietary ones) speak only the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 classic GSM 11.11 SIM protocol, hence if you are using a given SIM in a Calypso |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 phone or modem board, the expectation is that the card needs to support the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 classic GSM SIM application. For this reason, fc-simtool is the tool of primary |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 interest in this mode of usage, and it is the tool which fc-simint invokes by |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 default. In contrast, fc-uicc-tool is meant to be used primarily in lab |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 exploration settings, with the card under investigation inserted into a |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 dedicated smart card reader/programmer, not involving Calypso GSM devices or |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 fc-simint. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 However, if you have a special contrived use case where you would like to run |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 fc-uicc-tool on a SIM card that sits in a Calypso phone or other GSM device, you |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 can do so by adding a -T uicc option to your fc-simint invokation line. This |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 option will make fc-simint pass the control to fc-uicc-tool instead of |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 fc-simtool. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 Other fc-simint options |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 ======================= |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 fc-simint supports all command line options documented in the Loadtools-usage |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 article that are relevant to its operation. There are just two more options |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 that haven't been documented already: |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 -n |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 This option suppresses SIM speed enhancement. By default fc-simint |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 looks at the ATR TA1 byte to see if the SIM supports F=512 D=8 speed |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 enhancement (the only speed enhancement mode endorsed by the original |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 GSM SIM specs and supported by Calypso hardware), and requests this |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 speed enhancement mode if it is supported. -n option suppresses the |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 latter action, forcing the default slow speed mode (F=372 D=1) |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 regardless of ATR-indicated SIM capabilities. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 -v volt |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 The volt argument needs to be "1.8" or "3.0" ("3" is also accepted as an |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 alias for 3.0), selecting the voltage mode in which the SIM should be |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 powered up. 3.0 V mode (not 3.3 V!) is class B per the specs, 1.8 V |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 mode is class C. Class A is 5.0 V, but the Iota ABB chip in our Calypso |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 target devices (the chip responsible for SIM voltage supply and level |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 shifting) is new enough to not support that original class any more. |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 In the absence of a -v option, fc-simint currently uses 3.0 V mode by |
ccaa1319740c
doc/SIM-manipulation article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 default. |