annotate doc/Compal-FFS @ 1000:39a6090a052a

doc/How-flash-really-works: article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 09 Dec 2023 09:08:19 +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.