annotate doc/Modem-configs @ 268:f5c10ec9c5fd

init.c: module passes compilation, Init_Drivers() and Init_Serial_Flows() functions are good, Init_Target() and Init_Unmask_IT() need further work
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 06 Aug 2017 09:21:57 +0000
parents 1811c418461b
children e60d7a32ae2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
219
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Modem configurations
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ====================
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 If you would like to build our Magnetite firmware in the AT-command-controlled
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 modem configuration (not the C-Sample UI demo on the Mot C139), you have 3
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 specific configurations to choose from, differing in the level of deblobbing:
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 classic This configuration replicates classic TCS211, just like
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 leo2moko from 2013. Almost all of the original binary blob
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 libraries are used; the only components that are recompiled
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 from source are those which we got in source form with our copy
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 of TCS211 from Sotovik. This config can only be built for the
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 fcdev3b and gtamodem targets, not for c139 or pirelli.
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 l1reconst In this configuration most of L1 (GSM Layer 1) is recompiled
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 from reconstructed source, although this deblobbing of L1 is
238
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
17 not 100% complete yet: for the GPRS-specific L1 modules the
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
18 original binary object blobs are still used. Some housekeeping
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
19 pieces are also recompiled from source that had to be
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
20 reconstructed. This config can be built for all targets.
219
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 hybrid This configuration is a TCS2/TCS3 hybrid. Instead of using the
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 TCS211 version of the G23M protocol stack which we got only as
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 binary blobs, this config uses the G23M PS version from the
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 TCS3.2/LoCosto source, backported to work with L1 and the fw
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 foundation layers from TCS211. ACI also had to be replaced with
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 the TCS3 version, and a special hybrid version of the cdginc
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 headers had to be constructed. L1 is also deblobbed to the
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 same extent as in l1reconst. Like l1reconst, this config can
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 be built for all targets, and it is currently the most deblobbed
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 (closest to full source) Magnetite config.
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
252
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
33 All 3 of the above configurations have CSD, fax and GPRS enabled; this
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
34 functionality can only be exercised on those hardware targets on which both
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
35 Calypso UARTs are brought out, with the MODEM UART presenting a standard ASCII
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
36 AT command interface including data functions, while the IrDA UART carries the
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
37 RVTMUX interface for debug trace and other development functions. If you are
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
38 interacting with your Calypso target modem or pseudo-modem solely through
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
39 RVTMUX, without access to the ASCII AT command interface on the dedicated MODEM
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
40 UART, then the data functions of the firmware are inaccessible and act as dead
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
41 weight.
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
42
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
43 Having deblobbed all of L1 except GPRS-specific modules, we are now in a
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
44 position where we can build a hybrid config with GPRS excluded, optionally
238
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
45 including or excluding FAX_AND_DATA, but I (Mychaela) would like to thoroughly
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
46 exercise the hybrid config in its current everything-enabled state before making
828a6898241e doc/Modem-configs: L1 deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents: 219
diff changeset
47 further changes to it.
219
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 The deblobbing of L1 has been done in a very meticulous manner, ensuring that
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 each individual reconstructed C module compiles into a strict functional
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 equivalent of the original binary blob, sometimes even matching bit for bit -
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 thus no regressions are expected with the classic->l1reconst transition, and no
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 extensive testing is deemed necessary beyond the basic tests that have already
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 been done. However, the transition from l1reconst to hybrid involves wholesale
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 replacement of two major firmware components (G23M PS and ACI) and some
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 important associated support pieces with entirely different versions from a
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 different TI program, hence extensive testing and debugging will be needed.
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 So far the most-deblobbed hybrid config looks very promising: after fixing the
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 hideous bug resulting from the addition of A5/3 support in TCS3.2 (hardware
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 feature available on LoCosto but not on Calypso), voice calls work perfectly,
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 both with the legacy codecs and with AMR! (The same A5/3 bugfix has also been
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 applied to our Citrine fw, hence the latter now has working voice calls too.)
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 However, it is almost certain that there are a ton of minor bugs which need to
b05dba024f95 doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 be shaken out, hence this firmware build config should be treated as
252
1811c418461b doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents: 238
diff changeset
66 experimental for the time being, not production.