view doc/SE-J100-target @ 598:717ed17d82c6

aci3 vocoder control revamped, AT@VSEL now works as it should The vocoder control code (hl_audio_drv.c) that came with the TCS3 version of ACI was totally broken in the Calypso config (VOCODER_FUNC_INTERFACE) and worked in the standard analog voice environment only by luck. This code has now been rewritten to work correctly with our Calypso platform and TCS211 L1, and our new AT@VSEL mechanism (automatic enabling and disabling of MCSI voice path as the modem enters and exits the voice call state) now also works as designed.
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 27 Mar 2019 23:44:35 +0000
parents 7cecc3dadbe7
children
line wrap: on
line source

Sony Ericsson J100 target support in FreeCalypso
================================================

SE J100 is the last Calypso device target of OsmocomBB origin to be added to
FreeCalypso, joining the already-supported Mot C1xx and Pirelli DP-L10.  This
target is really not interesting at all on its own merit, instead it has been
added to FC Magnetite for testing purposes: to verify that we are able to drive
this J100 variant of Compal's RFFE and produce correct RF Tx output as observed
with our CMU200 instrument.

Despite being a Sony Ericsson rather than Motorola product (slightly different
case design, totally different battery and accessory connectors), in core
technical terms this SE J100 phone is still Compal, same as Mot C1xx.  It is
technically closest to Mot C139, with only a few differences:

* The display is different: same 96x64 pixel color, but a different model
  requiring a different driver;

* A ringtone player chip is used instead of the Calypso-driven buzzer;

* There are a few differences in GPIO setup, in TSPACT signal usage for RF Tx
  and in some RF Tx parameters (APC offset and Tx ramp templates) stemming from
  the use of a slightly newer RF PA, such that a firmware image built for Mot
  C139 or C11x should not be run on the J100, even if the LCD and the buzzer
  are don't-cares.

If you have one of these phones and wish to run FreeCalypso on it, follow the
procedure for Mot C139 in C1xx-Howto, with the following differences:

* You need to build a firmware image specifically for the j100 target
  (./configure.sh j100 hybrid-vpm), don't flash a c139 or c11x build.

* Only the VPM configuration is available, not the proof-of-concept UI - the
  LCD driver for the latter configuration exists only for the Mot C139 LCD,
  not for SE J100 or any other C1xx.

* It is not certain at all whether the battery charging configuration we have
  for Mot C1xx is correct or not for SE J100 - see further below.

Serial connection difficulty
============================

Connecting the serial interface (the obvious prerequisite before one can do any
kind of firmware hacking) is a lot more difficult on the SE J100 compared to
Mot C1xx.  Following Sony Ericsson's product line, this J100 phone does not have
round-jack headset or charger connectors, instead all accessories (charger,
headsets, Calypso UART access) are connected through a multi-pin connector (12
pins to be exact) that was used by SE across their product line.  While there
exist a number of "cottage industry" vendors who make ready-to-use serial cables
for the kind of headset jack found in Mot C1xx phones, there does not appear to
be anyone making comparable cables for SE J100, thus the only way to play with
one of these phones is to construct the necessary serial cable yourself.

The pins on SE's proprietary accessory connector which carry Calypso UART RxD
and TxD on the J100 are the same pins which carry USB data lines on some other
SE phones which (unlike J100) have an official data services / computer
connection function, thus there are two ways to hack together Calypso UART
access on the J100:

Option 1: you can take a Sony Ericsson (or clone) USB-to-phone data cable and
mutilate it: cut off the USB end, split out the little wires and solder them to
your choice of 3.3 V USB-serial adapter.  This is the route that was taken by
this author (Mother Mychaela), and when I did it, I ran into a nasty little
problem: the wires inside the cut-apart SE-clone USB-to-phone cable are
extremely thin (can't be any thicker than 28 AWG, and seemed to be even thinner
than that), and the solder contraption feels like it is barely holding, like it
is going to fall apart at any moment.

Option 2: you can take the same SE (or clone) USB-to-phone data cable, but
instead of mutilating it, connect it to another custom contraption: if you can
find a USB female-A connector part to which you can solder your own wires (or
cut apart some other cable that terminates in a USB female-A socket), make a
cable contraption consisting of this USB female-A on one side (into which you
insert the unmodified SE cable) and your choice of 3.3 V USB-serial adapter on
the other end.  I still have one more SE-clone data cable which I haven't cut,
so I might try this approach.

For your choice of 3.3 V USB-serial adapter, you should definitely pick either
FT232R or CP2102, so you can use GSM-specific high baud rates (GSM-specific
because they derive from the 13 MHz clock) to transfer flash dumps and firmware
images.

Battery charging problem
========================

Another problem stemming directly from SE's accessory connector arrangement is
that it is very difficult to connect both a charging power source and Calypso
UART access at the same time.  At first I thought it was completely impossible
(there is only one accessory connector on the bottom of the phone), but then by
pure luck I acquired an unusual kind of SE charging adapter: this rare adapter
has a pass-through mechanical design, such that one can plug this charging
adapter into the phone and then piggy-back another accessory into it!  However,
this kind of SE charging adapter is super-rare, and I haven't played with mine
yet because it has Europlug pins (not USA plug) on the AC power end, and I
haven't got around yet to acquiring the requisite AC plug adapter.

Connecting both the charging power source and the Calypso UART at the same time
is important for two reasons:

1) For me as the FreeCalypso developer, that is the only way I can develop and
test the charging configuration for this phone model.

2) For "end users" of the voice pseudo-modem FreeCalypso fw configuration on
this target, if you have no serial connection, you have no way of seeing how
your charging progresses, as there is no LCD driver and the display stays dark
and non-functional.

Because we don't have working battery charging on this SE J100 target yet, the
only safe way to play with this target at the present moment is to have two of
these phones (or another phone of a different model that takes the same
batteries), and keep one phone fully intact with its original fw so it can be
used to charge batteries when the FC-converted phone runs its battery down.