FreeCalypso > hg > fc-magnetite
comparison doc/C139-Howto @ 221:e2dce971aec9
doc/C139-Howto: update for the current status
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 16 Oct 2016 00:01:13 +0000 |
parents | 48792a467305 |
children |
comparison
equal
deleted
inserted
replaced
220:60cc20bfe18f | 221:e2dce971aec9 |
---|---|
14 you flash your FC fw image at offset 0x10000 while keeping this boilerplate boot | 14 you flash your FC fw image at offset 0x10000 while keeping this boilerplate boot |
15 code at the beginning of the flash: | 15 code at the beginning of the flash: |
16 | 16 |
17 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/compal-flash-boot-for-fc.bin | 17 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/compal-flash-boot-for-fc.bin |
18 | 18 |
19 Because neither FC Citrine nor FC Magnetite implements any phone UI or puts | 19 We are currently able to produce two kinds of firmware builds for the C139: |
20 anything at all on the LCD, when a C139 phone is flashed with one of our | 20 pseudo-modem or UI demo. The pseudo-modem configuration is intended for those |
21 firmwares, it will behave very oddly: | 21 who would really like to play with AT-command-controlled modem firmware on some |
22 proper Calypso modem hardware like our desired FCDEV3B, but who are using a | |
23 C139 instead out of poverty - a poor man's substitute for proper modem hardware. | |
24 In this configuration the C139 phone's LCD stays dark, the buttons do nothing, | |
25 but the firmware presents TI's RVTMUX interface with FreeCalypso extensions on | |
26 the headset jack serial port. You connect to this serial interface with | |
27 FreeCalypso host utility rvinterf, and use another FC host utility fc-shell to | |
28 talk AT commands to the pseudo-modem. | |
29 | |
30 If you flash a C139 phone with one of our pseudo-modem firmware builds, it will | |
31 behave in some odd ways which you might not expect: | |
22 | 32 |
23 * Whenever the phone is off but the battery is inserted, even a momentary | 33 * Whenever the phone is off but the battery is inserted, even a momentary |
24 accidental press of the power button will launch a full power-on and firmware | 34 accidental press of the power button will launch a full power-on and firmware |
25 boot - without any visible indication whatsoever as the LCD stays dark! | 35 boot - without any visible indication whatsoever as the LCD stays dark! |
26 | 36 |
28 momentary accidental press - there is no way to make it shut down and power | 38 momentary accidental press - there is no way to make it shut down and power |
29 off except by sending a power-off command via the headset jack serial port. | 39 off except by sending a power-off command via the headset jack serial port. |
30 So it will just keep running until the battery runs down, once again with the | 40 So it will just keep running until the battery runs down, once again with the |
31 LCD dark and no visible indication of any kind that it's on. | 41 LCD dark and no visible indication of any kind that it's on. |
32 | 42 |
43 In the UI demo configuration (see Handset-configs) the FC-reflashed C139 acts | |
44 *almost* like an end user phone: it can be operated from the keypad without | |
45 being connected to a PC with a serial cable, there is a very rudimentary UI | |
46 presented on the LCD, the phone can be turned on and off with the power button. | |
47 However, battery charging doesn't work, there is not even a working battery | |
48 gauge, and the UI is full of serious bugs. Thus this fw configuration is | |
49 intended as a DEMO, not something to be inflicted on an actual end user! | |
50 | |
33 Additional considerations are: | 51 Additional considerations are: |
34 | 52 |
35 * Flashing a given phone back and forth between FreeCalypso and Mot/Compal's | 53 * Flashing a given phone back and forth between FreeCalypso and Mot/Compal's |
36 official firmware is a royal pita, so if you are going to play with | 54 official firmware is a royal pita, so if you are going to play with |
37 FreeCalypso on a C139, it would be the easiest to dedicate a phone | 55 FreeCalypso on a C139, it would be the easiest to dedicate a phone |
38 specifically for FC experiments; | 56 specifically for FC experiments; |
39 | 57 |
40 * We haven't got firmware-controlled battery charging working yet, so you will | 58 * We haven't got firmware-controlled battery charging working yet in any of our |
41 need another phone running one of the official fw versions to charge | 59 fw configurations, so you will need another phone running one of the official |
42 batteries. | 60 fw versions to charge batteries. |
43 | 61 |
44 Converting a phone to FreeCalypso | 62 Converting a phone to FreeCalypso |
45 ================================= | 63 ================================= |
46 | 64 |
47 Start by installing FreeCalypso host tools on your PC/laptop or whatever host | 65 Start by installing FreeCalypso host tools on your PC/laptop or whatever host |
63 documentation. | 81 documentation. |
64 | 82 |
65 * Once you are in with fc-loadtool, i.e., at the loadtool> prompt, reflash the | 83 * Once you are in with fc-loadtool, i.e., at the loadtool> prompt, reflash the |
66 boot sector with the FreeCalypso version: | 84 boot sector with the FreeCalypso version: |
67 | 85 |
68 loadtool> flash erase-program-boot compal-flash-boot-for-fc.bin | 86 loadtool> flash erase-program-boot compal-flash-boot-for-fc.bin |
69 | 87 |
70 * Flash whichever FreeCalypso firmware image you would like to play with, e.g.: | 88 * Flash whichever FreeCalypso firmware image you would like to play with, e.g.: |
71 | 89 |
72 loadtool> flash erase 0x10000 0x230000 | 90 loadtool> flash erase 0x10000 0x230000 |
73 loadtool> flash program-bin 0x10000 fwimage.bin | 91 loadtool> flash program-bin 0x10000 fwimage.bin |
92 | |
93 Please note that the image size will be different depending on which | |
94 configuration of which FC fw project you would like to play with, so adjust | |
95 the second number in the flash erase command accordingly - it needs to be | |
96 the fw image size rounded up to a 64 KiB sector boundary. | |
74 | 97 |
75 * Erase the flash sectors to be used for the FFS (flash file system) by | 98 * Erase the flash sectors to be used for the FFS (flash file system) by |
76 FreeCalypso firmwares: | 99 FreeCalypso firmwares: |
77 | 100 |
78 loadtool> flash erase 0x3C0000 0x30000 | 101 loadtool> flash erase 0x3C0000 0x30000 |
79 | 102 |
80 * Exiting fc-loadtool cleanly will cause it to power off the phone: | 103 * Exiting fc-loadtool cleanly will cause it to power off the phone: |
81 | 104 |
82 loadtool> exit | 105 loadtool> exit |
83 | 106 |
84 Reflashing between different FreeCalypso firmwares | 107 Reflashing between different FreeCalypso firmwares |
85 ================================================== | 108 ================================================== |
86 | 109 |
87 By the conventions established in the FreeCalypso project, all of our firmwares | 110 By the conventions established in the FreeCalypso project, all of our firmwares |
115 Connect the serial cable, but instead of running fc-loadtool, run rvinterf. | 138 Connect the serial cable, but instead of running fc-loadtool, run rvinterf. |
116 Press the red power button on the phone briefly just like you would for | 139 Press the red power button on the phone briefly just like you would for |
117 fc-loadtool entry. Because there is no fc-loadtool running on the host end of | 140 fc-loadtool entry. Because there is no fc-loadtool running on the host end of |
118 the serial cable, the boot path will *not* be diverted in the bootloader, and | 141 the serial cable, the boot path will *not* be diverted in the bootloader, and |
119 the main fw image will run - and this time it will be the FreeCalypso firmware | 142 the main fw image will run - and this time it will be the FreeCalypso firmware |
120 you have compiled and flashed. The phone's LCD will remain dark as there is no | 143 you have compiled and flashed. If the fw you have flashed is the UI demo |
121 LCD driver code in this firmware, but you will see trace output in the rvinterf | 144 configuration, the phone must have *NO* SIM in it the first time you boot it. |
122 window, telling you that the fw is running. | 145 UI-enabled fw configuration automatically bring up the GSM radio and try to |
146 connect to the default network on boot if there is a SIM present, and you don't | |
147 want your firmware trying to connect to a real live GSM network when you haven't | |
148 initialized your FFS yet. If the fw you have flashed is one of the AT-command- | |
149 controlled pseudo-modem configurations, then you don't need to worry if the SIM | |
150 is there or not on your first boot - just don't command it to connect to a | |
151 network until you have initialized the FFS. | |
152 | |
153 If you have flashed a non-UI firmware version, the phone's LCD will remain dark | |
154 as there is no LCD driver code in this firmware, but you will see trace output | |
155 in the rvinterf window, telling you that the fw is running. | |
123 | 156 |
124 Before you do anything else, you will need to run fc-fsio and initialize the | 157 Before you do anything else, you will need to run fc-fsio and initialize the |
125 aftermarket FFS for our firmware: | 158 aftermarket FFS for our firmware: |
126 | 159 |
127 fsio> format / | 160 fsio> format / |
129 fsio> set-imeisv fc XXXXXXXX-YYYYYY-ZZ (punctuation optional, place anywhere) | 162 fsio> set-imeisv fc XXXXXXXX-YYYYYY-ZZ (punctuation optional, place anywhere) |
130 fsio> set-rfcap dual-eu (if you have 900+1800 MHz hardware) | 163 fsio> set-rfcap dual-eu (if you have 900+1800 MHz hardware) |
131 or | 164 or |
132 fsio> set-rfcap dual-us (if you have 850+1900 MHz hardware) | 165 fsio> set-rfcap dual-us (if you have 850+1900 MHz hardware) |
133 | 166 |
134 After you've initialized your FFS as above, you can exit fc-fsio, run fc-shell | 167 After you've initialized your FFS as above, you should exit fc-fsio, and your |
135 and try some AT commands: | 168 next steps will depend on which fw configuration you are playing with. If it's |
169 the sans-UI pseudo-modem configuration, run fc-shell and try some AT commands: | |
136 | 170 |
137 AT+CMEE=2 -- enable verbose error responses | 171 AT+CMEE=2 -- enable verbose error responses |
138 AT+CFUN=1 -- enable radio and SIM interfaces | 172 AT+CFUN=1 -- enable radio and SIM interfaces |
139 AT+COPS=0 -- register to the default GSM network | 173 AT+COPS=0 -- register to the default GSM network |
140 | 174 |
143 latter is recommended anyway: when a phone with the present hack-firmware | 177 latter is recommended anyway: when a phone with the present hack-firmware |
144 flashed into it is powered off but still has the battery inserted, even a | 178 flashed into it is powered off but still has the battery inserted, even a |
145 momentary accidental press of the power button will cause it to power on and | 179 momentary accidental press of the power button will cause it to power on and |
146 boot, but there will be absolutely no visual indication, as the LCD stays dark. | 180 boot, but there will be absolutely no visual indication, as the LCD stays dark. |
147 | 181 |
148 Magnetite-specific notes | 182 If you are playing with the UI demo firmware, after you have initialized your |
149 ======================== | 183 FFS, you can power the phone off with the power button, insert a SIM, power it |
150 | 184 back on and play with the primitive UI. |
151 Just like FC Citrine, FC Magnetite currently supports only AT command operation | |
152 via fc-shell; the C-Sample UI hack we have built earlier in tcs211-c139 has NOT | |
153 been incorporated into Magnetite - at least not yet. | |
154 | |
155 When compiling our Magnetite firmware for the C139 target, you will need to | |
156 select the l1reconst configuration - it is the only currently available | |
157 configuration that works on this target. Therefore, you configure.sh command | |
158 should be: | |
159 | |
160 ./configure.sh c139 l1reconst | |
161 | |
162 See the Compiling write-up for more details. | |
163 | |
164 Because we have not deblobbed the G23M firmware component yet (the l1reconst | |
165 configuration uses G23M binary blobs from TCS211/Sotovik), your Magnetite fw | |
166 build will include FAX_AND_DATA and GPRS functionality. In the FreeCalypso | |
167 environment where we are not doing WAP or MMS this functionality can only be | |
168 exercised on targets that bring out a classic modem UART with the classic AT | |
169 command interface to the external host, but Mot C139 is not one of those | |
170 targets - hence on the C139 all FAX_AND_DATA and GPRS code is nothing but dead | |
171 weight. We will only be able to remove this dead weight when and if we fully | |
172 deblob all of L1 and G23M, so it will be a while before we get there, and we'll | |
173 have to carry the dead weight until then. |