FreeCalypso > hg > freecalypso-tools
comparison doc/Compal-calibration @ 481:6dcca662a02f
doc/Compal-calibration: update for SE J100 being the same as Mot C1xx
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Wed, 06 Mar 2019 21:12:43 +0000 |
| parents | 3d79116be312 |
| children |
comparison
equal
deleted
inserted
replaced
| 480:09b47223ee1b | 481:6dcca662a02f |
|---|---|
| 1 Reading factory RF calibration values out of Mot C1xx phones | 1 Reading factory RF calibration values out of Mot C1xx and SE J100 phones |
| 2 ============================================================ | 2 ======================================================================== |
| 3 | 3 |
| 4 Motorola C1xx phones are based on the Calypso+Iota+Rita chipset from TI and | 4 Motorola C1xx and Sony Ericsson J100 phones are based on the Calypso+Iota+Rita |
| 5 their firmware is also loosely based on TI's reference, but Compal (Motorola's | 5 chipset from TI and their firmware is also loosely based on TI's reference, but |
| 6 ODM and the maker of these phones) have made lots and lots of changes moving | 6 Compal (the ODM who produced these phones for Motorola and SE) made lots and |
| 7 away from TI's canonical way of doing things. When it comes to RF calibration, | 7 lots of changes moving away from TI's canonical way of doing things. When it |
| 8 Mot/Compal have performed it on each individual unit on their factory production | 8 comes to RF calibration, Mot/SE/Compal have performed it on each individual |
| 9 line just like all other GSM phone and modem manufacturers, but instead of | 9 unit on their factory production line just like all other GSM phone and modem |
| 10 storing the results of this calibration in TI's flash file system, Mot/Compal | 10 manufacturers, but instead of storing the results of this calibration in TI's |
| 11 have put these calibration values into a completely different flash data | 11 flash file system, Compal put these calibration values into a completely |
| 12 structure of their own invention. | 12 different flash data structure of their own invention. |
| 13 | 13 |
| 14 We don't know the proper name for Mot/Compal's flash data structure that has no | 14 We don't know the proper name for Mot/SE/Compal's flash data structure that has |
| 15 counterpart in TI's canonical solution, but we know its location in the flash: | 15 no counterpart in TI's canonical solution, but we know its location in the |
| 16 flash: | |
| 16 | 17 |
| 17 * On C1xx phones with 2 MiB flash (most C11x/12x variants), it is the 8 KiB | 18 * On C1xx phones with 2 MiB flash (most C11x/12x variants), it is the 8 KiB |
| 18 flash sector at 0x1FC000; | 19 flash sector at 0x1FC000; |
| 19 | 20 |
| 20 * On C139/140 phones and the rare C11x/12x variants with 4 MiB flash, it is the | 21 * On C139/140 phones and the rare C11x/12x variants with 4 MiB flash, and also |
| 21 8 KiB flash sector at 0x3FC000; | 22 on the SE J100, it is the 8 KiB flash sector at 0x3FC000; |
| 22 | 23 |
| 23 * On C155/156 phones with 8 MiB flash, the data structure in question is | 24 * On C155/156 phones with 8 MiB flash, the data structure in question is |
| 24 contained in the first 8 KiB of the 64 KiB physical flash sector at 0x7E0000. | 25 contained in the first 8 KiB of the 64 KiB physical flash sector at 0x7E0000. |
| 25 | 26 |
| 26 The flash sector in question contains record-structured data; we don't know the | 27 The flash sector in question contains record-structured data; we don't know the |
| 27 meaning of most of these records, but we have been able to find the RF | 28 meaning of most of these records, but we have been able to find the RF |
| 28 calibration records among them and locate the actual calibration values of | 29 calibration records among them and locate the actual calibration values of |
| 29 interest inside those records. | 30 interest inside those records. |
| 30 | 31 |
| 31 In order to extract the RF calibration values from your C1xx phone for use with | 32 In order to extract the RF calibration values from your C1xx or SE J100 phone |
| 32 FreeCalypso, you will need a dump of your phone's flash, or at least a dump of | 33 for use with FreeCalypso, you will need a dump of your phone's flash, or at |
| 33 the specific 8 KiB sector at the model-dependent offset given above. As a | 34 least a dump of the specific 8 KiB sector at the model-dependent offset given |
| 34 specific example, if your phone is a C139/140 or a C11x/12x variant with 4 MiB | 35 above. As a specific example, if your phone is a C139/140 or a C11x/12x |
| 35 flash and you have a complete dump of that flash, execute a command like the | 36 variant with 4 MiB flash (or SE J100) and you have a complete dump of that |
| 36 following: | 37 flash, execute a command like the following: |
| 37 | 38 |
| 38 c1xx-calextr -b rfbin flashdump.bin 0x3FC000 | 39 c1xx-calextr -b rfbin flashdump.bin 0x3FC000 |
| 39 | 40 |
| 40 The c1xx-calextr utility locates the RF calibration records in the flash dump | 41 The c1xx-calextr utility locates the RF calibration records in the flash dump |
| 41 binary, extracts those calibration values contained therein which we are able | 42 binary, extracts those calibration values contained therein which we are able |
| 72 into up to 10 subbands, and each of these subbands gets its own channel | 73 into up to 10 subbands, and each of these subbands gets its own channel |
| 73 correction value. The ARFCN boundaries between the subbands are defined by the | 74 correction value. The ARFCN boundaries between the subbands are defined by the |
| 74 external calibration system and not by the firmware code, by virtue of being | 75 external calibration system and not by the firmware code, by virtue of being |
| 75 given inside the Rx calchan table itself along with the correction values. | 76 given inside the Rx calchan table itself along with the correction values. |
| 76 | 77 |
| 77 But Motorola/Compal have made two changes: | 78 But Compal (all C1xx variants and SE J100) have made two changes: |
| 78 | 79 |
| 79 * They increased the number of subbands from 10 (TI's canon) to 21 for the | 80 * They increased the number of subbands from 10 (TI's canon) to 21 for the |
| 80 GSM850 band, 30 for the EGSM band, 63 for DCS and 50 for PCS, so that each | 81 GSM850 band, 30 for the EGSM band, 63 for DCS and 50 for PCS, so that each |
| 81 subband is only 6 channels (1.2 MHz). | 82 subband is only 6 channels (1.2 MHz). |
| 82 | 83 |
| 83 * The ARFCN boundaries for the subbands are not stored in the calibration | 84 * The ARFCN boundaries for the subbands are not stored in the calibration |
| 84 records in the flash, but are fixed in the firmware instead. | 85 records in the flash, but are fixed in the firmware instead. |
| 85 | 86 |
| 86 Changing our FreeCalypso firmware to allow up to 63 Rx AGC subbands to match | 87 Changing our FreeCalypso firmware to allow up to 63 Rx AGC subbands to match |
| 87 Mot/Compal's fw would be too disruptive, hence our current c1xx-calextr | 88 Compal's fw architecture would be too disruptive, hence our current c1xx-calextr |
| 88 implementation translates Mot/Compal's Rx channel correction values to TI/FC | 89 implementation translates Compal's Rx channel correction values to TI/FC format |
| 89 format by combining groups of Mot/Compal's subbands into larger subbands, and | 90 by combining groups of Compal's subbands into larger subbands, and making a |
| 90 making a mean value out of the smaller subband correction values in Mot/Compal's | 91 mean value out of the smaller subband correction values in Compal's factory |
| 91 factory calibration record. | 92 calibration record. |
| 92 | 93 |
| 93 The AGC subbands defined by Mot/Compal's fw are listed below, with each numeric | 94 The AGC subbands defined by Compal's fw are listed below, with each numeric |
| 94 line giving the ARFCN range of each subband; blank lines separate the groupings | 95 line giving the ARFCN range of each subband; blank lines separate the groupings |
| 95 made by c1xx-calextr. | 96 made by c1xx-calextr. |
| 96 | 97 |
| 97 850 MHz band: | 98 850 MHz band: |
| 98 | 99 |
