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. |
