annotate doc/C1xx-Howto @ 639:026c98f757a6

tpudrv12.h & targets/gtm900.h: our current support is for MGC2GSMT version only As it turns out, there exist two different Huawei-made hw platforms both bearing the marketing name GTM900-B: one is MG01GSMT, the other is MGC2GSMT. The two are NOT fw-compatible: aside from flash chip differences which should be handled by autodetection, the two hw platforms are already known to have different RFFEs with different control signals, and there may be other differences not yet known. Our current gtm900 build target is for MGC2GSMT only; we do not yet have a specimen of MG01GSMT on hand, hence no support for that version will be possible until and unless someone provides one.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 30 Jan 2020 18:19:01 +0000
parents c32c887ced3a
children
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
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
19 procedure. You will need to begin by installing FreeCalypso host tools; the
614
7ca17426c890 doc/C1xx-Howto: fc-host-tools-latest symlink
Mychaela Falconia <falcon@freecalypso.org>
parents: 594
diff changeset
20 current version at any given moment can be found at this URL:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
614
7ca17426c890 doc/C1xx-Howto: fc-host-tools-latest symlink
Mychaela Falconia <falcon@freecalypso.org>
parents: 594
diff changeset
22 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-latest.tar.bz2
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
24 You will also need our battery charging configuration files:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
617
c32c887ced3a doc: Bitbucket links changed to new location
Mychaela Falconia <falcon@freecalypso.org>
parents: 614
diff changeset
26 https://www.freecalypso.org/hg/fc-battery-conf/
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 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
29 configuration files to your FC host tools installation under /opt/freecalypso.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 Flash backup and data gathering
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 ===============================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 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
35 will need to gather the following pieces of information:
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 * 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
38 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
39 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
40 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
41 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
42 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
43 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
44 from the display.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 * 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
47 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
48 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
49 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
50
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 * 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
52 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
53 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
54 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
55 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
56 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
57
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
58 * 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
59 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
60 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
61 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
62 flash dump. C155 and C156 phones have 8 MiB flash.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 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
65 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
66 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
67 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
68
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 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
70 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
71 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
72 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
73 jack, and run fc-loadtool as follows:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
75 C11x/12x: fc-loadtool -h compal /dev/ttyXXX
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
76 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
77 C155/156: fc-loadtool -h c155 /dev/ttyXXX
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 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
80 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
81 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
82 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
83
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 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
85 you land at the loadtool> prompt, issue the following command:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 flash dump2bin flashdump.bin
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 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
90 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
91 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
92 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
93 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
94
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 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
96 following form:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 c1xx-calextr -b rfbin flashdump.bin <offset>
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
100 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
101 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
102 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
103 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
104 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
105 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
106 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
107 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
108 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
109 change.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 Selecting and building the desired firmware config
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 ==================================================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 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
115 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
116 from. The following two configs are the currently recommended ones:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
118 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
119 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
120 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
121 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
122 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
123 See the Voice-pseudo-modem article for more information.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
125 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
126 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
127 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
128 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
129 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
130 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
131 Handset-goal article for more info.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132
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 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
134 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
135 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
136 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
137 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
138 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
139 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
140 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
141 reduces the weight of the firmware.
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
143 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
144 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
145 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
146 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
147 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
148 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
149
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
150 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
151 target, 2 for C139/140 and 1 for C155/156:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 ./configure.sh c11x hybrid-vpm
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 ./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
155 ./configure.sh c139 hybrid-ui-vo
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
156 ./configure.sh c155 hybrid-vpm
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 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
159 firmware image in one of the above configurations.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160
543
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
161 Bootloader change on the lower C1xx subfamilies
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
162 ===============================================
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
163
4f378f6c5efa doc/C1xx-Howto: C155 support
Mychaela Falconia <falcon@freecalypso.org>
parents: 539
diff changeset
164 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
165 apply to the C155/156 subfamily.
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 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
168 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
169 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
170 in addition to the main fw image you just built:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 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
173
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
174 (If you are working with a binary release package that has prebuilt firmware
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
175 images, the compal-flash-boot-for-fc.bin image is also included in the
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
176 package.)
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
177
383
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
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
306 Before you do anything else, you will need to run fc-fsio (run it without the
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
307 -p option to have it connect to your already-running rvinterf process) and
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
308 initialize the aftermarket FFS for our firmware:
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
309
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
310 fsio> format /
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
311 fsio> mk-std-dirs
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
312 fsio> set-imeisv fc XXXXXXXX-YYYYYY-SV (see following section for the details)
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
313 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
314 or
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
315 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
316
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
317 then additionally:
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
318
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
319 fsio> upload-subtree rfbin /gsm/rf
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
320 fsio> write-charging-config /opt/freecalypso/charging/c1xx/standard
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
321
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
322 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
323 xenotransplantation procedure. The upload-subtree command uploads the RF
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
324 calibration values which you had extracted earlier with c1xx-calextr (the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
325 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
326 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
327 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
328 after the conversion. The write-charging-config command uploads the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
329 configuration settings for the FCHG battery charging driver, without which it
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
330 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
331 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
332 to work as given.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
333
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
334 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
335 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
336 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
337 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
338 plugged in.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
339
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
340 Note regarding the IMEISV
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
341 =========================
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
342
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
343 The argument to the set-imeisv command in fc-fsio is a 16-digit IMEISV, not a
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
344 15-digit IMEI. The IMEI part of IMEISV (the first 14 digits) identifies the
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
345 physical hardware and is supposed to be immutable, whereas the two SV digits
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
346 are supposed to identify the software version, i.e., they are supposed to change
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
347 when the software version changes in a significant way. Motorola and Compal
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
348 did in fact use the SV digits as called for by the specs: their official
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
349 firmwares take the IMEI part of IMEISV from the factory-written per-unit vital
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
350 data records, and each fw version appends its own SV digits, different from one
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
351 version to the next.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
352
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
353 When a Mot C1xx phone runs FreeCalypso as opposed to one of Motorola's official
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
354 fw versions, we need our own SV to identify our firmware as being distinct from
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
355 any of Motorola's original versions. The convention established by the Mother
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
356 of FreeCalypso is that the SV for FreeCalypso on Mot C1xx should be set to 98.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
357
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
358 To transform the 15-digit IMEI of your Mot C1xx phone into the 16-digit IMEISV
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
359 to be entered in fc-fsio set-imeisv, perform the following two steps:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
360
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
361 1) Drop the Luhn check digit - it is not included in the IMEISV form;
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
362 2) Add -98 to the remaining 14 content digits of the IMEI from the previous
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
363 step.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
364
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
365 Exercising GSM functionality
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
366 ============================
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
367
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
368 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
369 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
370 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
371
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
372 AT+CMEE=2 -- enable verbose error responses
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
373 AT+CFUN=1 -- enable radio and SIM interfaces
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
374 AT+COPS=0 -- register to the default GSM network
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
375
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
376 Once you are connected to a network, you can dial and answer voice calls with
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
377 ATD and ATA commands, and you can use GSM 07.05 AT commands to send and receive
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
378 SMS. You can also use the quite capable SMS tools included in the FC host tools
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
379 package.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
380
383
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
381 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
382 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
383 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
384
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
385 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
386 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
387 back on and play with the primitive UI.
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
388
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
389 Updating from previous versions
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
390 ===============================
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
391
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
392 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
393 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
394 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
395 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
396 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
397 /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
398 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
399
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
400 Recalibration
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
401 =============
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
402
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
403 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
404 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
405 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
406 Rohde&Schwarz CMU200 RF test machine and FreeCalypso RF calibration software
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
407 (fc-rfcal-tools). This approach will yield superior results, but the
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
408 requirement of having a CMU200 instrument which is itself properly calibrated
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
409 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
410 GSM frequencies is precisely known makes this approach feasible only for
43dbedde9d80 doc/C1xx-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
411 professional FreeCalypso service shops, not for ordinary individual users.
594
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
412
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
413 Restoring Motorola's original firmware
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
414 ======================================
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
415
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
416 If you have many phones of the same type, it is best to dedicate a particular
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
417 phone to FreeCalypso, as reflashing a phone back and forth is a royal pita.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
418 However, if you have only one phone, then you don't have much choice except to
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
419 reflash it back and forth between Motorola's official fw and FreeCalypso, thus
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
420 instructions need to be provided.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
421
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
422 Restoring original fw on the lower C1xx subfamilies
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
423 ---------------------------------------------------
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
424
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
425 Whether you are restoring the original fw version your phone came with or
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
426 flashing a different official fw version, you need to ensure that whichever fw
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
427 version you are flashing does not have its bootloader locked out. Examine your
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
428 fw image with a hex dump tool and look at the 4 bytes at location 0x2060. If
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
429 these 4 bytes are all FF, then you have an older fw version with no bootloader
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
430 locking capability - good. If these 4 bytes are 'DD DD DD DD' (0xDDDDDDDD
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
431 32=bit word), then your fw version does have bootloader locking capability, but
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
432 the lock is not activated. In this case you can still flash it, but you must
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
433 make sure that this 32-bit word at 0x2060 always remains equal to 0xDDDDDDDD,
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
434 otherwise your phone will be bricked. And finally if the 4 bytes at 0x2060 are
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
435 all zeros, then the bootloader lock is activated - DO NOT flash an image in
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
436 this state (you will brick your phone if you do), instead you need to patch
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
437 these 4 bytes to 0xDDDDDDDD with a hex editor and then flash the resulting
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
438 unlocked version.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
439
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
440 Once you have verified that your to-be-flashed fw image is safe, you can flash
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
441 it as follows:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
442
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
443 1) Get in with fc-loadtool:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
444
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
445 fc-loadtool -h compal -c 1004 /dev/ttyXXX
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
446
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
447 The -c 1004 option is generally unnecessary if your phone runs FreeCalypso fw,
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
448 but it doesn't hurt to always include it - it only makes the fc-loadtool entry
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
449 process slower by about a second.
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
450
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
451 2) Once you are at the loadtool> prompt, issue the following commands:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
452
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
453 if your phone is C139/140 or C11x/12x with 4 MiB flash:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
454
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
455 loadtool> flash erase-program-boot mot-fw-image.bin 0x10000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
456 loadtool> flash erase 0x10000 0x360000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
457 loadtool> flash program-bin 0x10000 mot-fw-image.bin 0x10000 0x360000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
458
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
459 or if your phone is C11x/12x with 2 MiB flash:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
460
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
461 loadtool> flash erase-program-boot mot-fw-image.bin 0x10000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
462 loadtool> flash erase 0x10000 0x1E0000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
463 loadtool> flash program-bin 0x10000 mot-fw-image.bin 0x10000 0x1E0000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
464
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
465 Restoring original fw on Mot C155/156
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
466 -------------------------------------
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
467
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
468 On these phones the bootloader is separate from the main body of the firmware,
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
469 thus there is no need to reflash the dangerous boot sector (erase-program-boot)
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
470 when changing firmwares, whether changing between Motorola's official fw and
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
471 FreeCalypso or between different Mot fw versions. Simply get in with
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
472 fc-loadtool like this:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
473
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
474 fc-loadtool -h c155 /dev/ttyXXX
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
475
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
476 and reflash the firmware like this:
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
477
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
478 loadtool> flash erase 0x20000 0x7C0000
9327935d8549 doc/C1xx-Howto: various updates
Mychaela Falconia <falcon@freecalypso.org>
parents: 543
diff changeset
479 loadtool> flash program-bin 0x20000 flash-backup.bin 0x20000 0x7C0000