When writing NV items within a QCN file to the phone, NV items that are already in the phone remain.
If there is an NV item in QCN file, its value will overwrite the value of the same NV item in the phone, if that NV item is in the phone.
And of course, if an NV item is in the QCN file, but not in the phone, it will be written to the phone when the QCN file is written to the phone.
But if an NV item is in the phone, but not in the QCN file, that NV item will remain in the phone -- unchanged -- when the new QCN file is written to the phone.
As part of manufacturing process, customer will need to load a list of "static" NV items to the phone, based on their phone's design.
This list of static NV items is the same for all phones of that design.
Typically, this list of static NV items is loaded onto the phone in the same manufacturing step where the AMSS software image is first loaded onto the phone.
The list of static NV items contains things such as LNA rise/fall switchpoints, PA rise/fall switchpoints, ENC_INIT_BTF items, TX_LIM_VS_TEMP items, PA_R_MAP items, RF_HW_CONFIG and other configuration items, and quite simply any NV items that are the same for all phones of that design.
The QCN file found in the AMSS ...\drivers\rf\qcn directory contains "example" static NV items.
Some of these items might need to be changed based on customer particular phone design like PA rise/fall switchpoints, possibly the P1_RISE_FALL_OFF_I items settings, and possibly the TX_LIM_VS_TEMP settings (and possibly other items).
Items that customer should *not* modify are the LNA rise/fall switchpoints since they are dependent only on the chipset.
The QCN file found in the AMSS ...\drivers\rf\qcn also has some default values for some of the "measured" NV items. These are in place for development purposes.
For example, suppose customer has a phone board that just came back from PCB manufacturing, and they want to do some basic testing on it, and they don't care if it is calibrated well. Some of the default values of the "measured" items might be good enough such that the new phone board is able to make a call with a CDMA call box, even though its RF performance might be bad. But at least it is able to make a call.
For mass production, customer may wish to remove the "measured" NV items from the list of static NV items, since the measured NV items will be populated later, during factory floor calibration.
In factory floor calibration, each and every phone is calibrated for unique "measured" NV items.
QSPR is an example of a program that generates the "measured" NV items.
At the end of calibration, these measured NV items are stored on the phone, overwriting the values of any existing "measured" NV items. Examples of measured NV items are "VGA_GAIN_OFFSET, VGA_GAIN_OFFSET_VS_FREQ, LNA_#_OFFSET, LNA_#_OFFSET_VS_FREQ, TX_PDM_z, TX_LIN_z, the frequency components of TX_PWR_COMPz, EXP_HDET_VS_AGC, HDET_OFF, HDET_SPN, and INTELLICEIVER_CAL, IM2 related items, TX_LIM_VS_FREQ among others.
So in summary, the process is as follows:
(a) When the AMSS is put on the flash, also put a list of static NV items.
(b) Reboot the phone
(c) Send the phone through factory floor RF calibration. (where the measured items are then stored on the phone)
(d) reset the phone and perform final testing of the phone.
The static RF NV items are generated per build release based and are released in the folder ...\drivers\rf\qcn in .xml format.
Customer can use the NV Tools associated to QRCT (Tool -> NV Tools) to convert to .qcn format.
For detail procedure and description, please obtain QDART tool, then go to QDART Help -> Contents -> QRCT -> Using Phone Tools -> NV Tools.
very informative, yet difficult post (as I am just a beginner!)
ReplyDeleteI have a question about what is happening to NV items during:
Software updates (i.e. Verizon SUA)
Backup & Restore (i.e. adb backup & restore)
There are 70k+ NV items[1] : and they seem very crucial to Android System (i.e. IMEI).
So.. what is happening to these NV items during update or backup/restore?
Also, where are they located? Are NV items located in /efs folder?
Thank you very much for your time!