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.