FreeCalypso end of decade update

Mychaela Falconia mychaela.falconia at gmail.com
Thu Dec 26 03:22:10 UTC 2019


Hello FC community,

The end of a calendar decade is upon us, and it is time for a little
reflection.  As another reminder, I still have a bunch of FCDEV3B
boards that are basically gathering dust in my shop.  As of right now
I have, counting fully working boards only and not counting specially
modified ones:

* 5 FCDEV3B V1 boards with 900 MHz band
* 5 FCDEV3B V2 boards with 900 MHz band
* 2 FCDEV3B V2 boards with 850 MHz band

There may be one more FCDEV3B-850 board coming, there are 3 more
FCDEV3B-900 boards with defects which might be repairable (bad PA, may
or may not be able to replace it), and there is one board with a bad
SAW filter part in the low band, which might be repairable to become
either FCDEV3B-900 or FCDEV3B-850.

All of these boards are available for both commercial and non-profit
users; for commercial users the price would be around $300 for V1 or
$500 for V2, whereas for non-profit uses I am giving boards away free
of cost if your use case is something I would consider worthy -
basically anything other than running OsmocomBB would be a worthy use
in my book.  At this point I don't know if anyone is going to take any
of these boards off my hands or if they will sit here for the next 40 y
or so until I croak, at which point they will probably be thrown in
the trash by whoever cleans the apartment after my remains have been
taken care of by the coroner - but at least I have done my part by
making them available.  Needless to say, I won't be making any more
boards until these current ones are either sold or given away to
worthy recipients - although if demand ever arises, I can very easily
produce as many as are ordered.

Looking back, this FCDEV3B design was conceived back in 2015 in order
to satisfy what was then an unmet need: I needed a modem platform that
was just like Openmoko's modem, i.e., NOT like Motorola phones, but
(1) I needed this OM-like modem to be standalone, i.e., a modem by
itself, not embedded into a much more complex device with an AP, and
(2) I needed a product whose supply would be independent of the
extremely scarce supply of used Openmoko devices.  It took about 18
months from FCDEV3B conception in the fall of 2015 to its birth (first
boards produced) in the spring of 2017, i.e., exactly twice as long as
it should have taken, and during that 18 month wait I did most of the
firmware deblobbing using OM GTA02 as my platform, contrary to my
original plan of doing that work on the FCDEV3B.  The momentum then
carried me forward with producing FCDEV3B V2, as I just couldn't leave
that sleep-breaking hw design bug unfixed, but once we got these
FCDEV3B V2 boards made last winter, we finally got a truly awesome
platform for running our TI-based FC firmware in its full glory, much
better than all other Calypso hw targets which we support in our fw to
various degrees.

The modem firmware project which FCDEV3B was to facilitate can now be
considered complete: our current FC Magnetite hybrid modem fw has been
deblobbed to my satisfaction (I won't go further unless we recover
those last missing 10 files os_???.c and osx.c from TI), the entire
radio protocol stack is now blob-free (those GPF glue modules aren't
part of the radio PS; hypothetically one could rip out the entire GSM
PS and replace it with some totally different stack without needing to
recompile GPF or Nucleus), the use of TI's ancient proprietary compiler
under Wine is only a minor annoyance at this point thanks to my Wine
wrappers which make it look and feel like a native Unix compiler
(migration to gcc falls into "would be nice" category, but I am not
willing to go there unless we recover os_???.c and osx.c first), the
functionality of our blob-free hybrid fw fully matches that of
Openmoko's original modem that serves as my reference, thus the modem
fw project is effectively finished.

At one point there was a possibility of a little commercial business
making FreeCalypso modem hardware, but that possibility was destroyed
when Comrade Songbosi publicly announced the existence of that Huawei
GTM900-B historical modem module which is basically the same thing as
FCDEV3B except for having no digital voice i/f and supporting only 2
GSM frequency bands rather than 3.  But who knows, if the supply of
those GTM900-B modules is only 500 pcs or so (the -C version is useless
for hackable fw purposes, must be -B or perhaps -P), then perhaps
someone will exhaust that supply while I am still alive, in which case
the original FC modem business idea could be revived - the supply of
Calypso chips and other necessary components is at least 2 or 3 orders
of magnitude greater.

With modem firmware work done and with modem hw business ruined by
Songbosi's thoughtless announcement (oh how much better my life would
have been if he had kept quiet about his discovery), what else is left
to be done in FreeCalypso?  Answer: the only thing left to be done is
replacing that Pirelli DP-L10 which I currently use as my daily phone
with something that can run FreeCalypso firmware.

This Pirelli phone is an interesting beast: it is based on the Calypso
chipset (plus extra junk for camera and WLAN), and Pirelli's fw is
derived from TI's TCS211.  Because this fw is TI-based and not too
heavily modified in the low-level aspects, I can observe its debug
trace output with rvtdump (all familiar L1 traces are there) and I can
read out its file system content live (without shutting the phone
down) with fc-fsio, thereby retrieving all accumulated SMS that were
stored "on the phone" rather than on the SIM.  And also because the
architecture of Pirelli's fw is clearly TI-based, whenever it glitches
or misbehaves (which it does a lot), I can understand exactly what the
root cause is, what chain of events led to the user-visible misbehaviour
and what each layer of the fw is doing in the failed state.  These are
the reasons why I use this Pirelli DP-L10 as my daily driver as opposed
to any of the more mainstream proprietary phones.

But then comes the bad part: even though I fully understand exactly
what happens inside Pirelli's fw every time it glitches or misbehaves,
I have no ability to actually fix any of those bugs or to make any
functional improvements: we have no source for Pirelli's fw, and when
we run our own FreeCalypso fw on Pirelli's hw, it is nowhere close to
a usable phone - right now we have no UI at all, only AT commands over
the USB-serial interface for control.

The idea of a practically usable FreeCalypso phone (meaning FreeCalypso
fw with a practically usable handset UI) has come up again and again
over the years, but there has been a new development over the past
couple of weeks that stands a good chance of making the idea more
feasible: Das Signal and I have found a certain historical Calypso
development board which I have nicknamed Caramel, it was made by a
non-TI third party, but it is kind-of in between TI's D-Sample and
Leonardo boards.  These Caramel boards are super-rare: so far we have
only secured one, there is a possibility that we may be able to get
one more, but if we do get that second one, it will almost certainly
be the world's last.  As for the one Caramel board which we've already
secured, Das Signal has done some basic tests on it and verified that
it works at the basic level, but we need to get it into my lab in
California before we will know if we can run our own FreeCalypso fw on
it without breaking RF - this test will require the use of my CMU200
instrument, and DS does not currently have his own CMU200 - thus we
are in the process of arranging shipping.

While everything is currently very uncertain and will remain so until
we get that Caramel board into my shop (probably some time in January),
what makes it very interesting is that this development board has
Calypso MEMIF brought out on an expansion interface, along with keypad
and even battery charging control signals.  Having Calypso MEMIF
accessible means that we should be able to connect our own 176x220
pixel 16-bit color LCD to this interface; this LCD together with a 5x5
keypad would turn this Caramel board into a development platform for
TI's original 176x220 pixel color UI, replacing D-Sample!  As a
reminder, we do have a real D-Sample board, but we are not able to run
FreeCalypso fw on it with working GSM because we lack tpudrv10.c for
Clara RF - but this Caramel board features a Calypso+Iota+Rita core
like Leonardo, thus DS and I hope that it won't suffer from the same
problem.  We'll know definitively once it gets into my lab with the
CMU200.

If everything works out the way I hope (if that Caramel board arrives
in California successfully, if it runs our own fw with working RF, if
I can connect my own LCD to it as I am thinking), then we will finally
gain a platform for running TI's handset UI code the way it ran in the
offices or cubicles of TI's original developers all those years ago.
And if we get that far, it will serve us in two ways: in one direction
it will lay the foundation for our own FreeCalypso Libre Dumbphone
handset if I ever have the money to produce it (after my big surgery),
and in the other direction it may allow us to produce practically
usable untethered phone fw for Mot C139!  So stay tuned for further
updates in the first half of January.

Hasta la Victoria, Siempre,
Mychaela aka The Mother


More information about the Community mailing list