annotate doc/Compal-FFS @ 964:a96cb97b66a2

ringtools/imy: fix duplicate definition of tdma_durations[] The bug was reported by Vadim Yanitskiy <fixeria@osmocom.org>, although the present fix is slightly different from the contributed patch: because main.c doesn't need this tdma_durations[] array at all, let's simply remove the reference to this array from main.c rather than turn it into an extern. I no longer remember my original thought flow that resulted (by mistake) in tdma_durations[] being multiply defined in main.c and durations.c. My intent might have been to define all globals in main.c and have the reference in durations.c be an extern - and I missed that extern - but without clear memory, I have no certainty. In any case, having this data array defined in the same module that fills it (durations.c) is sensible, so let's make it the new way.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 31 Aug 2023 19:38:18 +0000
parents bed7981ac8ca
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
482
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 FFS usage on Compal phones
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ==========================
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 All Compal phones (Motorola C1xx and Sony Ericsson J100) use a flash file system
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 (FFS) structure for user data. On all currently known models with the single
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 exception of Mot C155/156, this FFS is in our familiar TIFFS format - see the
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 TIFFS-Overview article. Mot C155/156 uses a different FFS implementation with
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 a completely different and incompatible on-flash format; it appears that the
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 name of this C155/156 FFS implementation is FMGR, as evidenced by the strings
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 found in the firmware image.
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 The location of FFS within the flash on various known models is as follows:
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 * On Mot C11x/12x phones with 2 MiB flash, the FFS is at 0x1F0000, using 6
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 sectors of 8 KiB each;
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 * On Mot C11x/12x phones with 4 MiB flash, the FFS is at 0x370000, using 3
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 sectors of 64 KiB each;
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 * On Mot C139/140 and SE J100 phones (4 MiB flash), the FFS is at 0x370000,
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 using 5 sectors of 64 KiB each;
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 * On Mot C155/156 phones (8 MiB flash), the FFS is at 0x700000, using 13
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 sectors of 64 KiB each - but the format is FMGR, not TIFFS!
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 In *all* of the listed cases, this FFS (be it TIFFS or FMGR) is used *only* for
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 user data, and not for anything essential. On all of these phones you can get
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 in with fc-loadtool (our raw flash manipulation tool), erase the flash sectors
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 belonging to the FFS, exit fc-loadtool and boot the phone's regular fw with
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 totally blank FFS sectors - the fw with do a fresh FFS format (it even displays
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 a message on the LCD as it does so), and then the phone will function completely
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 normally, but be "brand new", without any previous user data. Compal's
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 firmwares also do the same thing (automatically reformat the FFS on the first
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 boot, blowing away any old one) if you reflash from one fw version to a
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 different one, even if you don't erase the FFS sectors explicitly - Compal's
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 FFS stores the fw version that created it, and when their fw boots and sees
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 that the FFS is from a different version, they automatically do a full reformat.
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 The fact that the FFS on these Compal phones is strictly non-essential and can
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 be trivially blown away and recreated implies that it does NOT store any vital
733
bed7981ac8ca doc/Compal-FFS: update for IMEI found in OTP cells
Mychaela Falconia <falcon@freecalypso.org>
parents: 487
diff changeset
41 data: no IMEI, no RF calibration values. Instead the IMEI is programmed into
bed7981ac8ca doc/Compal-FFS: update for IMEI found in OTP cells
Mychaela Falconia <falcon@freecalypso.org>
parents: 487
diff changeset
42 the flash chip's protection register (OTP cells), whereas RF calibration values
bed7981ac8ca doc/Compal-FFS: update for IMEI found in OTP cells
Mychaela Falconia <falcon@freecalypso.org>
parents: 487
diff changeset
43 and a bunch of other records which we are not able to understand are stored in
bed7981ac8ca doc/Compal-FFS: update for IMEI found in OTP cells
Mychaela Falconia <falcon@freecalypso.org>
parents: 487
diff changeset
44 a completely different flash data structure of Compal's own invention: see our
bed7981ac8ca doc/Compal-FFS: update for IMEI found in OTP cells
Mychaela Falconia <falcon@freecalypso.org>
parents: 487
diff changeset
45 Compal-calibration article.
482
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 Language reset
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 ==============
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 There is, however, one additional issue which you need to be aware of if you
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 are going to erase the FFS and have the firmware reformat a new one: when the
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 firmware formats and writes a new FFS, the UI language is set to the firmware's
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 default, and in some fw versions it is not English. (Both Motorola and Sony
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 Ericsson firmwares have "language pack" and "flex" parts in addition to the
487
6585c21cc4d4 doc/Compal-FFS: typo fix
Mychaela Falconia <falcon@freecalypso.org>
parents: 482
diff changeset
55 main fw body proper.) Sometimes one can get lucky and the default fw language
482
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 is English, other times the default language is non-English but still
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 intelligible enough to navigate through the menus to change it to English, but
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 I got one C118 on which the default fw language is Chinese, and I had no luck
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 in navigating through the menus to change it to English. On that phone I had
3100f534340b doc updates for Compal FFS
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 to flash back the original FFS which had the English UI language setting.