annotate doc/C1xx-Howto @ 547:c3f2f79dc5b8

l1_rf12.c compiled-in default RF band tables: a round of cleanup * Uncalibrated default g_magic values changed from old Clara RF numbers (yes, Clara, not even Leonardo) to the approximately correct value for our current hw; * Uncalibrated default Rx and Tx channel calibration tables providing neutral correction values: fixed bogus ARFCNs from blind copy-n-paste between different bands; * Restored #if (ORDER2_TX_TEMP_CAL==1) in the Tx temperature compensation tables; * Fully rewrote the big comment before these rf_XXX structures to reflect the current situation. This change is part of the larger transition in FreeCalypso from reverse to forward engineering, from reconstruction of lost original bits to ongoing forward development and maintenance.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 17 Nov 2018 19:57:34 +0000
parents 4f378f6c5efa
children 9327935d8549
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Running FreeCalypso firmware on Motorola C1xx phones
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ====================================================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 Before we begin, it needs to be noted that running FreeCalypso fw on a C1xx
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 phone is very much akin to xenotransplantation: Mot C1xx hardware is an alien
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 to our FreeCalypso family (our native hw targets are those made by TI, Openmoko
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 and us, not Motorola or Compal), and our non-Compal-based, non-Mot-based
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 FreeCalypso fw is equally alien to the C1xx phones. The xenotransplantation
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 procedure of converting a C1xx phone to FreeCalypso is highly unnatural, and
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 involves a large number of cumbersome manual steps - you've been warned.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 Preparing the host system
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 =========================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 Firmware flashing on Mot C1xx phones is accomplished through the headset jack
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 via a special cable. There is no need to disassemble the phone in any way or
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 to do any soldering or other hardware surgery, but you will need a host system
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 to run the multitude of special software tools that are involved in the
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
19 procedure. You will need to begin by installing FreeCalypso host tools: the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
20 current version of our FC-to-C1xx xenotransplantation procedure for the lower
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
21 C1xx subfamilies (the additions from the previous version are RF calibration
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
22 data migration and battery charging configuration) requires fc-host-tools-r8 or
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
23 later, or if you are working on a C155 or C156 phone, you will need our very
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
24 latest fc-host-tools-r9a release:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
26 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-r9a.tar.bz2
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
28 You will also need our battery charging configuration files:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 https://bitbucket.org/falconian/fc-battery-conf
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 Run 'make install' in the fc-battery-conf tree to add the battery charging
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 configuration files to your FC host tools installation under /opt/freecalypso.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 Flash backup and data gathering
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 ===============================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 Before you begin the actual conversion of your C1xx phone to FreeCalypso, you
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 will need to gather the following pieces of information:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 * The phone's IMEI - we don't know how to extract it out of Mot/Compal's non-TI
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 flash data structures, so you will have to reset it manually after the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 firmware change. Of course you can set your "new" FreeCalypso IMEI to
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 whatever you feel like, but if you wish to keep the original factory-assigned
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 one, you will need to note it down manually, either from the sticker inside
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 the battery compartment (*very* hard to read!) or by booting the phone up
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 with its original fw prior to the conversion, entering *#06# and reading it
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 from the display.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 * Your specific phone's factory RF calibration values: you will need to make a
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 dump of your phone's flash memory (also serves as a backup, always a good
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 thing to have) with fc-loadtool and extract the numbers of interest with our
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 c1xx-calextr utility, which is part of the new FC host tools.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 * You need to know whether your phone has 900+1800 MHz or 850+1900 MHz bands -
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 you will need to communicate this information to the new fw after the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 conversion. To the best of our knowledge, all C11x/12x and C140 phones have
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 900+1800 MHz bands, but C139 phones have been made in both versions. On the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 phones that have passed through our hands so far, the first two digits of the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 IMEI have been 35 on 900+1800 MHz phones and 01 on 850+1900 MHz ones.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
62 * For the lower C1xx subfamilies only: you need to know whether your phone has
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
63 2 MiB or 4 MiB flash. To the best of our knowledge, all C139/140 phones have
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
64 4 MiB flash, but C11x have been seen with both 2 MiB and 4 MiB flashes. The
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
65 flash memory size will be autodetected by fc-loadtool as part of making the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
66 flash dump. C155 and C156 phones have 8 MiB flash.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 The Mother's method for keeping track of these per-phone bits of information is
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 to create a separate directory for each phone with the IMEI as the directory
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 name; the flash dump and the RF calibration bits extracted from it will then
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 reside in that directory, while the IMEI is in the name of the directory itself.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 Once you have created your per-phone directory and cd'ed into it, you are ready
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 to run fc-loadtool to capture the flash dump. The phone needs to be off, but
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 the battery needs to be present and have some charge in it; with the phone off,
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 connect the serial cable between your host computer and the phone's headset
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 jack, and run fc-loadtool as follows:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
79 C11x/12x: fc-loadtool -h compal /dev/ttyXXX
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
80 C139/140: fc-loadtool -h compal -c 1004 /dev/ttyXXX
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
81 C155/156: fc-loadtool -h c155 /dev/ttyXXX
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 Change /dev/ttyXXX to the serial or USB-serial device corresponding to your
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
84 serial cable. With the serial cable connected, the phone in the powered-off
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
85 state and the fc-loadtool process running and waiting for the phone, press the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
86 red power button on the phone - a momentary press is sufficient and recommended.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 Once the phone boots the loadagent code fed to it serially by fc-loadtool and
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 you land at the loadtool> prompt, issue the following command:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 flash dump2bin flashdump.bin
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 Given this command, fc-loadtool will autodetect whether your phone has 2 MiB or
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
94 4 MiB flash (for the lower C1xx subfamilies), then make a dump of the complete
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
95 content of this flash memory and save it in a file named flashdump.bin in the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
96 current directory. When this operation completes, exit the loadtool session
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
97 with the exit command - it will also cleanly power the phone off.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 The next step is to extract the RF calibration values. Run a command of the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 following form:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 c1xx-calextr -b rfbin flashdump.bin <offset>
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
104 For the lower C1xx subfamilies, change <offset> to 0x1FC000 if your phone has
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
105 2 MiB flash (the size of flashdump.bin is 2097152 bytes) or 0x3FC000 if it has
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
106 4 MiB flash (the size of flashdump.bin is 4194304 bytes). For C155/156 the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
107 correct offset is 0x7E0000. The stdout scribbles from c1xx-calextr will
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 indicate which per-band calibration records it finds (from which you can tell
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 if the phone has 900+1800 MHz or 850+1900 MHz bands if you didn't have this
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 knowledge already), and a directory named rfbin will be created, containing the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 correct subtree of directories and files which will need to be uploaded into
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 the new FreeCalypso flash file system (FFS) under /gsm/rf after the firmware
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 change.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 Selecting and building the desired firmware config
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 ==================================================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 There is only one FC Magnetite firmware configuration for C11x/12x phones, but
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
119 for the better C139/140 phones (or for C155/156) there are several to choose
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
120 from. The following two configs are the currently recommended ones:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
122 hybrid-vpm This config is available for all 3 C1xx subfamilies, although
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
123 the actual fw images are different for each. In this
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
124 configuration the converted phone acts not as an end user phone,
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
125 but as a voice pseudo-modem that needs to be controlled by a
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
126 host computer via a serial cable to do anything interesting.
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
127 See the Voice-pseudo-modem article for more information.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
129 hybrid-ui-vo This config is available only for the C139/140 target, not for
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
130 the other two. This configuration includes the UI layers, thus
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
131 when a C139/140 phone runs this firmware, it is able to function
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
132 as an untethered phone without a host computer connection.
457
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
133 However, please be warned that this proof-of-concept UI is
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
134 nowhere close to being practically usable - see the
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
135 Handset-goal article for more info.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
457
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
137 Both of the above are hybrid configurations in that they use the new TCS3
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
138 versions of the G23M protocol stack and ACI (Application Control Interface)
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
139 firmware components grafted on top of the TCS211 chipsetsw foundation, resulting
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
140 in a fully built-from-source configuration without major blob components. The
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
141 UI layers BMI and MFW in the UI-enabled hybrid-ui-vo config also come from the
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
142 new TCS3 source, not the old version of unknown origin. They are "voice only"
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
143 configs in that CSD, fax and GPRS functions are disabled - these functions
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
144 cannot be made use of on Mot C1xx phones, and disabling them significantly
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
145 reduces the weight of the firmware.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
147 For the C139 and C155 targets (but not for C11x/12x), it is also possible to
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
148 build some of the older configs that use the old binary blob version of the
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
149 G23M PS component and the corresponding old versions of ACI, MFW and BMI on top
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
150 of it - however, those configuration are now officially deprecated except for
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
151 only two remaining use cases which do not apply to Mot C1xx targets, hence they
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
152 are no longer supported officially.
457
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
153
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
154 Thus we have a total of 4 possible build configurations, one for the C11x/12x
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
155 target, 2 for C139/140 and 1 for C155/156:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 ./configure.sh c11x hybrid-vpm
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 ./configure.sh c139 hybrid-vpm
457
6530fc550836 doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
Mychaela Falconia <falcon@freecalypso.org>
parents: 383
diff changeset
159 ./configure.sh c139 hybrid-ui-vo
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
160 ./configure.sh c155 hybrid-vpm
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 See the Compiling article for more information on how to compile your own
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 firmware image in one of the above configurations.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
165 Bootloader change on the lower C1xx subfamilies
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
166 ===============================================
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
167
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
168 This section applies ONLY to C11x/12x and C139/140 subfamilies; it does NOT
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
169 apply to the C155/156 subfamily.
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
170
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
171 If this is your first time converting a given lower-C1xx phone from its original
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 firmware to FreeCalypso (as opposed to updating from an earlier FC firmware
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 version), you will also need the compal-flash-boot-for-fc.bin bootloader image
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 in addition to the main fw image you just built:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/compal-flash-boot-for-fc.bin
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 Mot C1xx phones are brickable - because the Calypso boot ROM is disabled by PCB
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 wiring, the ability to reflash a phone with new firmware critically depends on
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 there being a particular kind of boot code in flash sector 0 at all times - a
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 particular kind of boot code that allows the boot process to be interrupted and
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 diverted to external code loaded via the headset jack serial port.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 The FreeCalypso family of projects has adopted one specific version of the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 flash sector 0 boot code (produced by applying a binary patch to one of
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 Compal/Motorola's original versions) for use with all of our firmwares for
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 these phones. We use the same FC-C1xx bootloader on both C11x/12x and C139/140
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 phones: the official bootloader versions are different between the two (and
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189 moreover, each particular official fw version comes with its own bootloader
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 version), but the simpler bootloader version which we took from one particular
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
191 C11x fw version works perfectly well on the C139 as well, hence we've adopted
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
192 it for all combinations.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
193
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 Once you have our compal-flash-boot-for-fc.bin image flashed in sector 0, you
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
195 can then flash whichever FC firmware image you like at offset 0x10000 without
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
196 having to touch the dangerous boot sector.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
198 On C155/156 phones the situation is a little different: they are also brickable
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
199 with the Calypso boot ROM disabled, but Motorola's original bootloader on these
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
200 phones is significantly different from the one on the lower C1xx subfamilies,
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
201 and they use a different flash layout: the bootloader in the first 8 KiB sector,
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
202 unused flash space between 0x2000 and 0x20000, and the main fw image starting
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
203 at 0x20000. Our FC firmwares for the C155/156 target are built to be flashed
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
204 at 0x20000 just like Mot's official ones, and they are designed to receive
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
205 control from Mot's original bootloader on this target.
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
206
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
207 Converting the phone to FreeCalypso fw
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
208 ======================================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
209
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210 If you are starting with an unhacked C1xx phone running one of the official
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 firmware versions, the procedure for flashing and bringing up FreeCalypso for
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 the first time is as follows - *after* you have done all of the preparatory
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213 steps described in the preceding sections:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
215 * Have your phone's battery fully charged - although you will regain the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
216 ability to charge it with FreeCalypso fw when the conversion is fully
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
217 complete (not just the flashing part, but also the subsequent FFS
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
218 initialization), your phone will not have this charging ability while you are
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
219 in the middle of the xenotransplantation procedure.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 * Get in with fc-loadtool just like you did when you made the dump of your
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
222 phone's flash memory for backup and RF calibration data extraction.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
223
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
224 * If you are operating on a C11x/12x or C139/140 phone, reflash the boot sector
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
225 with our FreeCalypso version:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
227 loadtool> flash erase-program-boot compal-flash-boot-for-fc.bin
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
229 DO NOT flash compal-flash-boot-for-fc.bin into C155/156 phones, it is ONLY
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
230 for the lower C1xx subfamilies!
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
231
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
232 * To flash whichever FreeCalypso firmware image you would like to play with,
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
233 execute the flashing script which the fw build system produced along with the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
234 actual image:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 loadtool> exec flash-script
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
237
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
238 * Erase the flash sectors to be used for the FFS (flash file system) by
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
239 FreeCalypso firmwares; the specific command depends on whether your phone has
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
240 2 MiB, 4 MiB or 8 MiB flash. On 2 MiB flash phones:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
242 loadtool> flash erase 0x1C0000 0x30000
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
243
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
244 Or on 4 MiB flash phones:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
245
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
246 loadtool> flash erase 0x3C0000 0x30000
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
248 Or on 8 MiB flash C155/156 phones:
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
249
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
250 loadtool> flash erase 0x700000 0xD0000
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
251
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
252 * Exiting fc-loadtool cleanly will cause it to power off the phone:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
253
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
254 loadtool> exit
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
255
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
256 Reflashing between different FreeCalypso firmwares
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
257 ==================================================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
258
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
259 By the conventions established in the FreeCalypso family of projects, all of
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
260 our firmwares for C11x and C139 targets have the following in common:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
261
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
262 * They all stay out of the boot sector and expect to receive control from the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
263 boot code in the same manner (boot entry point at 0x10058, exception vectors
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
264 at 0x10000), thus there is no need to reflash the dangerous boot sector when
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
265 going from one FC firmware to another.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
266
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
267 * They all use the same aftermarket FFS configuration of 3 sectors of 64 KiB
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
268 each (64x3) at 0x3C0000 on 4 MiB flash phones, or at 0x1C0000 on 2 MiB flash
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
269 phones. This FFS location is deliberately different from the one used by
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
270 Mot/Compal's firmwares, eliminating the possibility of one fw trying to use
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
271 the FFS created by the other, and by putting our FFS toward the end of the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
272 flash we maximize the amount of flash space available for our firmware code
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
273 images. But even though we don't share our FFS with Mot/Compal's official
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
274 firmwares, we do share the same FFS between all of FreeCalypso firmware
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
275 projects - thus once you have initialized your FFS (see below) with one FC
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
276 firmware version, it will work with the others as well.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
277
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
278 If you need to reflash your C1xx phone from one FC firmware version to another,
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
279 simply get in with fc-loadtool -h compal (no more need for the inefficient
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
280 -c 1003 or -c 1004 options or for tfc139) and reflash just the fw image part:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
281
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
282 loadtool> exec flash-script
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
283
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
284 First boot of the firmware
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
285 ==========================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
286
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
287 Connect the serial cable, but instead of running fc-loadtool, run rvinterf.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
288 Press the red power button on the phone briefly just like you would for
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
289 fc-loadtool entry. Because there is no fc-loadtool running on the host end of
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
290 the serial cable, the boot path will *not* be diverted in the bootloader, and
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
291 the main fw image will run - and this time it will be the FreeCalypso firmware
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
292 you have compiled and flashed. If the fw you have flashed is the UI demo
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
293 configuration, the phone must have *NO* SIM in it the first time you boot it.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
294 UI-enabled fw configurations automatically bring up the GSM radio and try to
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
295 connect to the default network on boot if there is a SIM present, and you don't
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
296 want your firmware trying to connect to a real live GSM network when you haven't
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
297 initialized your FFS yet. If the fw you have flashed is one of the AT-command-
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
298 controlled pseudo-modem configurations, then you don't need to worry if the SIM
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
299 is there or not on your first boot - just don't command it to connect to a
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
300 network until you have initialized the FFS.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
301
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
302 If you have flashed a non-UI firmware version, the phone's LCD will remain dark
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
303 as there is no LCD driver code in this firmware, but you will see trace output
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
304 in the rvinterf window, telling you that the fw is running.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
305
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
306 Before you do anything else, you will need to run fc-fsio and initialize the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
307 aftermarket FFS for our firmware:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
308
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309 fsio> format /
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 fsio> mk-std-dirs
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 fsio> set-imeisv fc XXXXXXXX-YYYYYY-ZZ (punctuation optional, place anywhere)
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
312 fsio> set-rfcap dual-eu (if you have 900+1800 MHz hardware)
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 or
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
314 fsio> set-rfcap dual-us (if you have 850+1900 MHz hardware)
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
316 then additionally:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318 fsio> upload-subtree rfbin /gsm/rf
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 fsio> write-charging-config /opt/freecalypso/charging/c1xx/standard
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321 The last two commands are new with the 2018-01 revision of the FC-to-C1xx
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 xenotransplantation procedure. The upload-subtree command uploads the RF
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
323 calibration values which you had extracted earlier with c1xx-calextr (the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 instructions assume that you are running from the same directory where the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 rfbin directory subtree had been created earlier), and this step is necessary
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
326 in order for your phone to continue to transmit at the correct power levels
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
327 after the conversion. The write-charging-config command uploads the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
328 configuration settings for the FCHG battery charging driver, without which it
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329 cannot charge the battery; you must have the charging config files from the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
330 fc-battery-conf tree installed under /opt/freecalypso in order for this command
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
331 to work as given.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
332
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333 It needs to be noted that the battery charging config settings uploaded with
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 fc-fsio write-charging-config take effect only on the next boot cycle of the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
335 firmware, i.e., until the next reboot after the write-charging-config operation,
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
336 the firmware won't charge the battery even if there is a charging power source
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
337 plugged in.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
338
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339 After you've initialized your FFS as above, you should exit fc-fsio, and your
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
340 next steps will depend on which fw configuration you are playing with. If it's
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
341 the sans-UI pseudo-modem configuration, run fc-shell and try some AT commands:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
342
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
343 AT+CMEE=2 -- enable verbose error responses
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
344 AT+CFUN=1 -- enable radio and SIM interfaces
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
345 AT+COPS=0 -- register to the default GSM network
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
346
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
347 When you are done, you can power the phone off by sending a 'poweroff' command
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
348 through fc-shell, or you can kill rvinterf or unplug the serial cable and wait
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
349 for the firmware to power off by the keepalive timeout after some 15 to 20 s.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
350
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
351 If you are playing with the UI demo firmware, after you have initialized your
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
352 FFS, you can power the phone off with the power button, insert a SIM, power it
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
353 back on and play with the primitive UI.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
354
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
355 Updating from previous versions
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
356 ===============================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
357
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
358 If you had previously initialized your aftermarket FFS using an earlier version
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
359 of these instructions, before we added the RF calibration and charging config
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
360 upload steps, you need to add these bits to your FFS. Update to the latest FC
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
361 host tools, extract the factory RF calibration values from a dump of your
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
362 phone's flash with c1xx-calextr, add the battery charging config files to your
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
363 /opt/freecalypso installation, boot the phone with rvinterf, get in with fc-fsio
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
364 and run the last two upload-subtree and write-charging-config commands as above.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
365
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
366 Recalibration
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
367 =============
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
368
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
369 In the interest of completeness, it needs to be noted that extracting Motorola's
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
370 original factory RF calibration values and reusing them for FreeCalypso is not
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
371 the only way: the other alternative is to perform a fresh calibration using a
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
372 Rohde&Schwarz CMU200 RF test machine and FreeCalypso RF calibration software
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
373 (fc-rfcal-tools). This approach will yield superior results, but the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
374 requirement of having a CMU200 instrument which is itself properly calibrated
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
375 and a cabling setup with the right adapters whose insertion loss at particular
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
376 GSM frequencies is precisely known makes this approach feasible only for
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
377 professional FreeCalypso service shops, not for ordinary individual users.