FreeCalypso C139 & Pirelli update

Mychaela Falconia mychaela.falconia at
Sun Dec 17 21:39:01 UTC 2017

Hello FC community,

As announced earlier, I have implemented battery charging in our FC
Magnetite firmware; the new battery charging driver is called FCHG and
supports all hw targets that use Li-ion batteries (no nickel),
regulated constant voltage charging power sources (includes USB and
Motorola's charging adapters for C1xx phones, but no "low cost"
unregulated charging adapters which TI seemed to be fascinated with
for some odd reason), and simple Iota-controlled charging circuits
like shown in the Iota ABB datasheet; this set of supported targets
includes Mot C1xx, Pirelli DP-L10 and my desired future FreeCalypso
Libre Dumbphone hardware.

This new FC charging driver requires explicit configuration, i.e., if
the charging power source is connected but there is no charging config
file in FFS, no charging current will be enabled and the battery won't
charge.  There is simply no single default that can be used safely on
all targets in a blind fashion, hence the requirement for explicit
configuration.  The charging configs are installed in FFS with the
fc-fsio utility's new write-charging-config command, which reads the
configuration from an ASCII source file, compiles it into binary and
uploads it into device FFS.

However, I am still working on getting a sensible set of these config
settings for both Mot C139 (the only C1xx family member I actively
work on) and the Pirelli.  I've got a set of first-draft settings in
the fc-battery-conf repository, I came up with these settings as the
initial trial version before I had the code implementation complete,
but when I tried them on the real hw after getting the code complete,
it is apparent that they aren't quite right.

I need to do some further investigation to come up with charging
config settings and possibly some code changes too in order to have
sensibly working charging on both the C139 and the Pirelli, but I have
discovered something else in the meantime: as I suspected, there is a
large parasitic current draw when we run our hacky FreeCalypso fw on
the Pirelli DP-L10.

As nice as it is in many other ways, the Pirelli DP-L10 has the
unfortunate distinction of having been originally made as a dual mode
GSM + WiFi/VoIP phone, rather than pure GSM.  As a result, it has a
bunch of extra junk beyond the Calypso GSM chipset: not only a complete
WiFi chipset, but also a mysterious custom ASIC that does VoIP codecs
(and maybe other IP stack processing) in WiFi mode, interfaced to the
Calypso via MCSI to connect this non-GSM voice channel to the phone's
speakers and mic.

An experiment I did today has positively confirmed what I feared from
the beginning: all (or at least some) of this unwanted non-GSM hardware
comes up powered on when the Calypso+Iota chipset powers on and boots,
and unless the firmware running on the Calypso does some magic to put
it into whatever power-down mode it has (magic done by Pirelli's
official fw but which we lack), this non-GSM junk stays on and will
burn the battery like a wildfire.

Time for some actual numbers: with all sleep modes enabled and the
Calypso+RF chipset in deep sleep, the Pirelli phone still draws a
minimum of 87 mA from the battery when running our FC fw.  For
comparison, when the same phone runs Pirelli's official fw, it draws
about 75 mA when both the LCD and the keypad backlights are on, and an
unmeasurably low current otherwise.  Both the C139 and our own FCDEV3B
draw less in an active voice call than the 87 mA of FC-on-Pirelli
complete idle.  Pirelli's battery is rated at 1000 mAh, thus firmware
that runs at 87 mA current draw in complete idle will exhaust a full
battery in just 11 hours of standby.

But the situation is much better on the C139: unmeasurably low current
both in CS_MODE0 (GSM radio fully off) and in idle mode (registered to
a GSM network and listening for paging) with all sleep modes enabled,
which work fine, and 47 to 67 mA in an active voice call when the
local user isn't talking (DTX).  Thus the C139, unlike the Pirelli,
*can* be turned into a practically usable libre phone with FreeCalypso
fw, albeit an ultra-basic one because the hardware is bottom low-end
to begin with.

So I am going to do some further investigation to get the battery
charging process working right on the C139, be it a matter of tunable
settings or code changes, and then it will be down to the UI, i.e.,
the UI will be the last missing piece before a Mot C139 phone can be
turned into a Libre Dumbphone running FreeCalypso.

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list