FreeCalypso > hg > fc-magnetite
annotate doc/C1xx-Howto @ 479:e9e72ec7b318
aci2: Openmoko's SMS memory full bogon removed
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 14 Jun 2018 07:43:01 +0000 | 
| parents | 6530fc550836 | 
| children | 682955c407b4 | 
| 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 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 procedure. You will need to begin by installing FreeCalypso host tools, and | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 20 the current version of the FC-to-C1xx xenotransplantation procedure (the | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 21 additions from the previous version are RF calibration data migration and | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 22 battery charging configuration) requires the latest fc-host-tools-r8 release: | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 24 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-r8.tar.bz2 | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 You will also need the battery charging configuration files: | 
| 
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 https://bitbucket.org/falconian/fc-battery-conf | 
| 
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 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 | 31 configuration files to your FC host tools installation under /opt/freecalypso. | 
| 
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 Flash backup and data gathering | 
| 
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 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 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 | 37 will need to gather the following pieces of information: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 * 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 | 40 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 | 41 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 | 42 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 | 43 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 | 44 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 | 45 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 | 46 from the display. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 * 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 | 49 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 | 50 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 | 51 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 | 52 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 * 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 | 54 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 | 55 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 | 56 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 | 57 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 | 58 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 | 59 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 * You need to know whether your phone has 2 MiB or 4 MiB flash. To the best of | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 our knowledge, all C139/140 phones have 4 MiB flash, but C11x have been seen | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 with both 2 MiB and 4 MiB flashes. The flash memory size will be autodetected | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 by fc-loadtool as part of making the flash dump. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 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 | 66 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 | 67 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 | 68 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 | 69 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 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 | 71 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 | 72 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 | 73 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 | 74 jack, and run fc-loadtool as follows: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 fc-loadtool -h compal -c 1004 /dev/ttyXXX | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 Change /dev/ttyXXX to the serial or USB-serial device corresponding to your | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 serial cable. The -c 1004 option (adds a little inefficiency which is required | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 for C139/140) phones can be omitted if your phone is C11x/12x, but it is also | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 harmless to always add it. With the serial cable connected, the phone in the | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 powered-off state and the fc-loadtool process running and waiting for the phone, | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 press the red power button on the phone - a momentary press is sufficient and | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 recommended. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 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 | 87 you land at the loadtool> prompt, issue the following command: | 
| 
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 flash dump2bin flashdump.bin | 
| 
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 Given this command, fc-loadtool will autodetect whether your phone has 2 MiB or | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 4 MiB flash, then make a dump of the complete content of this flash memory and | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 save it in a file named flashdump.bin in the current directory. When this | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 operation completes, exit the loadtool session with the exit command - it will | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 also cleanly power the phone off. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 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 | 98 following form: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 c1xx-calextr -b rfbin flashdump.bin <offset> | 
| 
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 Change <offset> to 0x1FC000 if your phone has 2 MiB flash (the size of | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 flashdump.bin is 2097152 bytes) or 0x3FC000 if it has 4 MiB flash (the size of | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 flashdump.bin is 4194304 bytes). The stdout scribbles from c1xx-calextr will | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 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 | 106 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 | 107 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 | 108 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 | 109 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 | 110 change. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 Selecting and building the desired firmware config | 
| 
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 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 There is only one FC Magnetite firmware configuration for C11x/12x phones, but | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 116 for the better C139/140 phones there are several to choose from. The following | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 117 two configs are the currently recommended ones: | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 hybrid-vpm This config is available for both C11x/12x and C139/140 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 subfamilies, although the actual fw images are different | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 between the two. In this configuration the converted phone | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 acts not as an end user phone, but as a voice pseudo-modem that | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 needs to be controlled by a host computer via a serial cable to | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 do anything interesting. See the Voice-pseudo-modem article | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 for more information. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 127 hybrid-ui-vo This config is available only for the C139/140 target, not | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 128 C11x/12x. This configuration includes the UI layers, thus when | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 129 a C139/140 phone runs this firmware, it is able to function as | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 130 an untethered phone without a host computer connection. | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 131 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: 
383diff
changeset | 132 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: 
383diff
changeset | 133 Handset-goal article for more info. | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 135 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: 
383diff
changeset | 136 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: 
383diff
changeset | 137 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: 
383diff
changeset | 138 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: 
383diff
changeset | 139 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: 
383diff
changeset | 140 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: 
383diff
changeset | 141 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: 
383diff
changeset | 142 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: 
383diff
changeset | 143 reduces the weight of the firmware. | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 | 
| 457 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 145 For the C139/140 target (but not for C11x/12x), it is also possible to build | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 146 some of the older configs that use the old binary blob version of the G23M PS | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 147 component and the corresponding old versions of ACI, MFW and BMI on top of it - | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 148 however, those configuration are now officially deprecated except for only two | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 149 remaining use cases which do not apply to Mot C1xx targets, hence they are no | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 150 longer supported officially. | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 151 | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 152 Thus we have a total of 3 possible build configurations, one for the C11x | 
| 
6530fc550836
doc/C1xx-Howto: update for fc-host-tools-r8 and hybrid-ui-vo
 Mychaela Falconia <falcon@freecalypso.org> parents: 
383diff
changeset | 153 target and 2 for the C139: | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 ./configure.sh c11x hybrid-vpm | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 ./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: 
383diff
changeset | 157 ./configure.sh c139 hybrid-ui-vo | 
| 383 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 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 | 160 firmware image in one of the above configurations. | 
| 
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 If this is your first time converting a given C1xx phone from its original | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 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 | 164 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 | 165 in addition to the main fw image you just built: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 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 | 168 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 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 | 170 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 | 171 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 | 172 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 | 173 diverted to external code loaded via the headset jack serial port. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 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 | 176 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 | 177 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 | 178 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 | 179 phones: the official bootloader versions are different between the two (and | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 moreover, each particular official fw version comes with its own bootloader | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 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 | 182 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 | 183 it for all combinations. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 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 | 186 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 | 187 having to touch the dangerous boot sector. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 Converting the phone to FreeCalypso fw | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 ====================================== | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 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 | 193 firmware versions, the procedure for flashing and bringing up FreeCalypso for | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 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 | 195 steps described in the preceding sections: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 * 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 | 198 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 | 199 complete (not just the flashing part, but also the subsequent FFS | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 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 | 201 in the middle of the xenotransplantation procedure. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 * 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 | 204 phone's flash memory for backup and RF calibration data extraction. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 * Once you are in with fc-loadtool, i.e., at the loadtool> prompt, reflash the | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 boot sector with the FreeCalypso version: | 
| 
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 loadtool> flash erase-program-boot compal-flash-boot-for-fc.bin | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 * 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 | 212 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 | 213 actual image: | 
| 
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 loadtool> exec flash-script | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 * 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 | 218 FreeCalypso firmwares; the specific command depends on whether your phone has | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 2 MiB or 4 MiB flash. On 2 MiB flash phones: | 
| 
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 loadtool> flash erase 0x1C0000 0x30000 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 Or on 4 MiB flash phones: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 loadtool> flash erase 0x3C0000 0x30000 | 
| 
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 * 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 | 228 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 loadtool> exit | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 Reflashing between different FreeCalypso firmwares | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 ================================================== | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 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 | 235 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 | 236 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 * 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 | 238 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 | 239 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 | 240 going from one FC firmware to another. | 
| 
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 * 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 | 243 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 | 244 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 | 245 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 | 246 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 | 247 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 | 248 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 | 249 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 | 250 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 | 251 firmware version, it will work with the others as well. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 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 | 254 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 | 255 -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 | 256 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 loadtool> exec flash-script | 
| 
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 First boot of the firmware | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 ========================== | 
| 
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 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 | 263 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 | 264 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 | 265 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 | 266 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 | 267 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 | 268 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 | 269 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 | 270 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 | 271 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 | 272 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 | 273 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 | 274 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 | 275 network until you have initialized the FFS. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 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 | 278 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 | 279 in the rvinterf window, telling you that the fw is running. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 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 | 282 aftermarket FFS for our firmware: | 
| 
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 fsio> format / | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 fsio> mk-std-dirs | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 fsio> set-imeisv fc XXXXXXXX-YYYYYY-ZZ (punctuation optional, place anywhere) | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 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 | 288 or | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 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 | 290 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 then additionally: | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 fsio> upload-subtree rfbin /gsm/rf | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 fsio> write-charging-config /opt/freecalypso/charging/c1xx/standard | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 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 | 297 xenotransplantation procedure. The upload-subtree command uploads the RF | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 calibration values which you had extracted earlier with c1xx-calextr (the | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 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 | 300 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 | 301 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 | 302 after the conversion. The write-charging-config command uploads the | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 configuration settings for the FCHG battery charging driver, without which it | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 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 | 305 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 | 306 to work as given. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 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 | 309 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 | 310 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 | 311 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 | 312 plugged in. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 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 | 315 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 | 316 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 | 317 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 AT+CMEE=2 -- enable verbose error responses | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 AT+CFUN=1 -- enable radio and SIM interfaces | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 AT+COPS=0 -- register to the default GSM network | 
| 
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 When you are done, you can power the phone off by sending a 'poweroff' command | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 through fc-shell, or you can kill rvinterf and wait for the firmware to power | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 off by the keepalive timeout after some 60 to 80 s. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 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 | 327 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 | 328 back on and play with the primitive UI. | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 Updating from previous versions | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 =============================== | 
| 
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 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 | 334 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 | 335 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 | 336 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 | 337 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 | 338 /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 | 339 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 | 340 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 Recalibration | 
| 
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 | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 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 | 345 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 | 346 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 | 347 Rohde&Schwarz CMU200 RF test machine and FreeCalypso RF calibration software | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 (fc-rfcal-tools). This approach will yield superior results, but the | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 requirement of having a CMU200 instrument which is itself properly calibrated | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 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 | 351 GSM frequencies is precisely known makes this approach feasible only for | 
| 
43dbedde9d80
doc/C1xx-Howto written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 professional FreeCalypso service shops, not for ordinary individual users. | 
