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.