FreeCalypso > hg > fc-magnetite
view doc/SE-J100-target @ 660:293c7db5f10f
bmi3: fixed the mysterious "mute on first call" bug
When UI-enabled fw boots on a previously blank (no /mmi/* files) FFS
for the first time, the output_volume member of the persistent UI settings
structure was left uninitialized, corresponding to the earpiece volume
being set to mute, which is an invalid setting. Because of other quirks
in the far-from-finished UI code, this volume setting takes effect only
when the first call is answered, producing the odd behaviour seen at the
user level.
The current fix is to set the blank-FFS default for output_volume to
volume level 4, which is the same -6 dB Iota volume as the ACI default.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 14 May 2020 02:50:41 +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.