annotate doc/User-phone-tools @ 763:4eaad91f4d68

CHANGES: document rvinterf -b PID addition
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 02 Dec 2020 20:32:02 +0000
parents b5235f8240b9
children a43c5dc251dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 FreeCalypso User Phone Tools are a new software addition to the FreeCalypso
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 family. These tools are programs that run on a Unix host computer such as a
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 GNU/Linux PC or laptop and communicate with a FreeCalypso phone or modem via
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 the standard AT command interface, rather than any of the formerly proprietary
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 interfaces specific to TI's internal architecture. The following tools are
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 currently available:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 fcup-at Issues an arbitrary AT command given on the command line.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 fcup-settime Issues AT+CCLK command to the target to set its clock to the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 host computer's notion of local time.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 fcup-smdump Retrieves a dump of SMS records (received, sent or stored
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 messages) from the FC device's SMS storage (currently SIM
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 storage; ME storage may be implemented in the future),
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 optionally deleting them from the severely space-limited
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 SIM/ME storage afterward.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 fcup-smsend* Tools for sending outgoing SMS from a host computer through a
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 FreeCalypso phone or modem and/or writing such outgoing SMS
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 into the FC device's SMS storage.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 fcup-smwrite Debug and development tool: writes arbitrary message records
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 into the FC device's SMS storage (currently SIM storage) in any
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 of the possible 4 states, with arbitrary incoming or outgoing
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 SMS PDU content.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 Because these tools communicate with the target via standards-defined AT
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 commands, in theory they ought to work with any AT-command-speaking 3GPP phone
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 or modem and not just our own FreeCalypso. However, experience has shown that
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 in the case of the common proprietary implementations, practice does not match
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 theory: when I (Mychaela) tried these same AT commands against a random
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 off-the-shelf proprietary modem (Huawei E303 USB stick modem for 3G), the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 following problems were seen:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 * The essential AT+CMGL=4 command for retrieving the full set of SMS records
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 from SIM storage in PDU mode appears to be broken: all I got was a hang.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 Its text mode counterpart AT+CMGL="ALL" produces incomplete output.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 * Qualcomm/Huawei's implementation of the AT command interface does not allow
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 AT+CSCS to be set to "HEX"; our fcup-smdump implementation uses this setting
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 so that the phonebook names returned along with SMS PDUs in the +CMGL
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 responses can be parsed reliably no matter what weird characters they might
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 contain.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 * Setting AT+CSCS to "8859-1" is not supported either; this setting is used by
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 our fcup-smsend and fcup-smsendmult tools when sending in text mode.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 * Sending outgoing SMS with fcup-smsend in PDU mode (which does not touch
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 AT+CSCS) works in that the message goes out, but the tool complains afterward
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 because the echo after the ^Z is different from what our tools expect.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 Because of these quirks, our FC User Phone Tools officially work only with our
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 own FreeCalypso phones and modems, and are not expected to work against various
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 proprietary implementations. Let us not forget that the broken and buggy nature
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 of the common proprietary implementations is the very reason why we need
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 FreeCalypso in the first place.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 Target interface options
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 ========================
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 Our fcup-* tools can communicate with the AT-command-speaking target in one of
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 two ways:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 * The default is the standard AT command interface over a dedicated UART. As
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 of this writing, the only FreeCalypso device that provides a full-featured AT
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 command interface of this kind is our FCDEV3B modem, but the ultimate goal of
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 the project is to build our own end user phone handset (a Libre Dumbphone)
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 that will also provide a full-featured AT command interface on its USB port
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 via a built-in CP2102 or FT232R chip.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 * As a dirty hack, one can run FreeCalypso GSM fw on some alien hw targets,
449
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
73 currently Motorola C1xx and Pirelli DP-L10. In this hacked-up configuration
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 there is no dedicated UART available for a standard AT command interface, but
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 there is a hack that allows a limited subset of AT commands to be passed over
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 the RVTMUX binary packet interface provided by the running FreeCalypso GSM fw.
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
77 Our fcup-* tools can work with this alternate target interface option and
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
78 thereby support these crippled targets.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 The AT-over-RVTMUX mechanism was originally invented back in 2015 as a
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 development aid, and was never intended for production use or to support any
449
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
82 kind of end user functionality. One of the limitations of its original
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
83 incarnation was that the strings that are sent to ATI via this interface were
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
84 limited to 254 characters, whereas sending or writing SMS in hex format
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
85 requires longer strings. As of early 2019, this limitation has been lifted:
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
86 our Magnetite and Selenite firmwares from 20190109 onward support an extended
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
87 version of our AT-over-RVTMUX hack that allows longer strings to be sent in
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
88 pieces, and the present version of our FC User Phone Tools suite will send the
b1864e3f8fb4 CHANGES & doc/User-phone-tools: documented AT-over-RVT long strings
Mychaela Falconia <falcon@freecalypso.org>
parents: 388
diff changeset
89 strings it generates via this extended mechanism whenever they exceed the old
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
90 254 character limit. The new mechanism works correctly starting with the
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
91 20190128 firmware release for modem products and the 20190129 fw release for
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
92 Mot C1xx phones, thus when the present version of FC User Phone Tools is used
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
93 to communicate with our current firmwares, both target interface options provide
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
94 equivalent functionality on all supported targets.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 All fcup-* tools take the following common command line options for selecting
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 the AT command target interface:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 -B baud Valid only when -p is also given; selects a different baud rate
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 than the default 115200 bps.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 -n Dry run debug mode with no target interface at all: the AT
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 commands which would otherwise be sent to the target are simply
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 printed on stdout.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 -p ttyport Names the serial port to be used to talk to the target.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 -R Use the AT-over-RVTMUX interface instead of the standard AT
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 command interface over a dedicated UART.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 -X program Use the specified external program as the AT target
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 communication back-end; read the source code for the details.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 -R and -p options interact as follows:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 Neither -R The standard dedicated AT command interface is used;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 nor -p FC_GSM_DEVICE= environment variable needs to be set
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 to point to the serial port.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 -p only The standard dedicated AT command interface is used;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 the serial port is named with the -p option.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 -R only AT-over-RVTMUX interface is used; the fcup-* tool connects
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 to an already running rvinterf process.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 -R and -p AT-over-RVTMUX interface is used; a new rvinterf process
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 is launched to talk RVTMUX on the specified serial port.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 Retrieving and decoding stored SMS
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 ==================================
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 As of this writing, our current FreeCalypso GSM firmware supports only SIM
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 storage for SMS, i.e., there is no working mechanism currently for storing SMS
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 records (received and sent messages) in the phone's or modem's own flash file
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 system. The capacity of this SIM SMS storage is determined by the SIM issuer,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 but it is typically quite limited, on the order of 20 to 30 messages.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 The model adopted for FreeCalypso is that incoming (and possibly saved outgoing)
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 messages initially accumulate in the SIM storage as they come in, and then the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 user periodically transfers them to her larger host computer, simultaneously
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 deleting them from the SIM storage to reclaim the limited space. The retrieval
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 of stored SMS from FreeCalypso GSM devices is accomplished with our fcup-smdump
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
143 utility; like all SMS operations with the current tools+firmware combination,
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
144 this operation works exactly the same whether the FC GSM device offers a full-
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
145 featured AT command interface or only AT over RVTMUX. SMS retrieval is always
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
146 done in PDU mode, and the output from fcup-smdump contains raw SMS PDUs in the
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
147 form of long hex strings. A separate utility called sms-pdu-decode then does
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
148 what its name says.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 The intended mode of usage is something like this:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 fcup-smdump -d >> long-term-sms-log
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 The -d option to fcup-smdump tells it to delete the retrieved messages from the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 SIM or future ME storage; this option should only be used when the output is
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 redirected into some kind of longer-term storage. In the above model the file
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 named long-term-sms-log becomes what its name says as new messages retrieved
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 from the FC GSM device get added to it; the format will look like this:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 Received message:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 XXXXXX...
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 Received message:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 XXXXXX...
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 Sent message:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 XXXXXX...
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 Stored unsent message:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 XXXXXX...
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 Received message:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 XXXXXX...
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 Each of the "XXXXXX..." lines will be a long hex string giving an SMS PDU. The
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 idea is that the complete record of all received and sent messages should be
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 stored on the user's big computer in raw PDU form, rather than decoded, and the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 decoding utility sms-pdu-decode should be invoked by the user (with the message
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 log file as input) as needed for reading these messages.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 The message decoding utility sms-pdu-decode does its best to decode and show
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 everything without dropping any bits: in addition to the actual decoded message
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 characters and the From/To address (the "end user" content of the message), it
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 decodes and shows the SC address, the first octet, the MR octet for outgoing
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 messages, PID and DCS octets, the SC timestamp or the validity period fields,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 and the UDH bytes if present. However, some bits can still be lost in the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 decoding, which is why it is important to archive messages in the raw PDU form:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 * Padding bits used to round the From/To address and septet-based user data to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 an octet boundary and to round any UDH to a septet boundary are not decoded.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 * If the user data portion of the message is 8-bit or compressed data (per the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193 DCS octet), it is shown as a raw hex dump, which is lossless, but if it is
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 GSM7 or UCS-2 text (GSM 03.38 character encodings), the characters are
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 converted to the user's character set (plain ASCII only by default) for
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196 display, and some characters may not be displayable.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
198 Character sets and encodings
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 ----------------------------
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
200
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201 By default, sms-pdu-decode only emits 7-bit ASCII characters in its output; any
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 GSM7 or UCS-2 characters which fall outside of this plain ASCII repertoire are
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
203 displayed as the '?' error character and the presence of such decoding errors
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204 is indicated in the Length: header. This conservative default behaviour can be
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
205 modified as follows:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
206
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 -e option extends the potential output character repertoire from 7-bit ASCII to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 8-bit ISO 8859-1. Any 8859-1 high characters are emitted as single bytes,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209 i.e., are NOT encoded in UTF-8 - this option is intended for non-UTF-8
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 environments.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 -u option extends the potential output character repertoire to the entire Basic
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 Multilingual Plane of Unicode, and changes the output encoding to UTF-8.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 -h option causes the user data portion of every message to be displayed as a
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 raw hex dump; in the case of GSM7-encoded messages, this hex dump shows the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 unpacked septets.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219 Composing and sending outgoing SMS
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220 ==================================
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
222 When used in the default PDU mode (which now works on all targets with our
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
223 current firmware and tools), the primary SMS sending/writing tool fcup-smsend
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
224 offers the following capabilities:
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 * Sending outgoing messages in either GSM7 or UCS-2 encoding;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 * Sending either single or long (concatenated) SMS;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228 * Message body input in ASCII, ISO 8859-1 or UTF-8;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 * Message body input either on the command line or on stdin;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
230 * Any messages sent through this tool (single or concatenated) may be
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
231 multiline, i.e., may contain embedded newlines;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 * Messages sent in GSM7 encoding can contain ASCII characters [\]^ and {|}~
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 - the tool is smart enough to do the necessary escape encoding.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235 The default and preferred AT command interface mode for sending/writing SMS is
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 PDU mode, which works great when the GSM device provides a proper AT command
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237 interface. However, when a message of maximum or near-maximum length is being
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 submitted to the modem in PDU mode, the hex string that needs to be sent is
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
239 quite long, and at the time when our FC User Phone Tools were first designed
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
240 and written, our AT-over-RVTMUX mechanism could not handle such long strings.
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
241 Because we sought to have at least limited SMS sending and writing support for
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
242 crippled Motorola and Pirelli targets, we also implemented text mode support in
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
243 fcup-smsend and fcup-smsendmult, enabled with the -t option. In this text (-t)
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
244 mode the following restrictions apply:
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 * Only single SMS can be sent, not concatenated;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247 * Only GSM7-encoded messages can be sent, not UCS-2;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
248 * No multiline messages can be sent, i.e., no newlines in the message body;
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
249 * ASCII characters [\]^ and {|}~ won't be sent correctly - GSM 07.05 text mode
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
250 drops them.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
251
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
252 Now that we have extended our AT-over-RVTMUX mechanism to support longer strings
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
253 and gained full support for PDU mode on all targets, the above -t mode is no
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
254 longer necessary for any use case, as the default PDU mode is a proper superset
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
255 in functionality. However, support for this -t mode has been retained, as
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
256 removing software functionality for no good reason is not the way of FOSS.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258 The invokation syntax is as follows:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 fcup-smsend [options] dest-addr [message]
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 The destination address must be given on the command line; the address digits
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263 may be optionally followed by a comma and an address type byte, either decimal
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264 or hexadecimal with 0x prefix. The default address type is 0x91 if the number
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 begins with a '+' or 0x81 otherwise. If the message body is given on the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
266 command line, it must be given as a single argument; if no message body argument
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 is given, the message body will be read from stdin. Any trailing newlines are
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268 stripped before SMS encoding.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 The following options are supported, in addition to the common target interface
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 options listed earlier:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 -c Enables concatenated SMS. Concatenated SMS will be sent only
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274 if the message body exceeds 160 GSM7 or 70 UCS-2 characters,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
275 otherwise plain SMS will be sent whether -c is given or not -
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
276 but the -c option enables the possibility of sending
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277 concatenated SMS.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
278
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
279 -C refno Enables concatenated SMS like -c, but also explicitly sets the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
280 concatenated SMS reference number to be used. The number can
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
281 be either decimal or hexadecimal with 0x prefix.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
282
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
283 -q Concatenated SMS quiet mode. If -c is given without -q, the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
284 tool prints a message on stdout indicating whether the message
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
285 was sent as single or concatenated, and in how many parts.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286 -q suppresses this additional output.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
287
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
288 -t Use text mode instead of PDU mode on the AT command interface.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
289 This option is incompatible with -c and with -U, and introduces
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
290 other restrictions listed above.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
291
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
292 -u By default, if the message body input contains any 8-bit
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
293 characters, they are interpreted as ISO 8859-1. With -u they
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
294 are interpreted as UTF-8 instead. This option is only relevant
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
295 for GSM7 output encoding, and it is implemented by converting
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
296 the input first from UTF-8 to 8859-1, and then from 8859-1 to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
297 GSM7 - thus all UTF-8 input characters must fall into the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
298 8859-1 repertoire, and it is not currently possible to send
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
299 GSM7-encoded messages containing the few Greek letters or the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
300 Euro currency symbol allowed by GSM 03.38 encoding.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
301
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
302 -U Send message in UCS-2 encoding instead of GSM7. Any 8-bit
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
303 characters in the message body input are interpreted as UTF-8,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
304 and the entire Basic Multilingual Plane of Unicode is allowed.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
305
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
306 -w By default the outgoing message is sent out on the GSM network
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
307 with the AT+CMGS command. With this -w option, the message is
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
308 first written into SIM or future ME SMS storage with AT+CMGW,
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 then sent out on the GSM network with AT+CMSS.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 -W Write only, not send: the message is written into storage with
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 AT+CMGW and no further action is taken. The modem's +CMGW:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 responses with message storage indices are forwarded to stdout.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314 With this option the destination address argument can be a null
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 string or omitted altogether.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 Concatenated SMS reference numbers
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 ----------------------------------
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 Every concatenated SMS transmission needs a reference number, and this number
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 needs to increment from one concatenated SMS to the next, to help message
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 recipients sort out which is which. If the reference number is not given
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 explicitly with -C, fcup-smsend creates (opens with O_RDWR|O_CREAT) a file
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 named .concat_sms_refno in the invoking user's $HOME directory; automatically
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 incrementing reference numbers are maintained in this file. The initial seed
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 is an XOR of all bytes of the current time returned by gettimeofday(2),
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 followed by simple linear incrementing; these reference numbers do not need to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
328 be random in any kind of cryptographically secure sense.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
330 fcup-smsendmult
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 ===============
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333 As an alternative to sending concatenated SMS, one can use the fcup-smsendmult
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 utility to send several single (no UDH) messages in one batch. This utlity
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 supports both text and PDU modes (PDU mode is still the preferred default when
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 it can be used), and when PDU mode is used, it supports both GSM7 and UCS-2
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 output encodings just like fcup-smsend. The messages to be sent are read from
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338 stdin, and each input line produces a new message.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 The entire batch of messages can be sent to a single recipient, or each message
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341 in the batch can have its own individual destination address. If the
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342 destination address is given on the command line, each input line read from
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 stdin is just a message body; if no destination address is given on the command
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 line, each input line must have the following format:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346 <dest addr><white space><message body>
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
348 -t, -u, -U, -w and -W command line options are unchanged from fcup-smsend.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
349
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
350 This fcup-smsendmult method of sending batched SMS was originally envisioned as
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
351 an alternative to concatenated SMS for crippled hw targets that couldn't support
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
352 sending SMS in PDU mode, but that limitation has now been lifted. Because we
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
353 do not remove already-implemented functionality for no good reason, the tool
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
354 currently remains in search of new potential use cases.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 fcup-smsendpdu
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357 ==============
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 This utility sends out SMS PDUs that have been prepared externally; it only
450
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
360 works in PDU mode - originally it was limited to high-end FreeCalypso hardware
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
361 with a full AT command interface, but now we've got PDU mode working on all
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
362 targets. The PDUs to be sent out are read from stdin, one long hex string PDU
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
363 per line; one can send either a single message or a batch. Because the
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
364 destination address and all content details are encoded in the PDU, the tool
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
365 does not care if the messages are going to the same recipient or to different
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
366 recipients, nor does it care if they constitute a concatenated SMS transmission
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
367 or not. -w and -W options work the same way as in fcup-smsend and
b5235f8240b9 doc/User-phone-tools: update for SMS PDU mode working on all targets
Mychaela Falconia <falcon@freecalypso.org>
parents: 449
diff changeset
368 fcup-smsendmult.
388
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
369
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
370 fcup-smwrite
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
371 ============
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
372
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
373 This utility is a debug and development tool; it differs from fcup-smsendpdu in
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
374 the following ways:
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
375
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
376 * fcup-smsendpdu can send messages out with AT+CMGS, write them into memory
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
377 with AT+CMGW, or do a write-then-send sequence (-w option) with AT+CMGW
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
378 followed by AT+CMSS. fcup-smwrite only issues AT+CMGW commands.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
379
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
380 * fcup-smwrite passes a second argument to AT+CMGW that sets the message state
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
381 to any of the possible 4 values; fcup-smsend* -W put them in the "stored
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
382 unsent" state.
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
383
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
384 * The input to fcup-smsendpdu is just PDU hex strings; the input to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
385 fcup-smwrite needs to have the same format as fcup-smdump output in order to
3d45660f78f0 doc/User-phone-tools article written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
386 indicate what state each message should be written in.