annotate doc/C1xx-Howto @ 560:d380b62e1019

tpudrv12.h: provision for future FCFAM triband-or-quadband support
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 29 Dec 2018 04:06:37 +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.