1scmxx(1)                    General Commands Manual                   scmxx(1)
2
3
4

NAME

6       scmxx - exchange data with your Siemens mobile phone
7

SYNOPSIS

9       scmxx   [--device   device]  [--baud  baudrate]  [--quiet]  [--verbose]
10       [--reset] {--info | --set-time | --mem-info | --lock-info | --lock lock
11       {--enable | --disable} | --set-smsc --number {number | name} }
12
13       scmxx   [--device   device]  [--baud  baudrate]  [--quiet]  [--verbose]
14       [--reset] [--out file]  [--pipe  pipe]  {--remove  |  --send  |  --get}
15       [--binary] [--mem memory] [--slot slot] [file...]
16
17       scmxx   [--device   device]  [--baud  baudrate]  [--quiet]  [--verbose]
18       [--reset] [--out file] [--pipe pipe] [--pin PIN] {--remove |  --send  |
19       --get}  [--pbook] [--mem memory] [--slot slot] [--text text] [ --number
20       {number | name} ] [file...]
21
22       scmxx  [--device  device]  [--baud  baudrate]   [--quiet]   [--verbose]
23       [--reset]  [--out  file]  [--pipe  pipe]  {--remove  |  --send | --get}
24       [--sms] [--mem memory] [--slot slot] [--text text] [ --number {number |
25       name} ] [--direct] [--flash] [--srr] [--unicode] [file...]
26
27       scmxx [--help] [--version]
28

DESCRIPTION

30       SCMxx can copy files to and from a Siemens mobile phone and also delete
31       stored files. Files can read from a given file  or  through  stdin  and
32       stored  to  a  given  file  or stdout. SMS can also be directly sent or
33       received without storing in the mobile phone.  SCMxx  was  tested  with
34       several mobile phones manufactured by Siemens (only S25 and later).
35

OPTIONS

37       --device (-d)
38              specify another than the compiled in device. This overwrites the
39              SCMXX_TTY environment variable and the  compiled-in  value.  For
40              linux  systems,  this  may be e.g. /dev/ttyS0 for serial connec‐
41              tions, /dev/ircomm0 for infrared  connections  and  /dev/rfcomm0
42              for  bluetooth connections.  If native bluetooth support is com‐
43              piled in, you can also use the format bt://[xx:xx:xx:xx:xx:xx]:n
44              or  bluetooth://[xx:xx:xx:xx:xx:xx]:n  to  specify  a  bluetooth
45              address xx:xx:xx:xx:xx:xx and the bluetooth channel  n  (default
46              is  1).   The  channel is optional, omit the colon in this case,
47              too.
48
49       --baud (-b)
50              specify the device's speed. Valid values are  dependent  on  the
51              system  but  may  be  9600,  19200,  38400, 57600 or 115200. The
52              default value is 19200. The S25 and *35i only work at the 19200,
53              all  later  phones also work at full serial speed. Infrared con‐
54              nections may be an exception to these rules  (dependent  on  the
55              infrared  donle).   This  overwrites  the SCMXX_BAUD environment
56              variable and the compiled-in value.
57
58       --out (-o)
59              specify a file to use. When getting binary files with "all", the
60              slot  number, a dot and the filetype are appended.  When sending
61              or deleting, this parameter has no use but the  last  parameters
62              that  should be valid files.  Stdout must be explicitly selected
63              with the dash ("-"), by default nothing is  written  to  stdout.
64              There is nothing appended to "-" when getting multiple files.
65
66       --pipe (-p)
67              specify  a  pipe  to  another  program. When getting with "all",
68              every file is piped to  this  programs  on  its  own  (only  for
69              --binary and --sms).
70
71       --quiet (-q)
72              decreases verbosity by 1
73
74       --pin  use this option if a PIN code is required for access
75
76       --verbose (-v)
77              increases verbosity by 1
78
79       --reset
80              try to reset the phone, so it gets accessible again. It may hap‐
81              pen that the phone does not answer on the serial interface  any‐
82              more, especially with a previous user-interrupted file transfer.
83              This simply blindly sends some special characters.
84
85       --help (-h)
86              print the help message
87
88       --version
89              print the version number
90
91       --remove (-r)
92              removes an entry from the phone.  When specified with --sms  and
93              --get,  this  will  get'n'delete.  When specified with --sms and
94              --send, this will send'n'delete.
95
96       --get (-g)
97              get an entry and save it to a file.  When specified  with  --sms
98              and --remove, this will get'n'delete.  When specified with --sms
99              and --send, this will get'n'send.
100
101       --send (-s)
102              sends a file to the phone.  When sending sms, you might want  to
103              take  a  look  at the option --direct, too.  When specified with
104              --sms and --remove, this  will  send'n'delete.   When  specified
105              with --sms and --get, this will get'n'send.
106
107       --info (-i)
108              collect  information from the phone, --mem-info can be used as a
109              trigger to display a more complex listing of the available memo‐
110              ries
111
112       --mem-info
113              display information about available memories and their slots and
114              other information.  It uses the  same  format  as  --mem=?  (see
115              below)  and  can  also be use as a trigger for --info to replace
116              the short memory listing.
117
118       --lock-info
119              display status of locks. It can also be use  as  a  trigger  for
120              --info to replace the lock name listing.
121
122       --lock specify  a lock that you can enable or disable.  For some locks,
123              a password is needed (see --pin)
124
125       --enable
126              enable e.g. a lock
127
128       --disable
129              disable e.g. a lock
130
131       --dial dial a number (requires --number).  The program  returns  either
132              after 10 seconds or when the call reached the other side.
133
134       --hangup
135              hangup all currently active calls
136
137       --set-time
138              synchronize time to phone. The use of tools like ntpdate is rec‐
139              ommended before using this.
140
141       --set-smsc
142              set the SMSC number (requires --number)
143
144       --binary (-N)
145              select binary file transfer mode
146
147       --pbook (-P)
148              select phonebook transfer mode
149
150       --sms (-S)
151              select short message service mode
152
153       --mem  select a memory to access. Slot numbers may  vary  depending  on
154              the  selected memory. See the output of --info for the supported
155              memory types.  Not using this option triggers the default behav‐
156              iour  (if  a default behaviour was defined).  There is a special
157              string "?" that outputs in the same  format  as  --mem-info  but
158              only for the selected mode.
159
160       --slot select  a  slot  to  access.  See  the  output  of --mem-info or
161              --mem=?.  Not using this option triggers the  default  behaviour
162              (if  a default behaviour was defined).  The special string "all"
163              defines the whole range of available slots for the selected mem‐
164              ory and mode and, except with --sms, cannot be used with --send.
165              For SMS, there are  four  additional  special  strings:  "read",
166              "unread",  "sent"  and "unsent". The latter two can be used with
167              --send.  For phonebook access, there is the  additional  special
168              string  "last".   When this option is omitted with --send, scmxx
169              tries to find an empty slot (that may or  may  not  take  long).
170              Finding  an  empty  slot  is  not supported for phonebooks, yet.
171              When a slot was specified and also multiple files to upload, the
172              specified  slot is the starting point to search for empty slots.
173              Overwriting multiple, non-empty slots  is  not  supported,  yet,
174              except for the special case "all".
175
176       --text (-t)
177              specify  content  text of short message or text of the phonebook
178              entry.  For phonebook entries, the length limit  may  depend  on
179              the selected phonebook (see output of --mem-info or --mem=?).
180
181       --number (-n)
182              specify  number  to  send the short message to or the number for
183              the phonebook entry.  Note that the number may  have  a  leading
184              '+' for international numbers. It is normally limited to 20 dig‐
185              its (without the '+') which is certainly enough.
186
187       --direct
188              send/get short messages without storing in the  phone.  This  is
189              not  default  because  you will certainly be charged for it when
190              sending. With direct getting, SMS that are not of  type  DELIVER
191              are  still  stored  on the phone (scmxx cannot decode those mes‐
192              sages, yet).
193
194       --unicode
195              send the short message and use UCS-2 (16bit unicode) as  charac‐
196              ter  set.   You  do not need to specify this parameter to enable
197              unicode sms decoding.
198
199       --flash
200              set the class0 in the data coding scheme field that is  normally
201              interpreted  as  "immediate display". Not all receiving entities
202              support this. Note that a second sms of this type normally over‐
203              writes  a  previous  one  without  asking! Its use is not recom‐
204              mended.
205
206       --srr  this sets the StatusReportRequest bit in the  pdutype  field  of
207              the  sms  pdu.  It  depends on the SMSC if this is honored. With
208              some providers, this produces additional costs!
209
210       --sort sort the messages on printing to chosen output. Possible sorting
211              methods are "type", "slot" and "type,slot". "type" sorts for the
212              type of the short message with an internal order of  unsupported
213              types first, then SMS-SUBMIT, SMS-STATUS-REPORT and SMS-DELIVER.
214              "slot" sorts for the slot of the short message. "type,slot" does
215              sorting  like  "type"  first  and  sorts  each type like "slot".
216              Default is to not sort at all (order depends on phone).
217
218       --pin  enable pin usage. Use this only if there was  an  error  message
219              that asks for a PIN or PUK. For a PIN, this is the corresponding
220              "<PIN>", for a PUK, it is "<PUK>,<new PIN>". The value  is  only
221              used  once.   Consider using the pin file (see below) instead of
222              this option.
223
224       --system-charset
225              define the system character set  instead  of  using  the  return
226              value  from nl_langinfo(CODESET). This is to work around systems
227              that do not support unicode locales like UTF-8 or when data from
228              a  different  system  with  a different locale is used as input.
229              Usually, you do not need this option.
230

EXAMPLES

232       Send an bitmap file to the phone as bitmap (logo):
233              scmxx --send --binary --mem="bmp" --slot=0 myfile.bmp
234
235       Get a Bitmap from the phone and save it into a new file:
236              scmxx --get --binary --mem="bmp" --slot=0 --out=myfile.bmp
237
238       Get all unread (default on get) short messages and output to stdout:
239              scmxx --get --sms --slot=unread --out=-
240
241              scmxx -gS -o-
242
243       Send a short message directly (not stored in the phone):
244              scmxx --send --sms --direct --number=123 --text="test"
245
246       Get a phonebook and store it to a file:
247              scmxx --get --pbook --mem=SM --out=SM.pb
248
249       Modify a specific slot (33) in phonebook memory SM:
250              scmxx -sP --mem=SM --slot=33 --number=123 --text="test"
251

NOTES

253       The output of text (phonebook and sms) depends on the character set  of
254       your  current  locale.  Input  is  the  same. This has the advantage of
255       localization but may have the drawback that all other  characters  must
256       be  entered  by a sequence \XXXX where X is a hex character (e.g. \20ac
257       for EuroSign). This is a 16bit representative of the unicode value. The
258       \XXXX  is only used for output with the intention to read it again at a
259       later time. For normal output, characters that cannot be  displayed  in
260       the  current  local  are replaced by a '?'. Using an UTF-8 based locale
261       will make sure that all character can be converted.  The newline  char‐
262       acter  can  be  entered using the common \n and '\' must be masked with
263       itself. In bash, this might even result in a needed input like "\\\\".
264

CONNECTION PROBLEMS

266       There are  additional  parameters  --ignore-serial-bits  (default)  and
267       --keep-serial-bits.   Use  it  only  when  you get no response from the
268       phone at all. Which setting is needed depends on the cable  and  serial
269       port and cannot be determined automatically.
270
271       If   you   experience   timeouts   on   the   first  command,  try  the
272       --start-delay=<seconds> parameter.
273
274       Another parameter --device-timeout=<seconds> is provided for  the  case
275       that  your  phone  ever  needs more than default value of 10 seconds to
276       answer. Actually, this should be more than enough but one never  knows.
277       The minimum value is 1, values higher than 25 mean "forever".
278

SECURITY

280       The  --pin option should be used with care. The option and its argument
281       are visible in the process list.
282

ENVIRONMENT

284       SCMXX_TTY
285              see --device for decription
286
287       SCMXX_BAUD
288              see --baud for description
289

FILES

291       ~/.scmxx/cache.pb
292              this file serves as lookup file during short message output (for
293              recipient/sender  address)  and for number aliasing for --number
294              on sending a short message. The format is the same as  a  phone‐
295              book file (slot numbers don't matter but must be present).
296
297       ~/.scmxx/config
298              this  file  can contain long options (without the --), the argu‐
299              ments is seperated from the option name by an '='.   Any  amount
300              of  spaces  at beginning of line, before and after the seperator
301              are allowed.  A '#' at beginning of line marks this line as com‐
302              ment.  Examples:
303
304
305                        #choose a device to access
306                        device  =  /dev/ttyS0
307                        #always send SMS using UCS-2
308                        unicode
309
310
311
312       ~/.scmxx/pin
313              This  file  is  used  as an alternativ to the --pin command line
314              option. The file MUST NOT be group readable/writeable  or  world
315              readable/writeable!  It  also MUST be a regular file, not a sym‐
316              link. SCMxx refuses to use the file if this is not the case.  If
317              a  PUK  value  is  requested by the phone, the corresponding PIN
318              must also be defined.  The only necessary  format  elements  are
319              '{',  '=',  ';'  and  '}'. Spaces and newlines are ignored.  The
320              file has the following format:
321
322
323                        sim 262031234567890 {
324                          pin = 1234
325                          puk = 12345678;
326                          pin2 = 4321;
327                          puk2 = 87654321;
328                        }
329                        device 350123456789012 {
330                          type SIM {
331                            pin = 0000;
332                            puk = 0000;
333                          }
334                        }
335
336
337              "sim" sections use the IMSI as identifier, "device" sections use
338              the IMEI as identifier (see output of --info). Since the IMSI is
339              needed, you canNOT switch the phone on with  this!   The  "type"
340              sub section in the device section has the following idenfifiers:
341
342              SIM    device code (theft protection)
343
344              FSIM   very first inserted SIM
345
346              NET    network personalization
347
348              NETSUB network subset personalization
349
350              SP     service provider personalization
351
352              CORP   corporate personalization
353
354

AUTHOR

356       Hendrik Sattler post@hendrik-sattler.de
357
358
359
360SCMxx                             2006-01-30                          scmxx(1)
Impressum