view doc/C1xx-VPM-usage @ 26:f98ca59c079d

doc/C1xx-VPM-usage: new article
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 11 Jun 2023 22:36:46 +0000
parents
children
line wrap: on
line source

Once you have flashed a FreeCalypso VPM firmware build into your C1xx phone,
what do you do with it afterward?  In order to play with this voice pseudo-
modem, you need to connect the headset jack serial cable between your host
computer and your phone-turned-VPM and run rvinterf.  With rvinterf running on
the serial or USB-serial port connected to the target, press the red power
button on the phone - a momentary press is sufficient.  On C11x and C139
subfamilies you will hear a chirp sound as the firmware boots - this chirp
(comes unchanged from TI, going back to at least C-Sample, if not earlier) is
emitted via the buzzer, which is missing on C155/156.  You will see debug trace
output from the fw in the rvinterf terminal window, and your setup is ready to
play with using fc-shell.

Every 5 s our VPM firmware sends a keepalive query packet out the serial port
(it's a FreeCalypso-invented extension to RVTMUX), and rvinterf responds with
keepalive answer.  If there is no rvinterf, i.e., if you press the power button
on a VPM-flashed phone with no host computer connected or if you kill rvinterf
or unplug the serial cable, the firmware will automatically power off in 15 to
20 s after not receiving keepalive responses.  On buzzer-equipped C11x and C139
phones you will hear another brief sound (of lower frequency) when the firmware
executes its poweroff operation.

If you plug in the charging power source (which forces the Calypso+Iota chipset
to be switched on), the firmware will not power off on its own for as long as
it is plugged in (the stay-on condition is charging power present OR rvinterf
present).  If battery charging configuration is present in FFS (and it is
present in FFS images generated by scripts in the present fc-am-toolkit), the
battery will also charge - but please see caveats about battery charging at the
end of C1xx-flashing article.

Bringing up GSM network connection with fc-shell
================================================

Once you have rvinterf running and communicating with the VPM-flashed C1xx
phone over the serial cable, you need to open another terminal window and run
fc-shell.  That second fc-shell terminal window will be the method by which you
issue AT commands to the GSM MS.

The sequence of AT commands which I (Mother Mychaela) typically use when
bringing up a test GSM MS is as follows:

AT+CMEE=2	-- enable verbose error responses
AT+CFUN=1	-- bring up SIM and enable radio functionality
AT+CREG=2	-- see registration status async responses
AT+CRC=1	-- extended RING async responses
AT+CLIP=1	-- show calling number on incoming calls
AT+CNMI=2,1	-- show indications of incoming SMS
AT+COPS=0	-- connect to the default operator

Once you are connected to the network, you can dial outgoing voice calls with
ATDnumber; (semicolon at the end is required - no CSD support in VPM), and you
can answer incoming calls with ATA.  ATH in an active call will hang up.

If you receive incoming SMS, they will be written into SIM storage (no ME
storage has been implemented in FreeCalypso yet), and if you did the AT+CNMI=2,1
step, you will see a +CMTI notification.  You can then read them out with
fcup-smdump -R (the -R option tells fcup-* utilities to connect via rvinterf),
and you can decode the retrieved SMS PDUs with sms-pdu-decode.  You can send
outgoing SMS with fcup-smsend -R - see documentation in FC host tools package.

Once you are done with your GSM play session, do a clean shutdown (IMSI detach
etc) with AT+CFUN=0, and then power down the VPM phone with fc-shell poweroff.