FreeCalypso > hg > fc-magnetite
annotate doc/Modem-configs @ 549:69e52afc01d5
configs/* except classic: rebuild tif_na7_db_{fl,ir} from source
The purpose of this change is to allow a TRACEMASK_IN_FFS=1 setting given
on the configure line to have effect; all configs except classic are
included because this feature setting is orthogonal to the choice of
G23M PS version and other config choices. (The classic config is an
exception because its very purpose is to preserve a reference config
with all of the original blobs.)
Note that even though we are switching these TIF libraries from blobs
to recompilation from source in all configs, our source for these libs
compiles into a perfect match to the original blobs in the current default
TRACEMASK_IN_FFS=0 configuration, hence there is no effective change
beyond the unfortunate small increase in compilation times.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 18 Nov 2018 08:33:30 +0000 |
parents | 0582d1267e16 |
children | 39a226a06196 |
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 |
375
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
4 If you would like to build our Magnetite firmware for the Standard Modem |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
5 functionality (voice, SMS, CSD, fax and GPRS services enabled, control via AT |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
6 commands, no UI, two UARTs are expected to be available for the AT command |
507
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
7 interface and for the RVTMUX binary packet interface), you have 4 specific |
375
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
8 configurations to choose from, differing in the level of deblobbing: |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 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
|
11 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
|
12 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
|
13 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
|
14 of TCS211 from Sotovik. This config can only be built for the |
459
117bf0fb1e78
doc/Modem-configs: wording change for classic config targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
375
diff
changeset
|
15 fcdev3b and gtamodem targets, not any others. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
312
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
17 l1reconst In this configuration the Layer1 component of the firmware |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
18 (which came as a blob in our copy of TCS211) is recompiled from |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
19 reconstructed source, and the same is done for the system |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
20 initialization code in main.lib. The entire chipsetsw division |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
21 of the firmware (now in src/cs) is thus recompiled from source, |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
22 either original or reconstructed, and the only components that |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
23 are used as blobs are the G23M PS, GPF and Nucleus. This |
507
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
24 config can be built for all targets except c11x. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 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
|
27 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
|
28 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
|
29 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
|
30 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
|
31 the TCS3 version, and a special hybrid version of the cdginc |
312
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
32 headers had to be constructed. L1 and the init code are also |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
33 deblobbed as in l1reconst. Like l1reconst, this config can be |
507
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
34 built for all targets except c11x. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
507
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
36 hybrid-gpf This configuration is just like the regular hybrid config, but |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
37 GPF libraries are recompiled from source along with the rest of |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
38 the fw. For some parts of GPF (OSL and OSX components) no |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
39 original source could be found, thus the source we are using |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
40 has been reconstructed from disassembly. |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
41 |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
42 All 4 of the above configurations have CSD, fax and GPRS enabled; this |
252
1811c418461b
doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents:
238
diff
changeset
|
43 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
|
44 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
|
45 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
|
46 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
|
47 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
|
48 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
|
49 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
|
50 weight. |
1811c418461b
doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents:
238
diff
changeset
|
51 |
375
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
52 Having fully deblobbed all of L1, we now have the ability to build our hybrid |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
53 firmware not only for the Standard Modem functionality with all data services |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
54 enabled as above, but also in a stripped-down "voice pseudo-modem" |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
55 configuration - see the Voice-pseudo-modem article. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 important associated support pieces with entirely different versions from a |
486
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
65 different TI program, hence it can certainly benefit from more thorough testing. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 |
486
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
67 So far the most-deblobbed hybrid config looks very promising: voice, SMS and |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
68 GPRS work perfectly in my (Mother Mychaela's) lab environment, and even CSD has |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
69 finally been proven to work as well on 2018-06-21. CSD functionality has been |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
70 extremely difficult to test because it has been very unreliable lately on the |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
71 network side in my geographical location (T-Mobile USA), with CSD calls failing |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
72 something like 99.9% of the time with a NO CARRIER response to the ATD command, |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
73 using exactly the same modem hardware and firmware that worked flawlessly for |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
74 CSD several years earlier, which makes it extremely difficult to test CSD calls |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
75 with new firmware - but I finally succeeded in making a CSD call from an FCDEV3B |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
76 running FC Magnetite hybrid on 2018-06-21, proving that the new hybrid fw is |
c433cca731a3
doc/Modem-configs: hybrid fw status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
459
diff
changeset
|
77 good for CSD functionality in addition to the better-tested voice, SMS and GPRS. |
507
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
78 |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
79 When exercising our hybrid firmware in a production or semi-production setting, |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
80 you should use the regular hybrid config for now, not hybrid-gpf. GPF contains |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
81 a sublayer called OSL (OS Adaptation Layer), a glue layer between GPF and |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
82 Nucleus, and we got absolutely no source for it, only binary objects. The new |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
83 hybrid-gpf config uses a reconstructed source for OSL (reconstructed from |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
84 disassembly), same as our earlier Citrine firmware, and it is intended to serve |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
85 as the basis for the planned new FreeCalypso Selenite fw project. There is a |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
86 lot of code in OSL, the reconstruction from disassembly has been a significant |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
87 work, and there are a few issues with the reconstructed source: |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
88 |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
89 * The reconstruction was really a process of writing new C code that matches |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
90 the logic found in the disassembly of the original, and in some places this |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
91 new C code was written with gcc in mind. Recompilation of this code with |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
92 TI's proprietary TMS470 compiler may not be fully trustworthy. |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
93 |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
94 * An error handling function called os_SystemError() is currently stubbed out: |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
95 reconstructing its original logic from disassembly is quite difficult, so it |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
96 being deferred for now. |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
97 |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
98 * Given the complexity, some of the logic may have been reconstructed |
0582d1267e16
doc/Modem-configs: hybrid-gpf documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
99 incorrectly, thus extensive testing will be needed. |