FreeCalypso > hg > freecalypso-tools
comparison doc/Compal-calibration @ 305:3d79116be312
doc/Compal-calibration: fc-readcal failed approach documented
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Mon, 20 Nov 2017 17:51:23 +0000 |
| parents | 9c1444923495 |
| children | 6dcca662a02f |
comparison
equal
deleted
inserted
replaced
| 304:9c1444923495 | 305:3d79116be312 |
|---|---|
| 324 with all channel correction values set to 128, meaning no channel correction. | 324 with all channel correction values set to 128, meaning no channel correction. |
| 325 But since we do use the Tx levels table of APC DAC values from Mot/Compal's | 325 But since we do use the Tx levels table of APC DAC values from Mot/Compal's |
| 326 factory records, and given that the tolerances for Tx power levels given in the | 326 factory records, and given that the tolerances for Tx power levels given in the |
| 327 GSM 05.05 spec are quite generous, we expect to still be within these tolerances | 327 GSM 05.05 spec are quite generous, we expect to still be within these tolerances |
| 328 despite the lack of channel correction. | 328 despite the lack of channel correction. |
| 329 | |
| 330 In vivo approach: tried and failed | |
| 331 ================================== | |
| 332 | |
| 333 Before I figured out the format of Mot/Compal's factory calibration records in | |
| 334 their flash and wrote the c1xx-calextr "in vitro" extraction and conversion | |
| 335 tool, I tried an "in vivo" approach: reading the calibration values out from | |
| 336 the running firmware via TI's L1/RF Test Mode commands which are still present | |
| 337 in Mot/Compal's fw. This approach successfully yielded the tables of Tx ramp | |
| 338 templates which are calibrated per design rather than per unit and thus compiled | |
| 339 into the fw and not present in the per-unit factory calibration records (these | |
| 340 extracted Tx ramps tables are now used by FC Magnetite fw when built for the | |
| 341 C139 target), but does not help with much of anything else: | |
| 342 | |
| 343 * One can read the calibrated Tx levels table (rftr 16) for the low frequency | |
| 344 band (850 or 900 MHz), but not for the high (1800 or 1900 MHz) band: in order | |
| 345 to access the tables for the high band, one needs to issue an rfpw 7 command, | |
| 346 but in Mot/Compal's version the latter command only loads the compiled-in | |
| 347 tables and does not apply their non-TI calibration records. | |
| 348 | |
| 349 * The Rx agcparams table returned in response to rftr 31 always has the GMagic | |
| 350 field set to the fw's compiled-in value and not the calibrated one. | |
| 351 | |
| 352 * The Rx calchan table (which Mot/Compal enlarged from 10 to 63 entries as | |
| 353 explained earlier in this article) cannot be read out at all: the rftr 25 | |
| 354 command crashes the firmware, probably via a buffer overflow from the | |
| 355 enlarged table. | |
| 356 | |
| 357 * The Tx calchan table can be read out with rftr 17, but it does not make any | |
| 358 sense: it still has 4 copies of a table of 8 subbands like in TI's canon, | |
| 359 even though when we look at their factory calibration records, we can clearly | |
| 360 see that the table of Tx channel correction values is also enlarged. But the | |
| 361 correction values themselves are centered around 0 in this strange table | |
| 362 returned in response to rftr 17, and not around 128 like in TI's canon. | |
| 363 | |
| 364 The fc-readcal utility was written before c1xx-calextr, and it was my original | |
| 365 idea of how to extract Mot/Compal's factory RF calibration values. It features | |
| 366 a -c command line option for "Compal mode" which disables the reading of Rx | |
| 367 calchan and Tx calchan tables via rftr 25 and rftr 17, respectively (the former | |
| 368 crashes the fw, the latter has the wrong semantics), but because it issues | |
| 369 rfpw 7 commands for each band preceded by tms 1, it will only yield the | |
| 370 firmware's compiled-in values, and not any of the factory-calibrated ones. | |
| 371 | |
| 372 Therefore, the fc-readcal method should not be used, and the c1xx-calextr method | |
| 373 described in the main body of this article should be used instead. |
