FreeCalypso > hg > freecalypso-tools
comparison doc/User-phone-tools @ 450:b5235f8240b9
doc/User-phone-tools: update for SMS PDU mode working on all targets
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 07 Feb 2019 21:22:27 +0000 |
parents | b1864e3f8fb4 |
children | a43c5dc251dc |
comparison
equal
deleted
inserted
replaced
449:b1864e3f8fb4 | 450:b5235f8240b9 |
---|---|
72 * As a dirty hack, one can run FreeCalypso GSM fw on some alien hw targets, | 72 * As a dirty hack, one can run FreeCalypso GSM fw on some alien hw targets, |
73 currently Motorola C1xx and Pirelli DP-L10. In this hacked-up configuration | 73 currently Motorola C1xx and Pirelli DP-L10. In this hacked-up configuration |
74 there is no dedicated UART available for a standard AT command interface, but | 74 there is no dedicated UART available for a standard AT command interface, but |
75 there is a hack that allows a limited subset of AT commands to be passed over | 75 there is a hack that allows a limited subset of AT commands to be passed over |
76 the RVTMUX binary packet interface provided by the running FreeCalypso GSM fw. | 76 the RVTMUX binary packet interface provided by the running FreeCalypso GSM fw. |
77 Our fcup-* tools can work with such targets to a limited extent. | 77 Our fcup-* tools can work with this alternate target interface option and |
78 thereby support these crippled targets. | |
78 | 79 |
79 The AT-over-RVTMUX mechanism was originally invented back in 2015 as a | 80 The AT-over-RVTMUX mechanism was originally invented back in 2015 as a |
80 development aid, and was never intended for production use or to support any | 81 development aid, and was never intended for production use or to support any |
81 kind of end user functionality. One of the limitations of its original | 82 kind of end user functionality. One of the limitations of its original |
82 incarnation was that the strings that are sent to ATI via this interface were | 83 incarnation was that the strings that are sent to ATI via this interface were |
84 requires longer strings. As of early 2019, this limitation has been lifted: | 85 requires longer strings. As of early 2019, this limitation has been lifted: |
85 our Magnetite and Selenite firmwares from 20190109 onward support an extended | 86 our Magnetite and Selenite firmwares from 20190109 onward support an extended |
86 version of our AT-over-RVTMUX hack that allows longer strings to be sent in | 87 version of our AT-over-RVTMUX hack that allows longer strings to be sent in |
87 pieces, and the present version of our FC User Phone Tools suite will send the | 88 pieces, and the present version of our FC User Phone Tools suite will send the |
88 strings it generates via this extended mechanism whenever they exceed the old | 89 strings it generates via this extended mechanism whenever they exceed the old |
89 254 character limit. However, please be aware that FC firmware for Mot C1xx | 90 254 character limit. The new mechanism works correctly starting with the |
90 phones is still a purely unsupported offering for the sake of the community, it | 91 20190128 firmware release for modem products and the 20190129 fw release for |
91 is NOT our main project direction, and this fw configuration does *not* receive | 92 Mot C1xx phones, thus when the present version of FC User Phone Tools is used |
92 the same level of development support and testing as our FCDEV3B modem product. | 93 to communicate with our current firmwares, both target interface options provide |
93 A test of SMS sending functionality via the newly extended AT-over-RVTMUX | 94 equivalent functionality on all supported targets. |
94 interface on a Mot C139 phone using our current (as of this writing) 20190109 | |
95 firmware revealed that something is still broken, and we do not currently have | |
96 a business case to justify allocating more developer time to investigate those | |
97 issues. In contrast, our FCDEV3B modem running our current 20190112 firmware | |
98 is rock solid, and all SMS functions work flawlessly going through the standard | |
99 AT command interface on the dedicated UART. | |
100 | 95 |
101 All fcup-* tools take the following common command line options for selecting | 96 All fcup-* tools take the following common command line options for selecting |
102 the AT command target interface: | 97 the AT command target interface: |
103 | 98 |
104 -B baud Valid only when -p is also given; selects a different baud rate | 99 -B baud Valid only when -p is also given; selects a different baud rate |
143 The model adopted for FreeCalypso is that incoming (and possibly saved outgoing) | 138 The model adopted for FreeCalypso is that incoming (and possibly saved outgoing) |
144 messages initially accumulate in the SIM storage as they come in, and then the | 139 messages initially accumulate in the SIM storage as they come in, and then the |
145 user periodically transfers them to her larger host computer, simultaneously | 140 user periodically transfers them to her larger host computer, simultaneously |
146 deleting them from the SIM storage to reclaim the limited space. The retrieval | 141 deleting them from the SIM storage to reclaim the limited space. The retrieval |
147 of stored SMS from FreeCalypso GSM devices is accomplished with our fcup-smdump | 142 of stored SMS from FreeCalypso GSM devices is accomplished with our fcup-smdump |
148 utility; unlike SMS sending/writing, this operation works exactly the same | 143 utility; like all SMS operations with the current tools+firmware combination, |
149 whether the FC GSM device offers a full-featured AT command interface or only | 144 this operation works exactly the same whether the FC GSM device offers a full- |
150 AT over RVTMUX. SMS retrieval is always done in PDU mode, and the output from | 145 featured AT command interface or only AT over RVTMUX. SMS retrieval is always |
151 fcup-smdump contains raw SMS PDUs in the form of long hex strings. A separate | 146 done in PDU mode, and the output from fcup-smdump contains raw SMS PDUs in the |
152 utility called sms-pdu-decode then does what its name says. | 147 form of long hex strings. A separate utility called sms-pdu-decode then does |
148 what its name says. | |
153 | 149 |
154 The intended mode of usage is something like this: | 150 The intended mode of usage is something like this: |
155 | 151 |
156 fcup-smdump -d >> long-term-sms-log | 152 fcup-smdump -d >> long-term-sms-log |
157 | 153 |
221 unpacked septets. | 217 unpacked septets. |
222 | 218 |
223 Composing and sending outgoing SMS | 219 Composing and sending outgoing SMS |
224 ================================== | 220 ================================== |
225 | 221 |
226 [2019 update: this section has not yet been updated for the new reality that | 222 When used in the default PDU mode (which now works on all targets with our |
227 sending maximum-length SMS in PDU mode over RVTMUX is now possible, but please | 223 current firmware and tools), the primary SMS sending/writing tool fcup-smsend |
228 see the earlier notes about this functionality still not working quite right | 224 offers the following capabilities: |
229 when tested on a Mot C139 phone. Until further updates, please stick to using | |
230 PDU mode over the classic AT command channel over the dedicated UART on | |
231 FCDEV3B hardware.] | |
232 | |
233 When used with a FreeCalypso GSM device that offers the full AT command | |
234 interface (currently only the FCDEV3B modem), the primary SMS sending/writing | |
235 tool fcup-smsend offers the following capabilities: | |
236 | 225 |
237 * Sending outgoing messages in either GSM7 or UCS-2 encoding; | 226 * Sending outgoing messages in either GSM7 or UCS-2 encoding; |
238 * Sending either single or long (concatenated) SMS; | 227 * Sending either single or long (concatenated) SMS; |
239 * Message body input in ASCII, ISO 8859-1 or UTF-8; | 228 * Message body input in ASCII, ISO 8859-1 or UTF-8; |
240 * Message body input either on the command line or on stdin; | 229 * Message body input either on the command line or on stdin; |
245 | 234 |
246 The default and preferred AT command interface mode for sending/writing SMS is | 235 The default and preferred AT command interface mode for sending/writing SMS is |
247 PDU mode, which works great when the GSM device provides a proper AT command | 236 PDU mode, which works great when the GSM device provides a proper AT command |
248 interface. However, when a message of maximum or near-maximum length is being | 237 interface. However, when a message of maximum or near-maximum length is being |
249 submitted to the modem in PDU mode, the hex string that needs to be sent is | 238 submitted to the modem in PDU mode, the hex string that needs to be sent is |
250 longer than what the crippled AT-over-RVTMUX mechanism can handle, thus if you | 239 quite long, and at the time when our FC User Phone Tools were first designed |
251 are using crippled Motorola or Pirelli hardware, you need to give the -t option | 240 and written, our AT-over-RVTMUX mechanism could not handle such long strings. |
252 to fcup-smsend or fcup-sendmult, telling these tools to use text mode instead | 241 Because we sought to have at least limited SMS sending and writing support for |
253 of PDU mode on the AT command interface. In this text (-t) mode the following | 242 crippled Motorola and Pirelli targets, we also implemented text mode support in |
254 restrictions apply: | 243 fcup-smsend and fcup-smsendmult, enabled with the -t option. In this text (-t) |
244 mode the following restrictions apply: | |
255 | 245 |
256 * Only single SMS can be sent, not concatenated; | 246 * Only single SMS can be sent, not concatenated; |
257 * Only GSM7-encoded messages can be sent, not UCS-2; | 247 * Only GSM7-encoded messages can be sent, not UCS-2; |
258 * No multiline messages can be sent, i.e., no newlines in the message body; | 248 * No multiline messages can be sent, i.e., no newlines in the message body; |
259 * ASCII characters [\]^ and {|}~ won't be sent correctly - GSM 07.05 text mode | 249 * ASCII characters [\]^ and {|}~ won't be sent correctly - GSM 07.05 text mode |
260 drops them. | 250 drops them. |
261 | 251 |
262 But if you have to use FreeCalypso on crippled hardware, the -t option does | 252 Now that we have extended our AT-over-RVTMUX mechanism to support longer strings |
263 allow you to send GSM7-encoded SMS of the full maximum length of 160 characters. | 253 and gained full support for PDU mode on all targets, the above -t mode is no |
264 If you attempt to use PDU mode (no -t option) with an AT-over-RVTMUX back-end | 254 longer necessary for any use case, as the default PDU mode is a proper superset |
265 (-R option), the send or write operation will fail if the generated PDU is | 255 in functionality. However, support for this -t mode has been retained, as |
266 longer than 127 octets; the length of the generated PDU depends not only on the | 256 removing software functionality for no good reason is not the way of FOSS. |
267 message body length, but also on the length of the destination address. | |
268 | 257 |
269 The invokation syntax is as follows: | 258 The invokation syntax is as follows: |
270 | 259 |
271 fcup-smsend [options] dest-addr [message] | 260 fcup-smsend [options] dest-addr [message] |
272 | 261 |
356 | 345 |
357 <dest addr><white space><message body> | 346 <dest addr><white space><message body> |
358 | 347 |
359 -t, -u, -U, -w and -W command line options are unchanged from fcup-smsend. | 348 -t, -u, -U, -w and -W command line options are unchanged from fcup-smsend. |
360 | 349 |
361 If you have to use FreeCalypso on crippled hardware, fcup-smsendmult -t can be | 350 This fcup-smsendmult method of sending batched SMS was originally envisioned as |
362 a viable alternative to sending concatenated SMS, as each message in the batch | 351 an alternative to concatenated SMS for crippled hw targets that couldn't support |
363 can be up to the maximum limit of 160 characters. | 352 sending SMS in PDU mode, but that limitation has now been lifted. Because we |
353 do not remove already-implemented functionality for no good reason, the tool | |
354 currently remains in search of new potential use cases. | |
364 | 355 |
365 fcup-smsendpdu | 356 fcup-smsendpdu |
366 ============== | 357 ============== |
367 | 358 |
368 This utility sends out SMS PDUs that have been prepared externally; it only | 359 This utility sends out SMS PDUs that have been prepared externally; it only |
369 works in PDU mode, which limits its usefulness to high-end FreeCalypso hardware | 360 works in PDU mode - originally it was limited to high-end FreeCalypso hardware |
370 with a full AT command interface. The PDUs to be sent out are read from stdin, | 361 with a full AT command interface, but now we've got PDU mode working on all |
371 one long hex string PDU per line; one can send either a single message or a | 362 targets. The PDUs to be sent out are read from stdin, one long hex string PDU |
372 batch. Because the destination address and all content details are encoded in | 363 per line; one can send either a single message or a batch. Because the |
373 the PDU, the tool does not care if the messages are going to the same recipient | 364 destination address and all content details are encoded in the PDU, the tool |
374 or to different recipients, nor does it care if they constitute a concatenated | 365 does not care if the messages are going to the same recipient or to different |
375 SMS transmission or not. -w and -W options work the same way as in fcup-smsend | 366 recipients, nor does it care if they constitute a concatenated SMS transmission |
376 and fcup-smsendmult. | 367 or not. -w and -W options work the same way as in fcup-smsend and |
368 fcup-smsendmult. | |
377 | 369 |
378 fcup-smwrite | 370 fcup-smwrite |
379 ============ | 371 ============ |
380 | 372 |
381 This utility is a debug and development tool; it differs from fcup-smsendpdu in | 373 This utility is a debug and development tool; it differs from fcup-smsendpdu in |