FreeCalypso > hg > fc-magnetite
annotate doc/C139-Howto @ 315:8cc745104906
compiled-in afcparams numbers for Compal and Pirelli targets
now match those used by their respective original firmwares
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 16 Nov 2017 05:43:03 +0000 | 
| parents | e2dce971aec9 | 
| children | 
| rev | line source | 
|---|---|
| 
95
 
48792a467305
doc/C139-Howto improved a bit
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
94 
diff
changeset
 | 
1 Running FreeCalypso firmware on the Motorola C139 | 
| 
 
48792a467305
doc/C139-Howto improved a bit
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
94 
diff
changeset
 | 
2 ================================================= | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 Mot C139 phones are brickable - because the Calypso boot ROM is disabled by PCB | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 wiring, the ability to reflash a phone with new firmware critically depends on | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 there being a particular kind of boot code in flash sector 0 at all times - a | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 particular kind of boot code that allows the boot process to be interrupted and | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 diverted to external code loaded via the headset jack serial port. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 The FreeCalypso project has adopted one specific version of the flash sector 0 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 boot code (produced by applying a binary patch to one of Compal/Motorola's | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 original versions) for use with all of our firmwares for this target. No matter | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 which FreeCalypso firmware you are running - Citrine, Magnetite or tcs211-c139 - | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 you flash your FC fw image at offset 0x10000 while keeping this boilerplate boot | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 code at the beginning of the flash: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/compal-flash-boot-for-fc.bin | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
19 We are currently able to produce two kinds of firmware builds for the C139: | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
20 pseudo-modem or UI demo. The pseudo-modem configuration is intended for those | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
21 who would really like to play with AT-command-controlled modem firmware on some | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
22 proper Calypso modem hardware like our desired FCDEV3B, but who are using a | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
23 C139 instead out of poverty - a poor man's substitute for proper modem hardware. | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
24 In this configuration the C139 phone's LCD stays dark, the buttons do nothing, | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
25 but the firmware presents TI's RVTMUX interface with FreeCalypso extensions on | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
26 the headset jack serial port. You connect to this serial interface with | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
27 FreeCalypso host utility rvinterf, and use another FC host utility fc-shell to | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
28 talk AT commands to the pseudo-modem. | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
29 | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
30 If you flash a C139 phone with one of our pseudo-modem firmware builds, it will | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
31 behave in some odd ways which you might not expect: | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 * Whenever the phone is off but the battery is inserted, even a momentary | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 accidental press of the power button will launch a full power-on and firmware | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 boot - without any visible indication whatsoever as the LCD stays dark! | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 * Once the firmware has booted from a press of the power button - even a | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 momentary accidental press - there is no way to make it shut down and power | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 off except by sending a power-off command via the headset jack serial port. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 So it will just keep running until the battery runs down, once again with the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 LCD dark and no visible indication of any kind that it's on. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
43 In the UI demo configuration (see Handset-configs) the FC-reflashed C139 acts | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
44 *almost* like an end user phone: it can be operated from the keypad without | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
45 being connected to a PC with a serial cable, there is a very rudimentary UI | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
46 presented on the LCD, the phone can be turned on and off with the power button. | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
47 However, battery charging doesn't work, there is not even a working battery | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
48 gauge, and the UI is full of serious bugs. Thus this fw configuration is | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
49 intended as a DEMO, not something to be inflicted on an actual end user! | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
50 | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 Additional considerations are: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 * Flashing a given phone back and forth between FreeCalypso and Mot/Compal's | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 official firmware is a royal pita, so if you are going to play with | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 FreeCalypso on a C139, it would be the easiest to dedicate a phone | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 specifically for FC experiments; | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
58 * We haven't got firmware-controlled battery charging working yet in any of our | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
59 fw configurations, so you will need another phone running one of the official | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
60 fw versions to charge batteries. | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 Converting a phone to FreeCalypso | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 ================================= | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 Start by installing FreeCalypso host tools on your PC/laptop or whatever host | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 you will use to talk to C139 phones, if you haven't already. If you are | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 starting with an unhacked C139 phone running one of the official firmware | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 versions, the procedure for flashing and bringing up FreeCalypso for the first | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 time is as follows: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 * Note down your phone's factory IMEI. After you get FreeCalypso firmware | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 flashed and running, you will need to set your own IMEISV, as our fw doesn't | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 know how to grok Mot/Compal's flash data structures where they store theirs. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 You can set whatever IMEISV you like, but if you would like to keep the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 factory one, it would be the easiest to have it noted down on a piece of | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 paper. If you have a labelmaker, you can print a sticky label with the IMEI | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 and stick it on the side of the phone where you can easily see it later while | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 playing with FreeCalypso. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 * Get in with fc-loadtool, preceded with tfc139 if necessary - see FC host tools | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 documentation. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 * Once you are in with fc-loadtool, i.e., at the loadtool> prompt, reflash the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 boot sector with the FreeCalypso version: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
86 loadtool> flash erase-program-boot compal-flash-boot-for-fc.bin | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 | 
| 
95
 
48792a467305
doc/C139-Howto improved a bit
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
94 
diff
changeset
 | 
88 * Flash whichever FreeCalypso firmware image you would like to play with, e.g.: | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
90 loadtool> flash erase 0x10000 0x230000 | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
91 loadtool> flash program-bin 0x10000 fwimage.bin | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
92 | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
93 Please note that the image size will be different depending on which | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
94 configuration of which FC fw project you would like to play with, so adjust | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
95 the second number in the flash erase command accordingly - it needs to be | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
96 the fw image size rounded up to a 64 KiB sector boundary. | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 * Erase the flash sectors to be used for the FFS (flash file system) by | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 FreeCalypso firmwares: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
101 loadtool> flash erase 0x3C0000 0x30000 | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 * Exiting fc-loadtool cleanly will cause it to power off the phone: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
105 loadtool> exit | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 Reflashing between different FreeCalypso firmwares | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 ================================================== | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 By the conventions established in the FreeCalypso project, all of our firmwares | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 for the C139 target have the following in common: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 * They all stay out of the boot sector and expect to receive control from the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 boot code in the same manner (boot entry point at 0x10058, exception vectors | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 at 0x10000), thus there is no need to reflash the dangerous boot sector when | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 going from one FC firmware to another. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 * They all use the same aftermarket FFS configuration of 3 sectors of 64 KiB | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 each (64x3) at 0x3C0000. This FFS location is deliberately different from | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 the one used by Mot/Compal's firmwares, eliminating the possibility of one fw | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 trying to use the FFS created by the other, and by putting our FFS toward the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 end of the flash we maximize the amount of flash space available for our | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 firmware code images. But even though we don't share our FFS with | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 Mot/Compal's official firmwares, we do share the same FFS between all of | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 FreeCalypso firmware projects - thus once you have initialized your FFS (see | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 below) with one FC firmware version, it will work with the others as well. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 If you need to reflash your C139 from one FC firmware version to another, | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 simply get in with fc-loadtool -h compal (no more need for the inefficient | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 -c 1003 or -c 1004 options or for tfc139) and reflash just the fw image part: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 loadtool> flash erase 0x10000 0x230000 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 loadtool> flash program-bin 0x10000 fwimage.bin | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 First boot of the firmware | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 ========================== | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 Connect the serial cable, but instead of running fc-loadtool, run rvinterf. | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 Press the red power button on the phone briefly just like you would for | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 fc-loadtool entry. Because there is no fc-loadtool running on the host end of | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 the serial cable, the boot path will *not* be diverted in the bootloader, and | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 the main fw image will run - and this time it will be the FreeCalypso firmware | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
143 you have compiled and flashed. If the fw you have flashed is the UI demo | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
144 configuration, the phone must have *NO* SIM in it the first time you boot it. | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
145 UI-enabled fw configuration automatically bring up the GSM radio and try to | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
146 connect to the default network on boot if there is a SIM present, and you don't | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
147 want your firmware trying to connect to a real live GSM network when you haven't | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
148 initialized your FFS yet. If the fw you have flashed is one of the AT-command- | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
149 controlled pseudo-modem configurations, then you don't need to worry if the SIM | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
150 is there or not on your first boot - just don't command it to connect to a | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
151 network until you have initialized the FFS. | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
152 | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
153 If you have flashed a non-UI firmware version, the phone's LCD will remain dark | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
154 as there is no LCD driver code in this firmware, but you will see trace output | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
155 in the rvinterf window, telling you that the fw is running. | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 Before you do anything else, you will need to run fc-fsio and initialize the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 aftermarket FFS for our firmware: | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 fsio> format / | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 fsio> mk-std-dirs | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 fsio> set-imeisv fc XXXXXXXX-YYYYYY-ZZ (punctuation optional, place anywhere) | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 fsio> set-rfcap dual-eu (if you have 900+1800 MHz hardware) | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 or | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 fsio> set-rfcap dual-us (if you have 850+1900 MHz hardware) | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
167 After you've initialized your FFS as above, you should exit fc-fsio, and your | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
168 next steps will depend on which fw configuration you are playing with. If it's | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
169 the sans-UI pseudo-modem configuration, run fc-shell and try some AT commands: | 
| 
94
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 AT+CMEE=2 -- enable verbose error responses | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 AT+CFUN=1 -- enable radio and SIM interfaces | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 AT+COPS=0 -- register to the default GSM network | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 When you are done, you can power the phone off by sending a 'poweroff' command | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 through fc-shell. The only other way is to yank the battery, and doing the | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 latter is recommended anyway: when a phone with the present hack-firmware | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 flashed into it is powered off but still has the battery inserted, even a | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 momentary accidental press of the power button will cause it to power on and | 
| 
 
596d86109e44
initial round of documentation
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 boot, but there will be absolutely no visual indication, as the LCD stays dark. | 
| 
95
 
48792a467305
doc/C139-Howto improved a bit
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
94 
diff
changeset
 | 
181 | 
| 
221
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
182 If you are playing with the UI demo firmware, after you have initialized your | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
183 FFS, you can power the phone off with the power button, insert a SIM, power it | 
| 
 
e2dce971aec9
doc/C139-Howto: update for the current status
 
Mychaela Falconia <falcon@freecalypso.org> 
parents: 
95 
diff
changeset
 | 
184 back on and play with the primitive UI. | 
