FreeCalypso firmware update

Mychaela Falconia mychaela.falconia at gmail.com
Fri Jun 10 20:26:49 CET 2016


Hello FC community,

I've got some updates regarding FreeCalypso GSM firmware.  First of
all, the version of the firmware which has been incrementally built in
pieces gradually since 2013, working from the bottom up, the one that
is built with gcc without any blobs, now has an official codename: it
shall henceforth be called FreeCalypso Citrine, and it has a new Hg
repository on Bitbucket:

https://bitbucket.org/falconian/freecalypso-citrine

The reason for my decision to give it a short yet unambiguously
differentiating label, instead of continuing to call it gsm-fw as it's
been called previously, is the realisation that our project will
always have multiple different firmware code bases, hence talking
about "FreeCalypso GSM firmware" as if there is only one will always
invite confusion.  The blob-laden and Wine-built but very stable
TCS211 firmware will always remain a sensible choice for Calypso modem
(as opposed to handset) targets, and I am committed to supporting it
on our soon-to-be-built FCDEV3B modem board.  OTOH, the long-term
viability of the Citrine version is uncertain: while it is still my
firm goal to produce a fw version that works no worse than TCS211 in
every way, but is built from full source (no blobs) with a free
compiler, it is not certain at all if the specific approach taken in
Citrine (started back in 2013, long before I reached my current level
of understanding of TI's fw architecture) is the right one.  If I
decide to approach the blob-free fw goal from a different angle, we
are going to have yet another fw version, codenamed after some other
gem.

The reason for the new Hg repository is as follows: given that we
shall always have multiple different fw versions, but we only have one
set of FreeCalypso host tools (loadtools, rvinterf tools etc) which
work with all of our firmwares and even with totally alien ones for
which we have no source or semi-src whatsoever (Compal/Foxconn
proprietary ones), it is not right for the Citrine version to be
special in terms of living in the same Hg repository with FC host
tools - while every other fw version gets its own Hg repository.  Thus
I decided to split the old and tired freecalypso-sw repository into
two new ones: the freecalypso-citrine repository which has already
been created, and a yet-to-be-created freecalypso-tools repository
which will have the fw-neutral host tools and target-utils components.

Now on to some actual development: the current state of FreeCalypso
Citrine on Bitbucket has our previous L1 code (call it L1-2014, for it
is the version which I minimally back-ported from LoCosto to Calypso
in 2014) replaced with my most recent thorough reconstruction of
TCS211 L1 (call it L1-2016).  I have not been able to give it a
complete and thorough round of testing yet - I am away from my GTA02
until tomorrow, all I have with me is the Pirelli, which is not the
best target - but my preliminary testing on the Pirelli indicates the
following:

* The deep sleep bug appears to have been fixed;
* AMR is still broken: when I re-enabled all codecs and the GSM
  network here (Operator 310260) assigned my call a half-rate TCH in
  AMR mode, all I heard in the earpiece speaker was noise;
* The EFR codec, which was also broken before, may have been fixed - I
  need to do some more testing in order to tell for sure.

However, it is possible that there might be some regressions, i.e., it
is possible that some things that worked with L1-2014 are now broken
with L1-2016.  I will know for certain once I get back home and test
everything more thoroughly.  If there are regressions, I shall add
some configuration magic that will allow Citrine to be built with
either L1-2014 or L1-2016 via a build.conf setting.

A note to our off-list supporters reading this via the Pipermail
archive: the TCH rerouting special feature has not been reimplemented
in L1-2016 yet, thus it is missing in the current freecalypso-citrine
code.  I plan on re-adding it; until then, just keep using the old
version from the freecalypso-sw repository.

Hasta la Victoria, Siempre,
Mychaela


More information about the Community mailing list