FreeCalypso > hg > fc-magnetite
annotate doc/Modem-configs @ 416:5ca341a26dda
tpudrv10.c: frequency programming function reconstructed
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 20 Jan 2018 00:37:48 +0000 |
parents | e80e43185ca1 |
children | 117bf0fb1e78 |
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 |
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
7 interface and for the RVTMUX binary packet interface), you have 3 specific |
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 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 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
|
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 |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
24 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
|
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 |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
34 built for all targets, and it is currently the most deblobbed |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
35 (closest to full source) Magnetite config: the only remaining |
e60d7a32ae2a
doc/Modem-configs: deblobbing status update
Mychaela Falconia <falcon@freecalypso.org>
parents:
252
diff
changeset
|
36 blobs are GPF and Nucleus. |
219
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
252
1811c418461b
doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents:
238
diff
changeset
|
38 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
|
39 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
|
40 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
|
41 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
|
42 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
|
43 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
|
44 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
|
45 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
|
46 weight. |
1811c418461b
doc/Modem-configs update: FCDEV3B is here, no specific plans for hybrid work
Mychaela Falconia <falcon@freecalypso.org>
parents:
238
diff
changeset
|
47 |
375
e80e43185ca1
doc/Modem-configs update: we now have both Standard Modem and VPM
Mychaela Falconia <falcon@freecalypso.org>
parents:
312
diff
changeset
|
48 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
|
49 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
|
50 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
|
51 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
|
52 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 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
|
54 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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 |
b05dba024f95
doc/Handset-configs and doc/Modem-configs written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 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
|
64 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
|
65 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
|
66 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
|
67 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
|
68 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
|
69 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
|
70 experimental for the time being, not production. |