RF calibration

Mychaela Falconia mychaela.falconia at gmail.com
Sat Mar 11 08:44:55 UTC 2017


Hello again everyone,

Thanks to a recent donation of 3 non-sellable Openmoko GTA02 units
(supposedly defective, although I haven't really noticed the presumed
defects) from Openmoko seller Christoph Pulster, I now have a total of
4 GTA02s including my original one, and I have read Calypso flash
dumps from all of them.  As a side note, if you are performing
low-level operations on the GTA02's Calypso block where you don't need
the internal UART or audio channels, you can do these operations from
the always-present NOR U-Boot without depending on any higher-level
software in the phone's NAND flash: just get into the NOR U-Boot,
connect USB, run your favourite terminal program on /dev/ttyACM0 that
should appear on your host while the FR is in U-Boot, give it a
'setenv boot_menu_timeout 3600' command to keep it from powering off
on its own, and then use the 'neo gsm on' and 'neo gsm off' U-Boot
commands to turn the modem on and off.  These commands also enable the
secondary Calypso serial channel on the headset jack, hence you can
use that channel to poke at the modem.  Om's factory must have used
this method for their initial fw loading and RF calibration, but if
you load one of the newer (post-leo2moko) FC fw versions that have the
AT-over-RVTMUX extension, you can also issue AT commands this way -
just not CSD or GPRS, and there is no way to get to the voice audio
channel in this arrangement.

Anyways, so I have used this NOR U-Boot trick to read Calypso flash
dumps from the 3 new GTA02s I just acquired, and now we have a total
of 6 examples of per-unit RF calibration values: 4 samples from the 4
GTA02 units in my hands, plus the ones which community members David
and Giacomo sent me back in 2014.

The RF calibration values are stored in the modem's flash file system
in binary form, but I recently wrote a utility that converts them from
binary into an ASCII text representation that is both human- and
machine-readable; the ASCII-based format emitted by this converter is
the same as that which I implemented in fc-tmsh for sending RF tables
to or reading such tables from live firmwares in Test Mode operation
with rftw, rftr, ttw and ttr commands.

I have just put out a tarball containing all 6 GTA02 RF calibration
samples plus the firmware's compiled-in defaults in the readable ASCII
text form:

ftp://ftp.freecalypso.org/pub/GSM/GTA02/rfcal-examples.tar.gz

If you are curious about per-unit RF calibration on Calypso phones and
modems, i.e., curious as to exactly what varies from one unit to the
next and the magnitude of these differences, I encourage you to
download the above tarball and look inside - it's all readable ASCII
text files (mostly tables of numbers) inside, no binary files.

I am still waiting for that CMU200 from ebay before we can do our own
RF calibration - at this point it is uncertain what will arrive first,
this CMU200 or our own FCDEV3B boards.  If I receive the CMU200 before
we have the FCDEV3B, I'll try connecting the CMU200 to the RF test port
on the Openmoko-made GTA02s I have (accessible with the back cover off,
just like the battery and the SIM and uSD slots), and see if I can
recreate any of the factory calibration steps.

Hasta la Victoria, Siempre!


More information about the Community mailing list