FreeCalypso calibration update

Mychaela Falconia mychaela.falconia at
Wed Feb 14 07:19:22 UTC 2018

Hello FC community,

The properly calibrated CMU200 came back to me from Maryland yesterday,
and it's working well.  I've already posted the link to the official
calibration certificate from R&S previously, but here it is again:

Now that we have a perfectly calibrated measuring instrument and a
cabling setup for both SMA RF interfaces (used on development boards,
both TI's and our own) and Murata SWD/SWF RF test ports (used on
Openmoko devices) with precisely known insertion loss, I was finally
able to properly characterize the RF Tx performance of both Openmoko-
made devices as well as our own FCDEV3B, and properly tune our
FreeCalypso RF calibration system for both production calibration of
new GSM MS devices which we produce as well as recalibration of
Openmoko-made ones as an aftermarket service offering.

In terms of our calibration software and configuration (stuff that
lives in the fc-rfcal-tools repository), there are two significant new

1) I've implemented the calibration of Tx channel corrections.  All of
the historical commercial manufs we know of did this calibration, but
we didn't have it in FreeCalypso until now as it made no sense to
attempt such fine adjustments when we had no idea what our measurement
errors were to begin with.  But now that our measuring instrument and
cabling setup are all good, it was time to implement the missing Tx
channel calibration, so I implemented it.

2) The old fcom1 ("FC hardware, OM-based, version 1") Tx power level
calibration profile set has been replaced with a new one named rf3166:
it is named after the RF PA used by both Openmoko and us.  This new
profile set is good for both new production calibration on FCDEV3B
boards and recalibration of Openmoko-made units.

In terms of those Tx power level calibration profiles, the main change
from the old fcom1 to the new rf3166 ones is that I have set the
calibration targets for the highest power levels to the same
conservative reduced values as were used by Openmoko: 31.8 dBm for the
low bands and 28.8 dBm for the high bands.  The GSM 05.05 spec
official numbers are 33 and 30 dBm, respectively, but OM's factory
calibration config had them reduced by 1.2 dB; this reduction comes
from TI, i.e., it is not something that OM or FIC invented - TI's
ancient Sara RF calibration document (quite a few years before OM)
presents the same numbers.

Previously it seemed that we could get the full 30 dBm out in the DCS
band, and for EGSM and PCS bands I used a smaller 0.8 dB reduction,
putting them at 32.2 and 29.2 dBm, respectively, like TI did on their
LoCosto I-Sample board.  However, when I implemented calibration of Tx
channel corrections (needed in order to be no worse than OM and other
historical commercial manufs), I discovered that when we go for the
very highest power levels (above TI's/OM's reduced-by-1.2 ceiling), we
go out of the range in which the RF PA acts linearly, i.e., out of the
range in which RF Vout is a mostly linear function of the APC DAC
control value.  Unfortunately I don't have enough GSM RF knowledge to
tell why, but my gut is telling me that going out of this zone of
linearity is probably a bad thing.  Setting the highest level
calibration targets to 31.8/28.8 dBm like TI and OM/FIC did keeps us
in the PA's linear range, so I am going to use these conservative
profiles until and unless we get a better GSM RF expert who tells us

In practical terms, what matters a lot is that our current calibration
profiles match what OM's factory did - thus there is no basis for any
ex-Openmoko employees or other nasty people from that so-called
"community" to point fingers at us and say that we calibrate our or
(gasp!) their RF tracts in some bad way that will cause the device to
interfere with or disrupt cellular networks, leading to arrest and
prosecution of the hapless user.

There are only a few differences between OM's factory calibration and
ours, which are:

* For the VCXO calibration, the calibration program used by OM/FIC
appears to have rounded (converted from floating point to integer) too
early in computing the Psi_st_32 value, making that 32-bit integer
always equal to either 15*65536 or 16*65536 when the Psi_st integer
right next to it equals 15 or 16, respectively.  Our fc-rfcal-vcxo
calibration program produces more accurate numbers without premature

* OM's calibration has the lowest EGSM/GSM850 power level set to 7 dBm
instead of the official (GSM 05.05 spec) 5 dBm, with the previous 4
levels squeezed together in 1.5 dB steps instead of 2 dB; the lowest
DCS/PCS power level is similarly set to 3 dBm instead of 0 dBm, with
the previous 6 levels similarly squished.  This shifting of the lowest
power levels is a relic from TI's previous hw platforms and is not
needed with the Rita+RF3166 combo used by Openmoko (and now us); in
our calibration we set the lowest power levels to the official spec
values.  The practical effect is that if you are right next to the
cell tower and your phone is able to lower its Tx power to the minimum,
that minimum is a little lower with our calibration than with OM's,
potentially saving a little battery power and exposing the human to a
little less RF energy.

* OM's factory calibrated the Tx channel corrections only at the
highest power level in each band (the one subject to the tightest
regulation), making all lower power levels use the same channel
corrections that were calibrated at the highest level - clearly
suboptimal.  OM weren't alone in doing it that way - it appears that
all other major manufs did likewise to save time on the production
line - but TI's calibration data structures allow for up to 4 channel
correction tables.  In our calibration we divide the full range of
power levels (15 or 16) into 4 groups and use all 4 tables, doing the
channel calibration 4 times at different power levels.  The resulting
RF configuration is identical to OM's for the highest power levels
(the tightly regulated ones), but at the lower power levels we now get
more accurate channel corrections.

* We write the /gsm/com/rfcap file appropriately to reflect the tri900
or tri850 hw configuration of each given device unit, and our fw does
not overwrite it with the false "I am quadband" setting like OM's fw
did.  As a result, the modem won't attempt to operate in the
unsupported 4th band for which the SAW filter produces about 40 dB of
attenuation and for which it is not calibrated.

If anyone would like to have their Openmoko device recalibrated in the
new FreeCalypso way on my family company's CMU200, you can send it to
me and I will be happy to recalibrate it for you.  If the desired
service is limited to recalibration and firmware update to moko13,
your device will not undergo any invasive surgery (no disassembly is
needed beyond removing the back cover like you would to change the
battery or the SIM - OM were super-nice and made their RF test port
accessible this way) and there will be no charge for the service other
than return shipping.  If you would like to have your device converted
from the 900 MHz band to 850 MHz or vice-versa, we can do that
conversion as well, but this conversion requires surgery: the device
needs to be disassembled, the motherboard needs to be extracted, and
the GSM block shieldcan needs to be opened.  I won't be doing the
surgery myself, but the fine folks at Technotronix (where our FCDEV3B
boards are assembled) can probably do it.  It's exactly the same
extent of disassembly as needed for applying the #1024 hw fix, and
both can be done in the same surgery.  If anyone is interested, please
let me know and I'll have a discussion with Technotronix to see if
they can do it and for how much.  If anyone desires 900->850 or
850->900 band conversion, the hardware surgery in this case *must* be
followed by recalibration.

Oh, and if anyone does send their FreeRunner to me for recalibration
or for any hw surgery, please send it to me WITHOUT the battery, i.e.,
keep the battery to yourself while the device is sent in for service -
postal services are scared shitless of lithium batteries these days,
and shipping a device without batteries is MUCH less hassle.  It
becomes a particularly big deal when I have to return-ship outside of
USA-occupied Incalia.

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list